An easy-to-host PDS on the ATProtocol, iPhone and MacOS. Maintain control of your keys and data, always.
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(identity-wallet): wire IdentityInputScreen into page state machine

Adds import flow state variables (identityInfo, verifiedClaim, claimResult)
to support cross-screen data sharing during the claim flow. Imports
IdentityInputScreen component and adds rendering block that transitions
from mode_select to identity_input, then to pds_auth after resolution.
Updates form object with handleOrDid field for tracking user input.
Adds necessary type imports (IdentityInfo, VerifiedClaimOp, ClaimResult).

authored by

Malpercio and committed by
Tangled
c4f29413 a5061b05

+17 -2
+17 -2
apps/identity-wallet/src/routes/+page.svelte
··· 14 14 import ShamirBackupScreen from '$lib/components/onboarding/ShamirBackupScreen.svelte'; 15 15 import HandleRegistrationScreen from '$lib/components/onboarding/HandleRegistrationScreen.svelte'; 16 16 import AuthenticatingScreen from '$lib/components/onboarding/AuthenticatingScreen.svelte'; 17 + import IdentityInputScreen from '$lib/components/onboarding/IdentityInputScreen.svelte'; 17 18 import HomeScreen from '$lib/components/home/HomeScreen.svelte'; 18 19 import DIDDocumentScreen from '$lib/components/home/DIDDocumentScreen.svelte'; 19 20 import RecoveryInfoScreen from '$lib/components/home/RecoveryInfoScreen.svelte'; 20 - import { createAccount, listIdentities, type CreateAccountError, type OAuthError, type HomeData } from '$lib/ipc'; 21 + import { createAccount, listIdentities, type CreateAccountError, type OAuthError, type HomeData, type IdentityInfo, type VerifiedClaimOp, type ClaimResult } from '$lib/ipc'; 21 22 22 23 // ── Onboarding step type ───────────────────────────────────────────────── 23 24 // ··· 57 58 // ── State ──────────────────────────────────────────────────────────────── 58 59 59 60 let step = $state<OnboardingStep>('mode_select'); 60 - let form = $state({ claimCode: '', email: '', handle: '', password: '', did: '', share3: '', registeredHandle: '' }); 61 + let form = $state({ claimCode: '', email: '', handle: '', password: '', did: '', share3: '', registeredHandle: '', handleOrDid: '' }); 62 + 63 + // ── Import flow state ──────────────────────────────────────────────────────── 64 + let identityInfo = $state<IdentityInfo | null>(null); 65 + let verifiedClaim = $state<VerifiedClaimOp | null>(null); 66 + let claimResult = $state<ClaimResult | null>(null); 61 67 62 68 /** 63 69 * Per-field error messages displayed by each screen. ··· 179 185 <ModeSelectScreen 180 186 oncreate={() => goTo('relay_config')} 181 187 onimport={() => goTo('identity_input')} 188 + /> 189 + {:else if step === 'identity_input'} 190 + <IdentityInputScreen 191 + bind:value={form.handleOrDid} 192 + onnext={(info) => { 193 + identityInfo = info; 194 + goTo('pds_auth'); 195 + }} 196 + onback={() => goTo('mode_select')} 182 197 /> 183 198 {:else if step === 'relay_config'} 184 199 <RelayConfigScreen onnext={() => goTo('welcome')} />