diff --git a/messages/de.json b/messages/de.json index 8a3a5fb4c..131190eb0 100644 --- a/messages/de.json +++ b/messages/de.json @@ -2094,7 +2094,7 @@ "send": "Senden", "stop": "Stopp", "thinking": "Denke nach…", - "composerPlaceholder": "Frag mich etwas zu deinen Daten…", + "composerPlaceholder": "Frag mich etwas …", "nudgeBubbleLabel": "Neue Nachricht vom Coach — Chat öffnen", "fabLabel": "Coach öffnen", "readAloud": "Vorlesen", diff --git a/messages/en.json b/messages/en.json index 06b38c3e8..8ac83d7c3 100644 --- a/messages/en.json +++ b/messages/en.json @@ -2094,7 +2094,7 @@ "send": "Send", "stop": "Stop", "thinking": "Thinking…", - "composerPlaceholder": "Ask anything about your data…", + "composerPlaceholder": "Ask me anything …", "nudgeBubbleLabel": "New message from the Coach — open chat", "fabLabel": "Open the Coach", "readAloud": "Read aloud", diff --git a/messages/es.json b/messages/es.json index 0b49cd985..20fdb7c66 100644 --- a/messages/es.json +++ b/messages/es.json @@ -2094,7 +2094,7 @@ "send": "Enviar", "stop": "Detener", "thinking": "Pensando…", - "composerPlaceholder": "Pregúntame sobre tus datos…", + "composerPlaceholder": "Pregúntame algo …", "nudgeBubbleLabel": "Nuevo mensaje del coach — abrir el chat", "fabLabel": "Abrir el coach", "readAloud": "Leer en voz alta", diff --git a/messages/fr.json b/messages/fr.json index 971a1bbd8..4589b0b27 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -2094,7 +2094,7 @@ "send": "Envoyer", "stop": "Arrêter", "thinking": "Réflexion en cours…", - "composerPlaceholder": "Pose-moi une question sur tes données…", + "composerPlaceholder": "Pose ta question …", "nudgeBubbleLabel": "Nouveau message du coach — ouvrir le chat", "fabLabel": "Ouvrir le coach", "readAloud": "Lire à voix haute", diff --git a/messages/it.json b/messages/it.json index 4b762cd6b..07dd42fc6 100644 --- a/messages/it.json +++ b/messages/it.json @@ -2094,7 +2094,7 @@ "send": "Invia", "stop": "Interrompi", "thinking": "Sto pensando…", - "composerPlaceholder": "Chiedimi qualcosa sui tuoi dati…", + "composerPlaceholder": "Chiedimi pure …", "nudgeBubbleLabel": "Nuovo messaggio dal coach — apri la chat", "fabLabel": "Apri il coach", "readAloud": "Leggi ad alta voce", diff --git a/messages/pl.json b/messages/pl.json index 664af0d8d..1cf163931 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -2094,7 +2094,7 @@ "send": "Wyślij", "stop": "Zatrzymaj", "thinking": "Myślę…", - "composerPlaceholder": "Zapytaj o swoje dane…", + "composerPlaceholder": "Zapytaj mnie …", "nudgeBubbleLabel": "Nowa wiadomość od trenera — otwórz czat", "fabLabel": "Otwórz trenera", "readAloud": "Czytaj na głos", diff --git a/src/components/insights/coach-panel/__tests__/coach-input.test.tsx b/src/components/insights/coach-panel/__tests__/coach-input.test.tsx index d54280561..088e7d0f5 100644 --- a/src/components/insights/coach-panel/__tests__/coach-input.test.tsx +++ b/src/components/insights/coach-panel/__tests__/coach-input.test.tsx @@ -49,7 +49,7 @@ describe("", () => { const html = render( {}} onSubmit={() => {}} />, ); - expect(html).toContain("Ask anything about your data"); + expect(html).toContain("Ask me anything"); expect(html).not.toContain('data-slot="coach-input-hint"'); expect(html).not.toContain("Press Enter to send"); expect(html).toContain('data-slot="coach-input-send"'); @@ -60,7 +60,7 @@ describe("", () => { {}} onSubmit={() => {}} />, "de", ); - expect(html).toContain("Frag mich etwas zu deinen Daten"); + expect(html).toContain("Frag mich etwas"); }); it("disables the send button when the value is empty", () => { diff --git a/src/components/insights/coach-panel/coach-input.tsx b/src/components/insights/coach-panel/coach-input.tsx index dfa9540a0..31f01e4d6 100644 --- a/src/components/insights/coach-panel/coach-input.tsx +++ b/src/components/insights/coach-panel/coach-input.tsx @@ -567,6 +567,11 @@ export function CoachInput({ // scroll regions). Scoped here, not in globals.css. "[scrollbar-width:thin] [scrollbar-color:color-mix(in_srgb,var(--dracula-purple)_35%,transparent)_transparent]", "placeholder:text-muted-foreground disabled:opacity-60", + // Keep the placeholder a single line on narrow phones: a long + // hint used to wrap to two lines inside the one-row composer and + // read as a cramped block. Clip the PLACEHOLDER pseudo only — the + // textarea value still wraps and auto-grows for real typing. + "placeholder:overflow-hidden placeholder:text-ellipsis placeholder:whitespace-nowrap", )} /> {showHub ? (