mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-14 14:40:52 +00:00
refactor(settings): unify card headers, integration verbs, test buttons, and tap targets
Holistic consistency pass over the settings and integration surfaces so the same concept reads and behaves the same way everywhere. - Card headers: migrate the four integration cards (Withings, WHOOP, Fitbit/Google Health, Mood Log) plus the profile, passkeys, avatar, about, api-endpoints, api-tokens, and sharing cards onto the shared SettingsCardHeader primitive. Extend the primitive with an inline title accessory slot (Fitbit tag + experimental badge) and a multi-line description slot (overlap / experimental / deprecation sub-notes), keeping the rendered result identical. - Integration verbs: normalise Mood Log onto the canonical "Sync now" / "Sync all data" / "Synchronize" set used by the other integrations, across all six locales. Swap the full-sync icon from Download to RefreshCw and align its action-row icon metrics with the sibling cards. - Test buttons: migrate Telegram and ntfy off their hand-rolled "Test message" buttons onto the shared TestConnectionButton, so every channel and integration test control shares one icon, label, latency readout, and error taxonomy. Retire the now-unused testMessage / testSent strings. - ntfy auth-token placeholder no longer reuses the "Saved" status string; it now reads "Saved — enter new to replace" like the other secret fields. - Save-success copy: collapse the moodLog and Telegram bespoke strings onto the shared settings.saved string. - Tap targets: floor every size="sm" action-row button (sync / full-sync / test / disconnect / save / connect-secret copy) at min-h-11, fixed at the TestConnectionButton source and across the cards, so they clear the 44px touch minimum. - Contrast: the onboarding source-card badge moves from muted-on-muted to text-foreground; web-push card body rhythm aligns on space-y-4; Mood Log's deprecation note drops its bespoke 11px-italic treatment for the shared sub-note style. (cherry picked from commit 11931d14b7875b7e2184a3b373d7a34b842f8eae)
This commit is contained in:
1 parent
b64f48bce3
commit
3ce0b69802
17 files changed
+248
-279
No files matched your search
+3
-7
@@ -3327,12 +3327,9 @@
|
||||
"backedUp": "gesichert",
|
||||
"telegram": "Telegram",
|
||||
"telegramDescription": "Medikamenten-Erinnerungen per Bot.",
|
||||
"telegramSaved": "Telegram-Einstellungen gespeichert",
|
||||
"botToken": "Bot-Token",
|
||||
"chatId": "Chat-ID",
|
||||
"enableNotifications": "Benachrichtigungen aktivieren",
|
||||
"testMessage": "Test-Nachricht",
|
||||
"testSent": "Test-Nachricht gesendet!",
|
||||
"telegramStep1": "1. Erstelle einen Bot über @BotFather in Telegram und kopiere den Token.",
|
||||
"telegramStep2": "2. Sende /start an deinen Bot, um den Chat zu aktivieren.",
|
||||
"telegramStep3": "3. Finde deine Chat-ID über @userinfobot oder die Bot-API.",
|
||||
@@ -3663,9 +3660,9 @@
|
||||
"moodLogApiKeyPlaceholder": "ml_...",
|
||||
"moodLogWebhookSecret": "Webhook-Secret",
|
||||
"moodLogWebhookSecretHelp": "Dieses Secret in moodLog als Webhook-Secret eintragen",
|
||||
"moodLogSync": "Sync starten",
|
||||
"moodLogFullSync": "Voll-Sync",
|
||||
"moodLogFullSyncConfirm": "Vollständig synchronisieren",
|
||||
"moodLogSync": "Jetzt synchronisieren",
|
||||
"moodLogFullSync": "Alle Daten synchronisieren",
|
||||
"moodLogFullSyncConfirm": "Synchronisieren",
|
||||
"moodLogFullSyncTitle": "Vollsynchronisierung?",
|
||||
"moodLogFullSyncDescription": "Alle verfügbaren Stimmungsdaten werden vollständig synchronisiert.",
|
||||
"moodLogDisconnect": "Trennen",
|
||||
@@ -3674,7 +3671,6 @@
|
||||
"moodLogEntries": "Einträge",
|
||||
"moodLogSyncResult": "{count} Einträge synchronisiert",
|
||||
"moodLogSyncFailed": "Sync fehlgeschlagen",
|
||||
"moodLogSaved": "moodLog-Verbindung gespeichert",
|
||||
"moodLogDisconnected": "moodLog getrennt",
|
||||
"about": {
|
||||
"version": "App-Version",
|
||||
|
||||
+3
-7
@@ -3327,12 +3327,9 @@
|
||||
"backedUp": "backed up",
|
||||
"telegram": "Telegram",
|
||||
"telegramDescription": "Medication reminders via bot.",
|
||||
"telegramSaved": "Telegram settings saved",
|
||||
"botToken": "Bot Token",
|
||||
"chatId": "Chat ID",
|
||||
"enableNotifications": "Enable notifications",
|
||||
"testMessage": "Test message",
|
||||
"testSent": "Test message sent!",
|
||||
"telegramStep1": "1. Create a bot via @BotFather in Telegram and copy the token.",
|
||||
"telegramStep2": "2. Send /start to your bot to activate the chat.",
|
||||
"telegramStep3": "3. Find your Chat ID via @userinfobot or the Bot API.",
|
||||
@@ -3663,9 +3660,9 @@
|
||||
"moodLogApiKeyPlaceholder": "ml_...",
|
||||
"moodLogWebhookSecret": "Webhook Secret",
|
||||
"moodLogWebhookSecretHelp": "Enter this secret in moodLog as webhook secret",
|
||||
"moodLogSync": "Start sync",
|
||||
"moodLogFullSync": "Full sync",
|
||||
"moodLogFullSyncConfirm": "Synchronize fully",
|
||||
"moodLogSync": "Sync now",
|
||||
"moodLogFullSync": "Sync all data",
|
||||
"moodLogFullSyncConfirm": "Synchronize",
|
||||
"moodLogFullSyncTitle": "Full sync?",
|
||||
"moodLogFullSyncDescription": "All available mood data will be fully synchronized.",
|
||||
"moodLogDisconnect": "Disconnect",
|
||||
@@ -3674,7 +3671,6 @@
|
||||
"moodLogEntries": "Entries",
|
||||
"moodLogSyncResult": "{count} entries synchronized",
|
||||
"moodLogSyncFailed": "Sync failed",
|
||||
"moodLogSaved": "moodLog connection saved",
|
||||
"moodLogDisconnected": "moodLog disconnected",
|
||||
"about": {
|
||||
"version": "App version",
|
||||
|
||||
+3
-7
@@ -3327,12 +3327,9 @@
|
||||
"backedUp": "con copia de seguridad",
|
||||
"telegram": "Telegram Notifications",
|
||||
"telegramDescription": "Get reminders for missed medication intake via Telegram.",
|
||||
"telegramSaved": "Ajustes de Telegram guardados",
|
||||
"botToken": "Token del bot",
|
||||
"chatId": "ID del chat",
|
||||
"enableNotifications": "Activar notificaciones",
|
||||
"testMessage": "Mensaje de prueba",
|
||||
"testSent": "¡Mensaje de prueba enviado!",
|
||||
"telegramStep1": "1. Crea un bot con @BotFather en Telegram y copia el token.",
|
||||
"telegramStep2": "2. Envía /start a tu bot para activar el chat.",
|
||||
"telegramStep3": "3. Obtén tu ID del chat con @userinfobot o la API del bot.",
|
||||
@@ -3663,9 +3660,9 @@
|
||||
"moodLogApiKeyPlaceholder": "ml_...",
|
||||
"moodLogWebhookSecret": "Secreto del webhook",
|
||||
"moodLogWebhookSecretHelp": "Introduce este secreto en moodLog como secreto del webhook",
|
||||
"moodLogSync": "Iniciar sincronización",
|
||||
"moodLogFullSync": "Sincronización completa",
|
||||
"moodLogFullSyncConfirm": "Sincronizar por completo",
|
||||
"moodLogSync": "Sincronizar ahora",
|
||||
"moodLogFullSync": "Sincronizar todos los datos",
|
||||
"moodLogFullSyncConfirm": "Sincronizar",
|
||||
"moodLogFullSyncTitle": "¿Sincronización completa?",
|
||||
"moodLogFullSyncDescription": "Se sincronizarán por completo todos los datos de estado de ánimo disponibles.",
|
||||
"moodLogDisconnect": "Desconectar",
|
||||
@@ -3674,7 +3671,6 @@
|
||||
"moodLogEntries": "Entradas",
|
||||
"moodLogSyncResult": "{count} entradas sincronizadas",
|
||||
"moodLogSyncFailed": "Falló la sincronización",
|
||||
"moodLogSaved": "Conexión con moodLog guardada",
|
||||
"moodLogDisconnected": "moodLog desconectado",
|
||||
"about": {
|
||||
"version": "Versión de la app",
|
||||
|
||||
+3
-7
@@ -3327,12 +3327,9 @@
|
||||
"backedUp": "sauvegardée",
|
||||
"telegram": "Telegram Notifications",
|
||||
"telegramDescription": "Get reminders for missed medication intake via Telegram.",
|
||||
"telegramSaved": "Réglages Telegram enregistrés",
|
||||
"botToken": "Jeton du bot",
|
||||
"chatId": "ID du chat",
|
||||
"enableNotifications": "Activer les notifications",
|
||||
"testMessage": "Message de test",
|
||||
"testSent": "Message de test envoyé !",
|
||||
"telegramStep1": "1. Créez un bot via @BotFather dans Telegram et copiez le jeton.",
|
||||
"telegramStep2": "2. Envoyez /start à votre bot pour activer le chat.",
|
||||
"telegramStep3": "3. Trouvez votre ID de chat via @userinfobot ou l’API du bot.",
|
||||
@@ -3663,9 +3660,9 @@
|
||||
"moodLogApiKeyPlaceholder": "ml_...",
|
||||
"moodLogWebhookSecret": "Secret du webhook",
|
||||
"moodLogWebhookSecretHelp": "Saisissez ce secret dans moodLog comme secret de webhook",
|
||||
"moodLogSync": "Démarrer la synchronisation",
|
||||
"moodLogFullSync": "Synchronisation complète",
|
||||
"moodLogFullSyncConfirm": "Synchroniser entièrement",
|
||||
"moodLogSync": "Synchroniser maintenant",
|
||||
"moodLogFullSync": "Synchroniser toutes les données",
|
||||
"moodLogFullSyncConfirm": "Synchroniser",
|
||||
"moodLogFullSyncTitle": "Synchronisation complète ?",
|
||||
"moodLogFullSyncDescription": "Toutes les données d’humeur disponibles seront entièrement synchronisées.",
|
||||
"moodLogDisconnect": "Déconnecter",
|
||||
@@ -3674,7 +3671,6 @@
|
||||
"moodLogEntries": "Entrées",
|
||||
"moodLogSyncResult": "{count} entrées synchronisées",
|
||||
"moodLogSyncFailed": "Échec de la synchronisation",
|
||||
"moodLogSaved": "Connexion moodLog enregistrée",
|
||||
"moodLogDisconnected": "moodLog déconnecté",
|
||||
"about": {
|
||||
"version": "Version de l’app",
|
||||
|
||||
+3
-7
@@ -3327,12 +3327,9 @@
|
||||
"backedUp": "con backup",
|
||||
"telegram": "Telegram Notifications",
|
||||
"telegramDescription": "Get reminders for missed medication intake via Telegram.",
|
||||
"telegramSaved": "Impostazioni Telegram salvate",
|
||||
"botToken": "Token del bot",
|
||||
"chatId": "ID chat",
|
||||
"enableNotifications": "Attiva le notifiche",
|
||||
"testMessage": "Messaggio di prova",
|
||||
"testSent": "Messaggio di prova inviato!",
|
||||
"telegramStep1": "1. Crea un bot tramite @BotFather su Telegram e copia il token.",
|
||||
"telegramStep2": "2. Invia /start al tuo bot per attivare la chat.",
|
||||
"telegramStep3": "3. Trova il tuo ID chat tramite @userinfobot o l’API del bot.",
|
||||
@@ -3663,9 +3660,9 @@
|
||||
"moodLogApiKeyPlaceholder": "ml_...",
|
||||
"moodLogWebhookSecret": "Secret del webhook",
|
||||
"moodLogWebhookSecretHelp": "Inserisci questo secret in moodLog come secret del webhook",
|
||||
"moodLogSync": "Avvia sincronizzazione",
|
||||
"moodLogFullSync": "Sincronizzazione completa",
|
||||
"moodLogFullSyncConfirm": "Sincronizza completamente",
|
||||
"moodLogSync": "Sincronizza ora",
|
||||
"moodLogFullSync": "Sincronizza tutti i dati",
|
||||
"moodLogFullSyncConfirm": "Sincronizza",
|
||||
"moodLogFullSyncTitle": "Sincronizzazione completa?",
|
||||
"moodLogFullSyncDescription": "Tutti i dati sull’umore disponibili verranno sincronizzati completamente.",
|
||||
"moodLogDisconnect": "Disconnetti",
|
||||
@@ -3674,7 +3671,6 @@
|
||||
"moodLogEntries": "Voci",
|
||||
"moodLogSyncResult": "{count} voci sincronizzate",
|
||||
"moodLogSyncFailed": "Sincronizzazione non riuscita",
|
||||
"moodLogSaved": "Connessione moodLog salvata",
|
||||
"moodLogDisconnected": "moodLog disconnesso",
|
||||
"about": {
|
||||
"version": "Versione dell’app",
|
||||
|
||||
+3
-7
@@ -3327,12 +3327,9 @@
|
||||
"backedUp": "z kopią zapasową",
|
||||
"telegram": "Telegram Notifications",
|
||||
"telegramDescription": "Get reminders for missed medication intake via Telegram.",
|
||||
"telegramSaved": "Ustawienia Telegrama zapisane",
|
||||
"botToken": "Token bota",
|
||||
"chatId": "ID czatu",
|
||||
"enableNotifications": "Włącz powiadomienia",
|
||||
"testMessage": "Wiadomość testowa",
|
||||
"testSent": "Wiadomość testowa wysłana!",
|
||||
"telegramStep1": "1. Utwórz bota przez @BotFather w Telegramie i skopiuj token.",
|
||||
"telegramStep2": "2. Wyślij /start do swojego bota, aby aktywować czat.",
|
||||
"telegramStep3": "3. Znajdź swoje ID czatu przez @userinfobot lub API bota.",
|
||||
@@ -3663,9 +3660,9 @@
|
||||
"moodLogApiKeyPlaceholder": "ml_...",
|
||||
"moodLogWebhookSecret": "Sekret webhooka",
|
||||
"moodLogWebhookSecretHelp": "Wprowadź ten sekret w moodLog jako sekret webhooka",
|
||||
"moodLogSync": "Rozpocznij synchronizację",
|
||||
"moodLogFullSync": "Pełna synchronizacja",
|
||||
"moodLogFullSyncConfirm": "Synchronizuj w pełni",
|
||||
"moodLogSync": "Synchronizuj teraz",
|
||||
"moodLogFullSync": "Synchronizuj wszystkie dane",
|
||||
"moodLogFullSyncConfirm": "Synchronizuj",
|
||||
"moodLogFullSyncTitle": "Pełna synchronizacja?",
|
||||
"moodLogFullSyncDescription": "Wszystkie dostępne dane o nastroju zostaną w pełni zsynchronizowane.",
|
||||
"moodLogDisconnect": "Rozłącz",
|
||||
@@ -3674,7 +3671,6 @@
|
||||
"moodLogEntries": "Wpisy",
|
||||
"moodLogSyncResult": "{count} wpisów zsynchronizowano",
|
||||
"moodLogSyncFailed": "Synchronizacja nie powiodła się",
|
||||
"moodLogSaved": "Połączenie moodLog zapisane",
|
||||
"moodLogDisconnected": "moodLog rozłączony",
|
||||
"about": {
|
||||
"version": "Wersja aplikacji",
|
||||
|
||||
Reference in new issue
Block a user