feat(oxibadge): add onboarding flow with i18n and reader preferences
Check, format and test / build (push) Successful in 9m59s
Check, format and test / build (push) Successful in 9m59s
Adds the first real screen: a setup form for the device's host/port, tested against the real device (3 retries) and persisted to preferences.toml before showing a placeholder "done" screen. - Rust: test_connection/save_preferences/load_preferences commands; preferences stored as [[reader]] in TOML so more readers can be added later without a format change. - Svelte: split the monolithic page into reusable components (Screen, Column, Field, Button, ErrorBanner, Hint) under src/lib/components, sharing design tokens from app.css. - Automatic it/en i18n via svelte-i18n, locale detected from navigator.language. Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"loading": "Caricamento...",
|
||||
"onboarding": {
|
||||
"title": "Benvenuto!",
|
||||
"subtitle": "Collega Oxibadge al tuo timbratore inserendo il suo indirizzo IP e la porta.",
|
||||
"host_label": "Indirizzo IP",
|
||||
"port_label": "Porta",
|
||||
"hint": "Trovi l'indirizzo nelle impostazioni di rete del timbratore.",
|
||||
"button": {
|
||||
"idle": "Testa connessione",
|
||||
"testing": "Connessione in corso...",
|
||||
"retry": "Riprova"
|
||||
},
|
||||
"error_title": "Impossibile raggiungere il timbratore",
|
||||
"errors": {
|
||||
"connection-refused": "Connessione rifiutata",
|
||||
"timed-out": "Connessione scaduta",
|
||||
"dns-failure": "Indirizzo non valido o non raggiungibile",
|
||||
"unknown": "Errore di connessione"
|
||||
}
|
||||
},
|
||||
"done": {
|
||||
"message": "Non c'è niente da fare."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user