Commit graph

96 commits

Author SHA1 Message Date
isUnknown
82eb8d88cc Implémentation complète du multilingue FR/EN
- Installation vue-i18n v11 et création des fichiers de traduction (fr.json, en.json)
- Création store locale avec détection hiérarchique (URL > localStorage > navigator)
- Modification des routes avec préfixe /:locale? optionnel
- Toggle FR/EN dans Menu.vue avec synchronisation immédiate
- Traduction de ~200 textes dans 27 composants Vue
- Suppression des labels hardcodés en français côté backend
- Ajout route Kirby catch-all en/(:all?) pour /en/ URLs
- Helper addLocalePrefix() pour préserver locale dans liens dialogs
- Traduction pseudo-élément CSS via data attribute

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 18:31:37 +01:00
isUnknown
89c1cb24c0 Fix persistance et format des projets masqués
All checks were successful
Deploy Preprod / Build and Deploy to Preprod (push) Successful in 29s
- Route toggle-hidden-project : utilisation collection Pages avec add/remove
  puis toArray() + encode YAML (pattern de toggle-favorite)
- Controller site.php : ->values() au lieu de ->data pour retourner
  un vrai tableau au lieu d'un objet

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-30 11:48:53 +01:00
isUnknown
30b7697c64 Ajout masquage de projets pour utilisateurs Pochet
All checks were successful
Deploy Preprod / Build and Deploy to Preprod (push) Successful in 28s
Backend :
- Blueprint pochet : champ hiddenProjects
- Route API toggle-hidden-project.php
- Controller site.php : retourne hiddenProjects + uuid dans projects

Frontend :
- Store user : hiddenProjects, visibleProjects, toggleHiddenProject()
- Store projects : filtrage automatique des projets masqués
- Store api : fonction toggleHiddenProject()
- Account.vue : section projets avec cartes horizontales + boutons toggle
  - Affichage pour Pochet (avec toggle) et Client (sans toggle)
  - Section client masquée pour Pochet

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-30 11:27:27 +01:00
isUnknown
78ac0940d0 config : enable panel install on production
Some checks failed
Deploy Preprod / Build and Deploy to Preprod (push) Failing after 28s
2026-01-30 08:02:50 +01:00
isUnknown
2791bc4462 Ajout invalidation cache notifications dans hook file-update
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-15 11:42:40 +01:00
isUnknown
bb71da081b Ajout du système de cache pour les notifications
Problème : Les notifications étaient collectées à chaque requête sur
projects.json, causant des problèmes de performance et de mémoire.

Solution : Mise en cache des notifications par projet et par utilisateur
- Nouvelle méthode getNotificationsLight() dans ProjectPage avec cache
- Cache invalidé automatiquement via les hooks existants (page/file update)
- Cache par utilisateur pour inclure le isRead spécifique

Performance : Les notifications sont calculées une fois puis servies depuis
le cache jusqu'à ce qu'un changement survienne (commentaire, brief, etc.)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-15 11:42:20 +01:00
isUnknown
6ff59e9b07 Fix : URL correcte pour notifications de brief validé depuis PDF + redirect briefs vides
Problème 1 : Les notifications de brief validé depuis un PDF renvoyaient vers
/projects/xxx/client-brief au lieu de l'URL complète avec dialog et fileIndex.

Problème 2 : Les URL /projects/xxx/client-brief pour des briefs non créés
affichaient une page vide au lieu de rediriger vers le kanban.

Solutions :
- Stocker validationDialogUri lors de la validation du brief
- Utiliser ce dialogUri dans ContentProvider et Notifications.vue
- Rediriger vers le projet parent si brief vide et non validé

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-15 10:44:30 +01:00
isUnknown
a7d315942a Refonte du système de notifications : passage aux notifications dérivées
Remplace le système de notifications stockées par un système de providers
qui dérivent les notifications des données existantes (commentaires, réponses,
demandes de projet, demandes de rendez-vous, validations de brief).

- Ajout du NotificationCollector et de l'interface NotificationProvider
- Création de 5 providers : Comment, Reply, ProjectRequest, AppointmentRequest, Content
- Métadonnées de notifications stockées directement sur les entités source
- Nouvelles routes mark-as-read et mark-all-read
- Mise à jour du frontend pour le nouveau système
- Route de migration pour les données existantes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 10:31:31 +01:00
isUnknown
c6d973e126 CI : create specific build for preprod 2025-10-08 14:34:22 +02:00
isUnknown
28b99017fd update page after programmatic file remove (routes/remove-file.php) 2025-09-09 17:58:20 +02:00
isUnknown
0f911a7a93 custom login : long sessions 2025-09-09 08:21:11 +02:00
isUnknown
de2678d79c routing : remove panel.js and its redirections 2025-09-03 17:43:56 +02:00
isUnknown
d8fe9ad13a Merge branch 'account' into preprod 2025-09-03 11:01:27 +02:00
isUnknown
8580fead7a panel : fix hooks that refresh cache by mutualizing require 2025-06-17 12:24:17 +02:00
isUnknown
32d0752d78 panel : refresh cache on page status change 2025-06-17 12:13:38 +02:00
isUnknown
e6a27cdf0f cache : trigger regenerate cache on file update 2025-06-02 11:02:35 +02:00
isUnknown
8a9fb35034 fix cache and add template pdf to brief file 2025-05-28 17:10:08 +02:00
isUnknown
441323e0f5 fix cache 2025-05-27 11:39:20 +02:00
isUnknown
d1b7ca404d fix 2025-05-27 11:14:52 +02:00
isUnknown
1064432984 improve cache system 2025-05-26 13:48:04 +02:00
isUnknown
ca0ca3b2a2 fix cache problem 2025-05-22 15:35:53 +02:00
isUnknown
921eab5e7e update email working 2025-05-05 17:30:17 +02:00
isUnknown
074084f867 front > account : update password working 2025-05-05 17:23:55 +02:00
isUnknown
d15d4898c6 front > login : login page working 2025-05-02 17:02:13 +02:00
isUnknown
6b31d89e1d turn off debug conditionnaly 2025-04-30 14:45:30 +02:00
isUnknown
7815c8b49a #151 2025-04-30 14:43:38 +02:00
isUnknown
03b370285f fix #142 2025-03-20 11:07:11 +01:00
isUnknown
a04271e56d #142 2025-03-20 11:02:14 +01:00
isUnknown
da973da1ce add touch support for interactive 360 2025-02-26 16:23:32 +01:00
isUnknown
184ae580ba fix #123 2025-02-12 10:05:12 +01:00
isUnknown
965799cdbb fix login client problem. Add website link in info 2025-01-27 22:30:38 +01:00
isUnknown
bcaf287235 user role client : give access to panel account 2025-01-27 18:22:18 +01:00
isUnknown
85e3e7b2d4 appointment request notification working 2025-01-27 14:46:50 +01:00
isUnknown
54af78e32c DTL : optimization appointment request working 2025-01-27 14:40:14 +01:00
isUnknown
c75c5e1d8a project creation request notification working 2025-01-23 16:16:51 +01:00
isUnknown
c750001a2c project creation request form working 2025-01-23 15:31:28 +01:00
a880205e1d Rename Design to light > Design to Light 2025-01-23 12:26:10 +01:00
isUnknown
c2314e6b8e design to light button and panel working without indicators 2025-01-22 13:25:34 +01:00
isUnknown
5a80cfaa81 create design to light page structure and content 2025-01-21 17:50:59 +01:00
isUnknown
aeb5bf63c9 panel : remove useless menu items 2025-01-15 16:41:02 +01:00
isUnknown
495e1c024e read content notification on click 2025-01-15 16:27:09 +01:00
isUnknown
cf0d4b7c6f fix #87 2025-01-07 11:33:32 +01:00
isUnknown
dd8d9c7fa1 panel > create new projet : set default step to client brief 2024-12-20 09:39:20 +01:00
isUnknown
cdeebbf8c8 finish client brief step 2024-12-20 07:19:46 +01:00
isUnknown
c578538fe0 #59 2024-12-19 19:27:38 +01:00
isUnknown
94c5737245 content notification read working 2024-12-19 10:32:48 +01:00
isUnknown
fa36c9ef4a #68 - finish notification class. Content notification on validate brief working 2024-12-18 13:56:21 +01:00
isUnknown
f99e33f80e read notification on click working 2024-12-16 18:14:14 +01:00
isUnknown
24dbf5bf8d fix #32 2024-12-16 17:25:52 +01:00
ec789a523a Add panel.js 2024-11-27 12:23:56 +01:00