From 8743f634069d402346e0254115a6ba5623a41042 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Thu, 9 Jul 2026 22:18:37 +0200 Subject: [PATCH] polish(web): favicon, Punktfunk casing, display-save toast, idle stop button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Favicon: the brand-mark lens SVG at /favicon.svg, linked from the root head. - Branding: user-facing "punktfunk" → "Punktfunk" (tab title, app_name, pairing prose, the logo aria-labels/SVG titles) — protocol identifiers (punktfunk/1, _punktfunk._udp, binary/module names) stay lowercase. - The display policy auto-saves on every preset pick / field edit with no signal; mount @unom/ui's sonner Toaster in the root and fire a success toast from the save funnel's onSuccess (new i18n key, en + de). First toast usage in the console — errors stay inline as before. - The stop-session button rendered destructive-red even with nothing to stop: variant switches to the muted `secondary` while no session is active. Co-Authored-By: Claude Fable 5 --- web/messages/de.json | 7 ++++--- web/messages/en.json | 7 ++++--- web/public/favicon.svg | 6 ++++++ web/src/components/app-shell.tsx | 2 +- web/src/components/brand-mark.tsx | 4 ++-- web/src/components/wordmark.tsx | 4 ++-- web/src/routes/__root.tsx | 10 ++++++++-- web/src/sections/Dashboard/view.tsx | 2 +- web/src/sections/Displays/DisplayCard.tsx | 4 ++++ 9 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 web/public/favicon.svg diff --git a/web/messages/de.json b/web/messages/de.json index 8fdeb4d7..3e3ca0be 100644 --- a/web/messages/de.json +++ b/web/messages/de.json @@ -1,7 +1,8 @@ { "$schema": "https://inlang.com/schema/inlang-message-format", - "app_name": "punktfunk", + "app_name": "Punktfunk", "app_tagline": "Verwaltungskonsole", + "display_settings_saved": "Display-Konfiguration gespeichert", "nav_dashboard": "Übersicht", "nav_host": "Host", "nav_displays": "Virtuelle Anzeigen", @@ -128,8 +129,8 @@ "pairing_success": "Erfolgreich gekoppelt.", "pairing_failed": "Kopplung fehlgeschlagen — PIN prüfen und erneut versuchen.", "pairing_native_title": "Gerät koppeln", - "pairing_native_desc": "Zeige hier eine Einmal-PIN an und gib sie in deiner punktfunk-App ein, um dieses Gerät zu koppeln.", - "pairing_native_disabled": "Der native Host läuft nicht. Starte ihn mit `serve --native`, um punktfunk-Geräte zu koppeln.", + "pairing_native_desc": "Zeige hier eine Einmal-PIN an und gib sie in deiner Punktfunk-App ein, um dieses Gerät zu koppeln.", + "pairing_native_disabled": "Der native Host läuft nicht. Starte ihn mit `serve --native`, um Punktfunk-Geräte zu koppeln.", "pairing_native_arm": "Gerät koppeln", "pairing_native_enter": "Gib diese PIN auf deinem Gerät ein:", "pairing_native_expires": "Läuft ab in", diff --git a/web/messages/en.json b/web/messages/en.json index a9ef0b65..5ec755c0 100644 --- a/web/messages/en.json +++ b/web/messages/en.json @@ -1,7 +1,8 @@ { "$schema": "https://inlang.com/schema/inlang-message-format", - "app_name": "punktfunk", + "app_name": "Punktfunk", "app_tagline": "management console", + "display_settings_saved": "Display configuration saved", "nav_dashboard": "Dashboard", "nav_host": "Host", "nav_displays": "Virtual displays", @@ -128,8 +129,8 @@ "pairing_success": "Paired successfully.", "pairing_failed": "Pairing failed — check the PIN and try again.", "pairing_native_title": "Pair a device", - "pairing_native_desc": "Show a one-time PIN here, then enter it in your punktfunk app to pair this device.", - "pairing_native_disabled": "The native host isn't running. Start it with `serve --native` to pair punktfunk devices.", + "pairing_native_desc": "Show a one-time PIN here, then enter it in your Punktfunk app to pair this device.", + "pairing_native_disabled": "The native host isn't running. Start it with `serve --native` to pair Punktfunk devices.", "pairing_native_arm": "Pair a device", "pairing_native_enter": "Enter this PIN on your device:", "pairing_native_expires": "Expires in", diff --git a/web/public/favicon.svg b/web/public/favicon.svg new file mode 100644 index 00000000..11e273db --- /dev/null +++ b/web/public/favicon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/web/src/components/app-shell.tsx b/web/src/components/app-shell.tsx index b7693717..e3238500 100644 --- a/web/src/components/app-shell.tsx +++ b/web/src/components/app-shell.tsx @@ -48,7 +48,7 @@ export function AppShell({ children }: { children: ReactNode }) {