| File was renamed from VoiceSnapGo/frontend/src/components/onboarding/OnboardingView.svelte |
| | |
| | | import { Events, Call } from '@wailsio/runtime' |
| | | import { t } from '../../lib/i18n' |
| | | import { engineStatus } from '../../lib/stores/app' |
| | | import AppIcon from '../shared/AppIcon.svelte' |
| | | |
| | | let statusText = $state(t('onboarding.syncModel')) |
| | | let detailText = $state('') |
| | |
| | | if (data?.status === 'ready') { |
| | | statusText = t('onboarding.complete') |
| | | progress = 100 |
| | | } else if (data?.status === 'need_model') { |
| | | statusText = t('onboarding.failed') |
| | | detailText = data?.error || '' |
| | | failed = true |
| | | } else if (data?.status === 'error') { |
| | | statusText = t('onboarding.failed') |
| | | detailText = data?.error || '' |
| | |
| | | |
| | | <div class="onboarding"> |
| | | <div class="card"> |
| | | <div class="icon">V</div> |
| | | <div class="icon"> |
| | | <AppIcon size={56} elevated /> |
| | | </div> |
| | | <h1 class="title">{t('onboarding.title')}</h1> |
| | | |
| | | <div class="status"> |
| | |
| | | .icon { |
| | | width: 56px; |
| | | height: 56px; |
| | | background: var(--color-blue); |
| | | border-radius: var(--radius-lg); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | color: white; |
| | | font-weight: 700; |
| | | font-size: 24px; |
| | | margin: 0 auto var(--spacing-lg); |
| | | } |
| | | |