fix(sidebar): style console, statut dans le titre, composer console, synchro domaine #35

Merged
bruno merged 2 commits from fix/sidebar-console-style-domaine into main 2026-10-28 09:28:51 -04:00
Owner

Sidebar Spark : même style que la console, et synchro domaine

Le panneau latéral (frontend/draco-panneau.js + draco-panneau.css) reprend le langage visuel de la console, et corrige le fait que changer de domaine dans le site ne changeait rien au chat en cours.

Style / épuré

  • La barre d'état séparée (« ● Connecté au service — admin ») est supprimée : le point de statut et le texte vivent désormais dans le sous-titre de l'en-tête, sous « Spark — agent commun ». Une rangée de moins, même information.
  • Le texte sous la zone de saisie (« Conversation réelle, sous-agents (J3)… ») est supprimé.
  • Le pied perd sa bordure et reprend le fond de la zone de messages, comme la console : seule la pilule du composer se détache.

Barre de saisie identique à la console

  • Pilule arrondie, mêmes fonctions : bouton + (images PNG/JPEG/GIF/WebP, documents PDF/DOCX/ODT/TXT/MD/HTML/CSV, 4 pièces max, 5 Mo image / 10 Mo document), textarea auto-extensible (1 à ~6 lignes, Entrée = envoyer, Maj+Entrée = saut de ligne), micro de dictée (Web Speech API, fr-CA, rangée d'enregistrement avec annuler / stop / envoyer) affiché seulement sans texte ni pièce et si le navigateur le supporte, bouton d'envoi rond bleu ↑ affiché seulement avec texte ou pièce.
  • Les 3 puces de la console au-dessus du composer : « Résumer ma journée », « Où en sont mes projets ? », « Chercher partout… » (mêmes messages pré-remplis que la console).
  • Les pièces partent avec le message vers POST /api/v1/chat (même champ donnees_base64 que la console) et s'affichent dans la bulle utilisateur.

Domaine Pro / Famille / Personnel

Cause : le panneau ne rechargeait ses discussions qu'à sa première construction ; à chaque réouverture il gardait la conversation mémorisée, et l'iframe console gardait l'URL de son premier chargement. De plus la console, sur une autre origine, ne voit pas le localStorage de l'app hôte.

  • À chaque ouverture du panneau, si le domaine a changé, les discussions sont rechargées et on retombe sur la discussion principale du nouveau domaine (jamais une discussion d'un autre domaine).
  • Même resynchro sur changement de domaine dans un autre onglet (storage) et au retour du mode console.
  • L'URL console passe désormais ?domain= en plus de ?disc= et ?app= ; l'iframe n'est rechargée que si sa cible (discussion, domaine ou app) a changé, sinon son état est conservé.
  • Côté console : voir la PR agent-commun associée (fix/console-domaine-url), qui honore ?domain=.

À recopier

Comme les lots précédents, les apps hôtes qui embarquent leur propre copie de draco-panneau.js / draco-panneau.css doivent recopier ces deux fichiers pour bénéficier du changement.

Vérification

  • node --check OK sur draco-panneau.js.
  • Fichiers de la branche re-téléchargés et identiques aux fichiers poussés.
  • Non testé en navigateur ici : à valider par Bruno (changer de domaine puis rouvrir le panneau, puis la console ; vérifier la pilule, les pièces et la dictée).

Non mergée, en attente du go de Bruno.

## Sidebar Spark : même style que la console, et synchro domaine Le panneau latéral (`frontend/draco-panneau.js` + `draco-panneau.css`) reprend le langage visuel de la console, et corrige le fait que changer de domaine dans le site ne changeait rien au chat en cours. ### Style / épuré - La barre d'état séparée (« ● Connecté au service — admin ») est supprimée : le point de statut et le texte vivent désormais dans le sous-titre de l'en-tête, sous « Spark — agent commun ». Une rangée de moins, même information. - Le texte sous la zone de saisie (« Conversation réelle, sous-agents (J3)… ») est supprimé. - Le pied perd sa bordure et reprend le fond de la zone de messages, comme la console : seule la pilule du composer se détache. ### Barre de saisie identique à la console - Pilule arrondie, mêmes fonctions : bouton + (images PNG/JPEG/GIF/WebP, documents PDF/DOCX/ODT/TXT/MD/HTML/CSV, 4 pièces max, 5 Mo image / 10 Mo document), textarea auto-extensible (1 à ~6 lignes, Entrée = envoyer, Maj+Entrée = saut de ligne), micro de dictée (Web Speech API, fr-CA, rangée d'enregistrement avec annuler / stop / envoyer) affiché seulement sans texte ni pièce et si le navigateur le supporte, bouton d'envoi rond bleu ↑ affiché seulement avec texte ou pièce. - Les 3 puces de la console au-dessus du composer : « Résumer ma journée », « Où en sont mes projets ? », « Chercher partout… » (mêmes messages pré-remplis que la console). - Les pièces partent avec le message vers `POST /api/v1/chat` (même champ `donnees_base64` que la console) et s'affichent dans la bulle utilisateur. ### Domaine Pro / Famille / Personnel Cause : le panneau ne rechargeait ses discussions qu'à sa première construction ; à chaque réouverture il gardait la conversation mémorisée, et l'iframe console gardait l'URL de son premier chargement. De plus la console, sur une autre origine, ne voit pas le `localStorage` de l'app hôte. - À chaque ouverture du panneau, si le domaine a changé, les discussions sont rechargées et on retombe sur la discussion principale du nouveau domaine (jamais une discussion d'un autre domaine). - Même resynchro sur changement de domaine dans un autre onglet (`storage`) et au retour du mode console. - L'URL console passe désormais `?domain=` en plus de `?disc=` et `?app=` ; l'iframe n'est rechargée que si sa cible (discussion, domaine ou app) a changé, sinon son état est conservé. - Côté console : voir la PR agent-commun associée (`fix/console-domaine-url`), qui honore `?domain=`. ### À recopier Comme les lots précédents, les apps hôtes qui embarquent leur propre copie de `draco-panneau.js` / `draco-panneau.css` doivent recopier ces deux fichiers pour bénéficier du changement. ### Vérification - `node --check` OK sur `draco-panneau.js`. - Fichiers de la branche re-téléchargés et identiques aux fichiers poussés. - Non testé en navigateur ici : à valider par Bruno (changer de domaine puis rouvrir le panneau, puis la console ; vérifier la pilule, les pièces et la dictée). Non mergée, en attente du go de Bruno.
bruno added 2 commits 2026-10-28 08:50:00 -04:00
fix(sidebar): CSS composer console, statut dans le titre, pied épuré
CI / lint (pull_request) Failing after 1s
CI / security (pull_request) Failing after 0s
CI / test (pull_request) Skipped
CI / build (pull_request) Skipped
CI / e2e (pull_request) Skipped
dcec510451
bruno merged commit 8e3eb3a9d7 into main 2026-10-28 09:28:51 -04:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Projets/ObsiGate#35