Files
r701/oxibadge/src/lib/components/Column.svelte
T
nicolabelluti 99772b9e4a
Check, format and test / build (push) Successful in 9m59s
feat(oxibadge): add onboarding flow with i18n and reader preferences
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>
2026-10-07 11:08:02 +02:00

20 lines
312 B
Svelte

<script lang="ts">
import type { Snippet } from 'svelte';
let { children }: { children: Snippet } = $props();
</script>
<div class="column">
{@render children()}
</div>
<style>
.column {
width: 100%;
max-width: 400px;
display: flex;
flex-direction: column;
gap: 36px;
}
</style>