feat(chatbot): composant ChatModeToggle (radiogroup) et état partagé du mode

Toggle sobre 2 options (role radiogroup, flèches/Home/End, focus visible,
reduced-motion), étiquette de mode sur les réponses approfondies, et
useChatProfondeur (état par clé, desktop et mobile synchronisés). Libellés lus
dans utils/chatProfondeur.ts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vcVGz8i4WpZm2dixKUiSD
This commit is contained in:
Jules Neny
2026-10-09 03:49:56 +02:00
co-authored by Claude Opus 5.5
parent 80f69565aa
commit 4c57f30f6a
3 changed files with 114 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
/**
* Mode de profondeur courant d'un chatbot (M3). État partagé par clé via useState :
* desktop et mobile d'un même chatbot (clés 'accueil', 'agences'…) restent synchronisés.
* Volontairement non persisté : le mode est un choix par question, 'rapide' à chaque visite.
*/
export function useChatProfondeur(key: string | (() => string) = 'defaut') {
const k = typeof key === 'function' ? key : () => key
const store = useState<Record<string, ChatProfondeur>>('aep-chat-profondeur', () => ({}))
return computed<ChatProfondeur>({
get: () => store.value[k()] ?? CHAT_PROFONDEUR_DEFAUT,
set: (v) => { store.value = { ...store.value, [k()]: normaliserProfondeur(v) } },
})
}