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 IdentityListHome as home screen with identity detail navigation

- Replace HomeScreen rendering with IdentityListHome for the home step
- Add new 'identity_detail' step to OnboardingStep type for viewing a selected identity
- Add selectedDid and selectedDidDoc state variables to track selected identity
- Implement identity_detail block that reuses DIDDocumentScreen for detail view
- IdentityListHome 'onadd' button navigates to mode_select to add another identity
- IdentityListHome 'onselect' button navigates to identity_detail with selected DID and document
- ClaimSuccessScreen 'ondone' navigates to home (IdentityListHome)

Implements AC5.11 (multi-identity home with status badges), AC5.12 (add identity button),
and AC5.13 (preserve existing onboarding flow).

authored by

Malpercio and committed by
Tangled
3bc1245e 5c922e5e

+18 -4
+18 -4
apps/identity-wallet/src/routes/+page.svelte
··· 23 23 import DIDDocumentScreen from '$lib/components/home/DIDDocumentScreen.svelte'; 24 24 import RecoveryInfoScreen from '$lib/components/home/RecoveryInfoScreen.svelte'; 25 25 import { createAccount, listIdentities, type CreateAccountError, type OAuthError, type HomeData, type IdentityInfo, type VerifiedClaimOp, type ClaimResult } from '$lib/ipc'; 26 + import IdentityListHome from '$lib/components/home/IdentityListHome.svelte'; 26 27 27 28 // ── Onboarding step type ───────────────────────────────────────────────── 28 29 // ··· 50 51 | 'complete' 51 52 | 'authenticating' 52 53 | 'home' 54 + | 'identity_detail' 53 55 | 'did_document' 54 56 | 'recovery_info' 55 57 | 'auth_failed' ··· 80 82 let authError = $state<OAuthError | null>(null); 81 83 82 84 let homeData = $state<HomeData | null>(null); 85 + 86 + let selectedDid = $state<string | null>(null); 87 + let selectedDidDoc = $state<Record<string, unknown> | null>(null); 83 88 84 89 // ── Navigation helpers ─────────────────────────────────────────────────── 85 90 ··· 303 308 /> 304 309 305 310 {:else if step === 'home'} 306 - <HomeScreen 307 - onnavdiddoc={(data) => { homeData = data; goTo('did_document'); }} 308 - onnavrecovery={(data) => { homeData = data; goTo('recovery_info'); }} 309 - onlogout={() => goTo('welcome')} 311 + <IdentityListHome 312 + onadd={() => goTo('mode_select')} 313 + onselect={(did, didDoc) => { 314 + selectedDid = did; 315 + selectedDidDoc = didDoc; 316 + goTo('identity_detail'); 317 + }} 318 + /> 319 + 320 + {:else if step === 'identity_detail'} 321 + <DIDDocumentScreen 322 + didDoc={selectedDidDoc ?? {}} 323 + onback={() => goTo('home')} 310 324 /> 311 325 312 326 {:else if step === 'did_document'}