diff --git a/components/ChatModeBadge.vue b/components/ChatModeBadge.vue new file mode 100644 index 0000000..f5d62bf --- /dev/null +++ b/components/ChatModeBadge.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/components/ChatModeToggle.vue b/components/ChatModeToggle.vue new file mode 100644 index 0000000..736ccbd --- /dev/null +++ b/components/ChatModeToggle.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/composables/useChatProfondeur.ts b/composables/useChatProfondeur.ts new file mode 100644 index 0000000..e475692 --- /dev/null +++ b/composables/useChatProfondeur.ts @@ -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>('aep-chat-profondeur', () => ({})) + return computed({ + get: () => store.value[k()] ?? CHAT_PROFONDEUR_DEFAUT, + set: (v) => { store.value = { ...store.value, [k()]: normaliserProfondeur(v) } }, + }) +}