diff --git a/messages/de.json b/messages/de.json
index c7befd31d..0a41fd0b5 100644
--- a/messages/de.json
+++ b/messages/de.json
@@ -5283,17 +5283,9 @@
"title": "Integrationen",
"subtitle": "Umami, GlitchTip, Web Push und Bug-Reports konfigurieren."
},
- "ai-quality": {
- "title": "Auswertungs-Qualität",
- "subtitle": "Hilfreichkeit nach Schweregrad und Provider — Nutzer-Feedback der letzten 30 Tage."
- },
- "assistant": {
- "title": "Assistenz-Oberflächen",
- "subtitle": "Jede modellgestützte Oberfläche separat ein- oder ausschalten, ohne die Provider-Konfiguration zu entfernen."
- },
- "coach-feedback": {
- "title": "Coach-Feedback",
- "subtitle": "Hilfreich-Quote pro Coach-Prompt-Version, Tonfall und Ausführlichkeit der letzten 30 Tage."
+ "coach": {
+ "title": "Coach",
+ "subtitle": "Assistenz-Oberflächen, Server-Schlüssel sowie die Feedback-Qualitäts-Tabellen für Coach und Auswertungen an einem Ort."
},
"feedback": {
"title": "Feedback",
diff --git a/messages/en.json b/messages/en.json
index 32385a1a4..86057cefd 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -5283,17 +5283,9 @@
"title": "Integrations",
"subtitle": "Configure Umami, GlitchTip, Web Push, and bug reports."
},
- "ai-quality": {
- "title": "Insights Quality",
- "subtitle": "Helpfulness scores grouped by severity and provider, from the last 30 days of user feedback."
- },
- "assistant": {
- "title": "Assistant Surfaces",
- "subtitle": "Toggle each model-driven surface on or off without removing the provider configuration."
- },
- "coach-feedback": {
- "title": "Coach Feedback",
- "subtitle": "Helpful-rate per Coach prompt version, tone, and verbosity from the last 30 days."
+ "coach": {
+ "title": "Coach",
+ "subtitle": "Assistant surfaces, server key, and the Coach and Insights feedback-quality tables in one place."
},
"feedback": {
"title": "Feedback",
diff --git a/messages/es.json b/messages/es.json
index 3d0c9e8a5..1e965f03e 100644
--- a/messages/es.json
+++ b/messages/es.json
@@ -5283,17 +5283,9 @@
"title": "Integraciones",
"subtitle": "Configura Umami, GlitchTip, Web Push e informes de errores."
},
- "ai-quality": {
- "title": "Calidad de los análisis",
- "subtitle": "Puntuaciones de utilidad agrupadas por gravedad y proveedor, de los últimos 30 días de comentarios de usuarios."
- },
- "assistant": {
- "title": "Superficies del asistente",
- "subtitle": "Activa o desactiva cada superficie impulsada por el modelo sin retirar la configuración del proveedor."
- },
- "coach-feedback": {
- "title": "Comentarios del Coach",
- "subtitle": "Tasa de utilidad por versión de prompt, tono y nivel de detalle del Coach de los últimos 30 días."
+ "coach": {
+ "title": "Coach",
+ "subtitle": "Superficies del asistente, clave del servidor y las tablas de calidad de comentarios del Coach y de los análisis, en un solo lugar."
},
"feedback": {
"title": "Comentarios",
diff --git a/messages/fr.json b/messages/fr.json
index fa30711b1..7cba3c12c 100644
--- a/messages/fr.json
+++ b/messages/fr.json
@@ -5283,17 +5283,9 @@
"title": "Intégrations",
"subtitle": "Configurez Umami, GlitchTip, Web Push et les rapports de bug."
},
- "ai-quality": {
- "title": "Qualité des analyses",
- "subtitle": "Scores d'utilité regroupés par gravité et fournisseur, sur les 30 derniers jours de retours utilisateurs."
- },
- "assistant": {
- "title": "Surfaces d'assistance",
- "subtitle": "Activer ou désactiver chaque surface pilotée par le modèle sans supprimer la configuration du fournisseur."
- },
- "coach-feedback": {
- "title": "Retours sur le Coach",
- "subtitle": "Taux d'utilité par version de prompt, ton et niveau de détail du Coach sur les 30 derniers jours."
+ "coach": {
+ "title": "Coach",
+ "subtitle": "Surfaces d'assistance, clé du serveur et les tableaux de qualité des retours du Coach et des analyses, au même endroit."
},
"feedback": {
"title": "Retours",
diff --git a/messages/it.json b/messages/it.json
index 11959a6f4..2d45152a9 100644
--- a/messages/it.json
+++ b/messages/it.json
@@ -5283,17 +5283,9 @@
"title": "Integrazioni",
"subtitle": "Configura Umami, GlitchTip, Web Push e le segnalazioni di bug."
},
- "ai-quality": {
- "title": "Qualità delle analisi",
- "subtitle": "Punteggi di utilità raggruppati per gravità e provider, dagli ultimi 30 giorni di feedback degli utenti."
- },
- "assistant": {
- "title": "Superfici dell'assistente",
- "subtitle": "Attiva o disattiva ciascuna superficie guidata dal modello senza rimuovere la configurazione del provider."
- },
- "coach-feedback": {
- "title": "Feedback del Coach",
- "subtitle": "Tasso di utilità per versione del prompt, tono e livello di dettaglio del Coach degli ultimi 30 giorni."
+ "coach": {
+ "title": "Coach",
+ "subtitle": "Superfici dell'assistente, chiave del server e le tabelle di qualità del feedback di Coach e analisi, in un unico posto."
},
"feedback": {
"title": "Feedback",
diff --git a/messages/pl.json b/messages/pl.json
index ad476cd02..72bc30aa1 100644
--- a/messages/pl.json
+++ b/messages/pl.json
@@ -5283,17 +5283,9 @@
"title": "Integracje",
"subtitle": "Skonfiguruj Umami, GlitchTip, Web Push i zgłoszenia błędów."
},
- "ai-quality": {
- "title": "Jakość analiz",
- "subtitle": "Oceny przydatności pogrupowane według ważności i dostawcy, z ostatnich 30 dni opinii użytkowników."
- },
- "assistant": {
- "title": "Powierzchnie asystenta",
- "subtitle": "Włącz lub wyłącz każdą powierzchnię opartą na modelu bez usuwania konfiguracji dostawcy."
- },
- "coach-feedback": {
- "title": "Opinie o Coachu",
- "subtitle": "Wskaźnik przydatności według wersji promptu, tonu i szczegółowości Coacha z ostatnich 30 dni."
+ "coach": {
+ "title": "Coach",
+ "subtitle": "Powierzchnie asystenta, klucz serwera oraz tabele jakości opinii Coacha i analiz w jednym miejscu."
},
"feedback": {
"title": "Opinie",
diff --git a/src/app/admin/[section]/renderer.tsx b/src/app/admin/[section]/renderer.tsx
index d1e4db387..8bd9e34be 100644
--- a/src/app/admin/[section]/renderer.tsx
+++ b/src/app/admin/[section]/renderer.tsx
@@ -90,33 +90,20 @@ export function AdminSectionRenderer({
+ {t("admin.section.backups.description")}{" "} + {/* External docs link — `noopener noreferrer` because this + leaves the admin shell. */} + + + {t("admin.section.backups.docsLink")} + +
+ } /> -- {t("admin.section.backups.description")}{" "} - {/* External docs link — Phase E will publish the matching page on - the docs site. `noopener noreferrer` because this leaves the - admin shell. */} - - - {t("admin.section.backups.docsLink")} - -
{/* Upload card — separate from the table so admins can ingest a backup file independently of any existing rows. The visible diff --git a/src/components/admin/danger-zone-section.tsx b/src/components/admin/danger-zone-section.tsx index 93cebfdd3..a9607cd90 100644 --- a/src/components/admin/danger-zone-section.tsx +++ b/src/components/admin/danger-zone-section.tsx @@ -15,6 +15,7 @@ import { AlertDialogTrigger, } from "@/components/ui/alert-dialog"; import { Button } from "@/components/ui/button"; +import { SettingsCardHeader } from "@/components/settings/_card-header"; import { useTranslations } from "@/lib/i18n/context"; import { apiDelete } from "@/lib/api/api-fetch"; @@ -59,24 +60,25 @@ export function DangerZoneSection() { }); return ( + // v1.18.1 E4 — adopt the shared card shape (rounded-xl border + the + // `SettingsCardHeader` icon/title/description/status layout) so the + // Danger Zone reads like every other admin section. The destructive + // tint + AlertTriangle icon keep it visually flagged as dangerous; + // the delete affordance now sits in the header status slot, properly + // aligned beside its label rather than floating below a lone icon.{t("admin.deleteAllData")}
-- {t("admin.deleteAllDescription")} -
-- {wipeMsg} -
- )} -+ {wipeMsg} +
+ )}- {t("settings.about.tourReplayHint")} -
+ tour" card so the two surfaces feel consistent. + + v1.18.1 E5 — hidden on the admin → Über surface (`hideTourReplay`): + the onboarding tour is a user-facing affordance with no place in + the admin console. */} + {!hideTourReplay && ( ++ {t("settings.about.tourReplayHint")} +
++ {tourFeedback.text} +
+ )}- {tourFeedback.text} -
- )} -