diff --git a/messages/de.json b/messages/de.json index 234e94759..53988cf76 100644 --- a/messages/de.json +++ b/messages/de.json @@ -4934,6 +4934,8 @@ "bugReportGithubDescription": "Hinterlege GitHub-Issue-Token und Repository für eingehende Bugreports.", "bugReportEnabledLabel": "Bug-Reports aktiviert", "bugReportEnabledDescription": "Wenn deaktiviert, ist der Report-Button im Frontend nicht mehr sichtbar — Token und Repository bleiben gespeichert.", + "bugReportDeprecatedBadge": "Veraltet", + "bugReportDeprecatedNote": "Diese Funktion ist veraltet und wird in einer künftigen Version entfernt.", "assistant": { "title": "Assistenz-Oberflächen", "description": "Jeder Toggle versteckt eine modellgestützte Oberfläche app-weit, ohne die Provider-Konfiguration zu entfernen. Der Hauptschalter erzwingt jede Unter-Option aus.", @@ -6473,6 +6475,7 @@ "viewDescription": "Lege fest, ob die Einträge als Karten oder als kompakte Liste angezeigt werden.", "reorder": { "heading": "Reihenfolge", + "description": "Ziehe die Einträge, um ihre Reihenfolge festzulegen.", "empty": "Noch keine Einträge zum Sortieren." } }, diff --git a/messages/en.json b/messages/en.json index 984755dce..7e15661ef 100644 --- a/messages/en.json +++ b/messages/en.json @@ -4934,6 +4934,8 @@ "bugReportGithubDescription": "Configure GitHub issue token and repository for incoming bug reports.", "bugReportEnabledLabel": "Bug reports enabled", "bugReportEnabledDescription": "When off, the in-app report button hides — token and repository stay configured.", + "bugReportDeprecatedBadge": "Deprecated", + "bugReportDeprecatedNote": "This feature is deprecated and will be removed in a future version.", "assistant": { "title": "Assistant Surfaces", "description": "Each toggle hides a model-driven surface app-wide without removing the provider configuration. The master kills every sub-flag at once.", @@ -6473,6 +6475,7 @@ "viewDescription": "Choose whether entries show as cards or as a compact list.", "reorder": { "heading": "Order", + "description": "Drag the entries to set the order they appear in.", "empty": "No entries to reorder yet." } }, diff --git a/messages/es.json b/messages/es.json index c3cb16e28..f283e8fd7 100644 --- a/messages/es.json +++ b/messages/es.json @@ -4934,6 +4934,8 @@ "bugReportGithubDescription": "Configura el token de issues de GitHub y el repositorio para los informes de errores entrantes.", "bugReportEnabledLabel": "Informes de errores activados", "bugReportEnabledDescription": "Cuando está desactivado, el botón de informe en la app se oculta; el token y el repositorio permanecen configurados.", + "bugReportDeprecatedBadge": "Obsoleto", + "bugReportDeprecatedNote": "Esta función está obsoleta y se eliminará en una versión futura.", "assistant": { "title": "Superficies del asistente", "description": "Cada conmutador oculta una superficie impulsada por el modelo en toda la aplicación sin retirar la configuración del proveedor. El interruptor maestro fuerza cada opción secundaria a off.", @@ -6473,6 +6475,7 @@ "viewDescription": "Elige si las entradas se muestran como tarjetas o como lista compacta.", "reorder": { "heading": "Orden", + "description": "Arrastra las entradas para definir el orden en que aparecen.", "empty": "Aún no hay entradas para ordenar." } }, diff --git a/messages/fr.json b/messages/fr.json index aa1459d77..b58eff6cb 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -4934,6 +4934,8 @@ "bugReportGithubDescription": "Configurez le jeton d'issues GitHub et le dépôt pour les rapports de bug entrants.", "bugReportEnabledLabel": "Rapports de bug activés", "bugReportEnabledDescription": "Lorsque cette option est désactivée, le bouton de signalement dans l'app est masqué — le jeton et le dépôt restent configurés.", + "bugReportDeprecatedBadge": "Obsolète", + "bugReportDeprecatedNote": "Cette fonctionnalité est obsolète et sera supprimée dans une version future.", "assistant": { "title": "Surfaces d'assistance", "description": "Chaque bascule masque une surface pilotée par le modèle dans toute l'application sans retirer la configuration du fournisseur. Le commutateur principal force chaque option secondaire à off.", @@ -6473,6 +6475,7 @@ "viewDescription": "Choisissez si les entrées s'affichent en cartes ou en liste compacte.", "reorder": { "heading": "Ordre", + "description": "Faites glisser les entrées pour définir leur ordre d'affichage.", "empty": "Aucune entrée à réordonner pour l'instant." } }, diff --git a/messages/it.json b/messages/it.json index 01f68b520..cc2c72640 100644 --- a/messages/it.json +++ b/messages/it.json @@ -4934,6 +4934,8 @@ "bugReportGithubDescription": "Configura il token delle issue di GitHub e il repository per le segnalazioni di bug in arrivo.", "bugReportEnabledLabel": "Segnalazioni di bug attive", "bugReportEnabledDescription": "Se disattivato, il pulsante di segnalazione nell'app viene nascosto: token e repository restano configurati.", + "bugReportDeprecatedBadge": "Obsoleto", + "bugReportDeprecatedNote": "Questa funzione è obsoleta e verrà rimossa in una versione futura.", "assistant": { "title": "Superfici dell'assistente", "description": "Ogni interruttore nasconde una superficie guidata dal modello in tutta l'app senza rimuovere la configurazione del provider. Il master forza ogni opzione secondaria su off.", @@ -6473,6 +6475,7 @@ "viewDescription": "Scegli se le voci appaiono come schede o come elenco compatto.", "reorder": { "heading": "Ordine", + "description": "Trascina le voci per definire l'ordine in cui appaiono.", "empty": "Nessuna voce da riordinare." } }, diff --git a/messages/pl.json b/messages/pl.json index df547b12a..f5ea68ef1 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -4934,6 +4934,8 @@ "bugReportGithubDescription": "Skonfiguruj token zgłoszeń GitHub i repozytorium dla przychodzących zgłoszeń błędów.", "bugReportEnabledLabel": "Zgłaszanie błędów włączone", "bugReportEnabledDescription": "Gdy wyłączone, przycisk zgłaszania w aplikacji jest ukryty — token i repozytorium pozostają skonfigurowane.", + "bugReportDeprecatedBadge": "Wycofane", + "bugReportDeprecatedNote": "Ta funkcja jest wycofywana i zostanie usunięta w przyszłej wersji.", "assistant": { "title": "Powierzchnie asystenta", "description": "Każdy przełącznik ukrywa powierzchnię opartą na modelu w całej aplikacji bez usuwania konfiguracji dostawcy. Główny wyłącznik wymusza wyłączenie każdej opcji podrzędnej.", @@ -6473,6 +6475,7 @@ "viewDescription": "Wybierz, czy pozycje mają być pokazywane jako karty czy jako zwarta lista.", "reorder": { "heading": "Kolejność", + "description": "Przeciągnij pozycje, aby ustawić kolejność ich wyświetlania.", "empty": "Brak pozycji do uporządkowania." } }, diff --git a/src/components/admin/bug-report-section.tsx b/src/components/admin/bug-report-section.tsx index 36c4c7275..7bbad77b9 100644 --- a/src/components/admin/bug-report-section.tsx +++ b/src/components/admin/bug-report-section.tsx @@ -3,6 +3,7 @@ import { useState } from "react"; import { Bug, Loader2 } from "lucide-react"; import { SettingsCardHeader } from "@/components/settings/_card-header"; +import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; @@ -54,7 +55,26 @@ export function BugReportSection() { + {t("admin.bugReportDeprecatedBadge")} + + } + description={ + <> +

{t("admin.bugReportGithubDescription")}

+

+ {t("admin.bugReportDeprecatedNote")} +

+ + } status={configured ? : null} /> diff --git a/src/components/admin/danger-zone-section.tsx b/src/components/admin/danger-zone-section.tsx index 4135d3a4a..923099bde 100644 --- a/src/components/admin/danger-zone-section.tsx +++ b/src/components/admin/danger-zone-section.tsx @@ -17,6 +17,7 @@ import { import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; +import { SettingsCard } from "@/components/settings/settings-card"; import { SettingsCardHeader } from "@/components/settings/_card-header"; import { useTranslations } from "@/lib/i18n/context"; import { apiDelete } from "@/lib/api/api-fetch"; @@ -83,13 +84,13 @@ 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. -
+ // v1.18.10 (W7) — the card SURFACE is neutral like every other admin / + // settings section (`SettingsCard`: bg-card + border-border): a red card + // edge reads as alarming, not premium. The danger signal lives ONLY in + // the destructive delete button + its typed-confirmation dialog, which + // are alarm enough. The header keeps the `AlertTriangle` icon so the + // section still flags its intent. + )} -
+ ); } diff --git a/src/components/layout/bottom-nav.tsx b/src/components/layout/bottom-nav.tsx index f2653962d..b75121493 100644 --- a/src/components/layout/bottom-nav.tsx +++ b/src/components/layout/bottom-nav.tsx @@ -247,15 +247,18 @@ export function BottomNav() { )} >