feat: filtre par page, multi-courbes chart, tri alphabétique options

- Ajout filtre multiselect par page(s) dans le dashboard analytics
- Chart multi-courbes par page quand aucun filtre page sélectionné
- Options de pages indépendantes du filtre page (persistent à la sélection)
- Options de pages dépendantes du filtre utilisateur
- Tracking modal-file avec format "Projet / Label" dans dialog.js
- Tri alphabétique des options du filtre par page
- Fix user list 500 error (email string, client field check)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
isUnknown 2026-03-03 11:53:50 +01:00
parent de104dc7dd
commit 084bb46379
6 changed files with 157 additions and 55 deletions

View file

@ -2,6 +2,7 @@ import { defineStore } from 'pinia';
import { ref, computed, watch } from 'vue';
import { useRoute } from 'vue-router';
import { useAnalyticsStore } from './analytics';
import { usePageStore } from './page';
export const useDialogStore = defineStore('dialog', () => {
const content = ref(null);
@ -153,11 +154,14 @@ export const useDialogStore = defineStore('dialog', () => {
watch(openedFile, (newFile) => {
if (newFile) {
const analytics = useAnalyticsStore();
const pageStore = usePageStore();
const currentPath = route.path;
const projectTitle = pageStore.page?.title || 'Projet';
const fileLabel = newFile.label?.length ? newFile.label : (newFile.name || newFile.filename);
analytics.trackVisit(
`${currentPath}#file-${newFile.uuid}`,
'modal-file',
newFile.name || newFile.filename
`${projectTitle} / ${fileLabel}`
);
}
});