Compare commits

..

No commits in common. "cd1b374d103697d794d53da0322c0b6989e925b6" and "059fb0e5b0823857e75ac8628948441751cca84c" have entirely different histories.

8 changed files with 23 additions and 38 deletions

View file

@ -15,8 +15,8 @@
</router-link> </router-link>
</h3> </h3>
<p> <p>
{{ t('dates.updatedOn') }} Dernière mise à jour le
<time :datetime="project.modified">{{ formattedModified }}</time> <time :datetime="project.modified">{{ frenchFormattedModified }}</time>
</p> </p>
</hgroup> </hgroup>
<img :src="project.logo" alt="Logo" class="project-logo | rounded-sm" /> <img :src="project.logo" alt="Logo" class="project-logo | rounded-sm" />
@ -42,17 +42,17 @@
<script setup> <script setup>
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import 'dayjs/locale/fr'; import 'dayjs/locale/fr';
import 'dayjs/locale/en';
import { computed } from 'vue';
import { useProjectStore } from '../../stores/project'; import { useProjectStore } from '../../stores/project';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
dayjs.locale('fr');
const { project } = defineProps({ project: Object }); const { project } = defineProps({ project: Object });
const { stepsLabels, setStatus, isEmptyBrief } = useProjectStore(); const frenchFormattedModified = dayjs(project.modified).format(
const { t, locale } = useI18n(); 'dddd D MMMM YYYY'
const formattedModified = computed(() =>
dayjs(project.modified).locale(locale.value).format('dddd D MMMM YYYY')
); );
const { stepsLabels, setStatus, isEmptyBrief } = useProjectStore();
const { t } = useI18n();
</script> </script>

View file

@ -10,7 +10,7 @@
class="flex flex-col | bg-white | border border-grey-200 | text-grey-800 | font-medium | rounded-2xl" class="flex flex-col | bg-white | border border-grey-200 | text-grey-800 | font-medium | rounded-2xl"
@click="isAddImagesModalOpen = true" @click="isAddImagesModalOpen = true"
> >
{{ t('forms.addImages') }} Ajouter une ou plusieurs images
</button> </button>
<template v-for="image in page.moodboard" :key="image.uri"> <template v-for="image in page.moodboard" :key="image.uri">
<figure <figure
@ -52,13 +52,11 @@
import Header from "./Header.vue"; import Header from "./Header.vue";
import { usePageStore } from "../../../stores/page"; import { usePageStore } from "../../../stores/page";
import { ref } from "vue"; import { ref } from "vue";
import { useI18n } from "vue-i18n";
import ImageDetailsModal from "./ImageDetailsModal.vue"; import ImageDetailsModal from "./ImageDetailsModal.vue";
import AddImagesModal from "./add-images-modal/AddImagesModal.vue"; import AddImagesModal from "./add-images-modal/AddImagesModal.vue";
import { storeToRefs } from "pinia"; import { storeToRefs } from "pinia";
const { page } = storeToRefs(usePageStore()); const { page } = storeToRefs(usePageStore());
const { t } = useI18n();
const selectedTags = ref([]); const selectedTags = ref([]);
const imageDetails = ref(null); const imageDetails = ref(null);

View file

@ -26,7 +26,7 @@
<textarea <textarea
name="image-description" name="image-description"
id="image-description" id="image-description"
:placeholder="t('forms.imageDescriptionPlaceholder')" placeholder="Ajoutez une description à cette image…"
rows="3" rows="3"
class="border border-grey-200 | rounded-xl | p-16 | w-full" class="border border-grey-200 | rounded-xl | p-16 | w-full"
v-model="image.description" v-model="image.description"
@ -34,7 +34,7 @@
</div> </div>
<fieldset class="image-details__filters | flex-1"> <fieldset class="image-details__filters | flex-1">
<legend class="text-sm text-grey-700 | mb-8"> <legend class="text-sm text-grey-700 | mb-8">
{{ t('forms.selectTags') }} Sélectionner un ou plusieurs tags
</legend> </legend>
<div class="flex" style="gap: var(--space-8)"> <div class="flex" style="gap: var(--space-8)">
<template v-for="tag in page.tags" :key="tag"> <template v-for="tag in page.tags" :key="tag">
@ -95,7 +95,7 @@
</template> </template>
</Accordion> </Accordion>
<button class="btn | w-full | mt-auto" @click="addImagesToBrief()"> <button class="btn | w-full | mt-auto" @click="addImagesToBrief()">
{{ t('buttons.addSelectedImages') }} Ajouter les images sélectionnées
</button> </button>
</div> </div>
</template> </template>
@ -109,10 +109,8 @@ import StringUtils from "../../../../utils/string";
import { storeToRefs } from "pinia"; import { storeToRefs } from "pinia";
import { useAddImagesModalStore } from "../../../../stores/addImagesModal"; import { useAddImagesModalStore } from "../../../../stores/addImagesModal";
import { computed } from "vue"; import { computed } from "vue";
import { useI18n } from "vue-i18n";
const { page } = storeToRefs(usePageStore()); const { page } = storeToRefs(usePageStore());
const { t } = useI18n();
const { activeTab } = storeToRefs(useAddImagesModalStore()); const { activeTab } = storeToRefs(useAddImagesModalStore());

View file

@ -3,7 +3,7 @@
<time <time
class="card__date | text-grey-700" class="card__date | text-grey-700"
:datetime="dayjs(date).format('YYYY-M-DD')" :datetime="dayjs(date).format('YYYY-M-DD')"
>{{ dayjs(date).locale(locale).format("DD MMMM YYYY") }}</time >{{ dayjs(date).format("DD MMMM YYYY") }}</time
> >
</div> </div>
</template> </template>
@ -11,9 +11,6 @@
<script setup> <script setup>
import dayjs from "dayjs"; import dayjs from "dayjs";
import "dayjs/locale/fr"; import "dayjs/locale/fr";
import "dayjs/locale/en";
import { useI18n } from "vue-i18n";
const { date } = defineProps({ date: String }); const { date } = defineProps({ date: String });
const { locale } = useI18n();
</script> </script>

View file

@ -87,7 +87,7 @@ const tracks = computed(() => {
for (const key in raw) { for (const key in raw) {
list.push({ list.push({
title: key === 'Autres pistes' ? t('virtualSample.otherTracks') : key, title: key,
slug: slugify(key), slug: slugify(key),
variations: raw[key] || [], variations: raw[key] || [],
}); });

View file

@ -70,12 +70,11 @@
"loopAnimation": "Loop animation", "loopAnimation": "Loop animation",
"stopAnimation": "Stop animation", "stopAnimation": "Stop animation",
"compareTracks": "Compare tracks", "compareTracks": "Compare tracks",
"exitCompare": "Exit compare mode", "exitCompare": "Exit compare mode"
"addSelectedImages": "Add selected images"
}, },
"forms": { "forms": {
"email": "Email", "email": "Email",
"emailPlaceholder": "email{'@'}example.com", "emailPlaceholder": "email@example.com",
"password": "Password", "password": "Password",
"passwordPlaceholder": "Minimum 8 characters", "passwordPlaceholder": "Minimum 8 characters",
"newPassword": "New password", "newPassword": "New password",
@ -95,8 +94,7 @@
"tags": "Tags", "tags": "Tags",
"selectVariation": "Select a variation", "selectVariation": "Select a variation",
"uploadedFiles": "Uploaded files", "uploadedFiles": "Uploaded files",
"addImages": "Add one or more images", "addImages": "Add one or more images"
"selectTags": "Select one or more tags"
}, },
"auth": { "auth": {
"login": "Login", "login": "Login",
@ -186,8 +184,7 @@
"dynamicPresentation": "Dynamic presentation", "dynamicPresentation": "Dynamic presentation",
"staticView": "Static view", "staticView": "Static view",
"noContent": "Content not available for this track", "noContent": "Content not available for this track",
"selectToCompare": "Select the track you want to compare", "selectToCompare": "Select the track you want to compare"
"otherTracks": "Other tracks"
}, },
"errors": { "errors": {
"saveFailed": "Save failed", "saveFailed": "Save failed",

View file

@ -70,12 +70,11 @@
"loopAnimation": "Animation en boucle", "loopAnimation": "Animation en boucle",
"stopAnimation": "Arrêter l'animation", "stopAnimation": "Arrêter l'animation",
"compareTracks": "Comparer les pistes", "compareTracks": "Comparer les pistes",
"exitCompare": "Quitter le mode comparer", "exitCompare": "Quitter le mode comparer"
"addSelectedImages": "Ajouter les images sélectionnées"
}, },
"forms": { "forms": {
"email": "Email", "email": "Email",
"emailPlaceholder": "mail{'@'}exemple.com", "emailPlaceholder": "mail@exemple.com",
"password": "Mot de passe", "password": "Mot de passe",
"passwordPlaceholder": "Minimum 8 caractères", "passwordPlaceholder": "Minimum 8 caractères",
"newPassword": "Nouveau mot de passe", "newPassword": "Nouveau mot de passe",
@ -95,8 +94,7 @@
"tags": "Tags", "tags": "Tags",
"selectVariation": "Sélectionnez une déclinaison", "selectVariation": "Sélectionnez une déclinaison",
"uploadedFiles": "Fichiers importés", "uploadedFiles": "Fichiers importés",
"addImages": "Ajouter une ou plusieurs images", "addImages": "Ajouter une ou plusieurs images"
"selectTags": "Sélectionner un ou plusieurs tags"
}, },
"auth": { "auth": {
"login": "Connexion", "login": "Connexion",
@ -186,8 +184,7 @@
"dynamicPresentation": "Présentation dynamique", "dynamicPresentation": "Présentation dynamique",
"staticView": "Vue statique", "staticView": "Vue statique",
"noContent": "Contenu non disponible pour cette piste", "noContent": "Contenu non disponible pour cette piste",
"selectToCompare": "Sélectionnez sur la piste que vous souhaitez comparer", "selectToCompare": "Sélectionnez sur la piste que vous souhaitez comparer"
"otherTracks": "Autres pistes"
}, },
"errors": { "errors": {
"saveFailed": "Erreur lors de la sauvegarde", "saveFailed": "Erreur lors de la sauvegarde",

View file

@ -52,8 +52,6 @@ export const useProjectsStore = defineStore('projects', () => {
isProjectsLoading.value = false; isProjectsLoading.value = false;
projects.value = json.page.children; projects.value = json.page.children;
// }, 3000); // }, 3000);
}).catch(() => {
isProjectsLoading.value = false;
}); });
// Functions // Functions