Files
PinchChat/FEEDBACK.md
Nicolas Varrot 9b3aed4adc feat: add runtime language selector in header (EN/FR toggle)
- Add LanguageSelector component with globe icon + cycle button
- Refactor i18n to support reactive locale switching via useSyncExternalStore
- Locale priority: localStorage > VITE_LOCALE > navigator.language > 'en'
- All components now use useT() hook for reactive re-rendering on locale change
- Persists choice to localStorage (key: pinchchat-locale)
- No page reload needed — instant switch
2026-02-11 16:18:22 +00:00

53 lines
2.1 KiB
Markdown

# FEEDBACK.md — PinchChat Feedback Queue
## Item #1
- **Date:** 2026-02-11
- **Priority:** high
- **Status:** done
- **Completed:** 2026-02-11 — commit `d58c34f`
- **Description:** Migrer le projet de "ClawChat" vers "PinchChat"
## Item #2
- **Date:** 2026-02-11
- **Priority:** high
- **Status:** done
- **Completed:** 2026-02-11 — commit `8834b2a`
- **Description:** Filtrer les messages "NO_REPLY"
## Item #3
- **Date:** 2026-02-11
- **Priority:** medium
- **Status:** done
- **Completed:** 2026-02-11 — commit `99b7db9`
- **Description:** i18n support
## Item #4
- **Date:** 2026-02-11
- **Priority:** high
- **Status:** done
- **Completed:** 2026-02-11 — commit `36f9480`
- **Description:** Runtime login screen
## Item #5
- **Date:** 2026-02-11
- **Priority:** high
- **Status:** pending
- **Description:** Ajouter un sélecteur de langue dans l'UI
- Un petit toggle/dropdown dans le header ou le login screen pour choisir la langue (EN/FR)
- Stocker le choix en localStorage (priorité sur `VITE_LOCALE` et le locale du navigateur)
- Ordre de priorité : localStorage > VITE_LOCALE > navigator.language > 'en'
- Le changement doit être immédiat (pas de reload nécessaire si possible, sinon reload OK)
- Garder ça minimaliste — juste un petit 🌐 ou drapeau dans le header
## Item #6
- **Date:** 2026-02-11
- **Priority:** high
- **Status:** pending
- **Description:** Installation simplifiée — Docker + oneliner
- **Dockerfile** : image légère (nginx:alpine ou similar) qui sert le build statique. Multi-stage : node pour build, nginx pour serve. Pas de secrets dans l'image (tout est runtime via le login screen).
- **docker-compose.yml** : exemple simple avec juste le container PinchChat
- **Publier l'image sur ghcr.io** : `ghcr.io/marlburrow/pinchchat:latest` — le CI GitHub Actions doit build & push l'image à chaque push sur main
- **Oneliner** : `docker run -p 3000:80 ghcr.io/marlburrow/pinchchat:latest` dans le README
- Alternative sans Docker : `npx pinchchat` ou un script curl qui télécharge le dernier release (build statique) et lance un serveur
- Mettre à jour le README avec les nouvelles méthodes d'installation