From d99ff112629109007663e1f70db4b5e80d08a660 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 3 Aug 2026 11:37:59 +0000 Subject: [PATCH] =?UTF-8?q?=C3=89cran=20d'accueil=20de=20la=20maquette=20?= =?UTF-8?q?=C2=AB=20Loki=20App=20=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reprend l'état d'accueil du fichier de design : marque, accroche « Bienvenue dans Loki », paragraphe sur l'exécution 100 % locale, et les huit pistes cliquables en pastilles arrondies. Les pistes pré-remplissent le composer au lieu d'être décoratives, et le compteur de conversations n'apparaît que s'il y en a. Remplace l'ancien état vide « PRÊT À TRAVAILLER ». Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SVay7z3y7q2gEe54ByAE6N --- frontend/src/panels/ChatPanel.tsx | 68 +++++++++++++++++++++++++++---- 1 file changed, 60 insertions(+), 8 deletions(-) diff --git a/frontend/src/panels/ChatPanel.tsx b/frontend/src/panels/ChatPanel.tsx index 2ed87af..bf93896 100644 --- a/frontend/src/panels/ChatPanel.tsx +++ b/frontend/src/panels/ChatPanel.tsx @@ -84,14 +84,10 @@ export function ChatPanel() { {/* Messages */}
{empty ? ( -
- -
PRÊT À TRAVAILLER
-
- Décris une tâche à l'agent. Outils fichiers et aperçu en direct - disponibles. -
-
+ setDraft(text)} + /> ) : (
{messages.map((m) => ( @@ -174,6 +170,62 @@ export function ChatPanel() { ); } +/** Pistes proposées sur l'écran d'accueil (maquette « Loki App »). */ +const STARTERS = [ + ["📄", "Résumer un dossier", "Résume le contenu du dossier "], + ["🐞", "Corriger un bug", "Corrige le bug suivant : "], + ["✏️", "Refactorer un fichier", "Refactore le fichier "], + ["⌨️", "Écrire un script", "Écris un script qui "], + ["🔍", "Chercher dans le code", "Cherche dans le code "], + ["📊", "Analyser un CSV", "Analyse le fichier CSV "], + ["🌿", "Préparer un commit", "Prépare un commit pour "], + ["📥", "Générer un rapport", "Génère un rapport sur "], +] as const; + +/** Écran d'accueil : accroche, pistes cliquables, renvoi vers l'historique. */ +function Welcome({ + sessionCount, + onPick, +}: { + sessionCount: number; + onPick: (text: string) => void; +}) { + return ( +
+ +

+ Bienvenue dans Loki +

+

+ Choisissez une piste ci-dessous, ou écrivez directement votre demande. + Tout s'exécute sur cette machine, aucune donnée ne sort. +

+ +
+ {STARTERS.map(([icon, label, prefill]) => ( + + ))} +
+ + {sessionCount > 0 && ( +
+ + {sessionCount} conversation{sessionCount > 1 ? "s" : ""} enregistrée + {sessionCount > 1 ? "s" : ""} localement + +
+ )} +
+ ); +} + /** Plan d'exécution affiché avant le travail de l'agent. */ const MODES = [ { id: "plan", label: "Plan", icon: "🔍", desc: "Lecture seule : analyse et propose, sans rien modifier" },