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:
co-authored by
Claude Opus 5.5
parent
80f69565aa
commit
4c57f30f6a
@@ -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) } },
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user