Files
nav-carte/composables/useChatProfondeur.ts
T
Jules NenyandClaude Opus 5.5 4c57f30f6a 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
2026-10-09 03:49:56 +02:00

14 lines
700 B
TypeScript

/**
* 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) } },
})
}