Labels: Stellar Wave, stellar, dx, test, drips, help-wanted
Tier: M (2–4 days)
Type: dx / test
Context
The demo has 16+ React components, but no way to develop them in isolation. Want to tweak the Stellar Receive list rendering? You have to spin up the whole app, connect a wallet, get matches, and only then can you see your change. This is slow, fragile, and discourages UI work.
Storybook fixes this. It also doubles as visual regression testing.
Scope
- Install Storybook 8 with the Vite + React preset.
- Configure for Wraith's dark monochrome design system — load the same Tailwind theme as the demo.
- Write stories for the key Stellar components:
StellarSend (with mocked wallet context, various amount/recipient states)
StellarReceive (variants: empty, 1 match, 10 matches, 50 matches, scan in progress, scan error)
- Stealth match card (the inner item — focus + hover states, balance loading, balance error)
- Wallet connect button (disconnected, connecting, connected, network mismatch)
- Chain switcher dropdown (all 4 chains, with disabled states)
- Copy button (idle, copying, copied)
- Mocked contexts:
- Build
.storybook/decorators/ providing fake ChainContext, StealthKeysContext, StellarWalletContext for stories.
- Each story configures its context state — no real wallet, no real RPC.
- Visual regression CI — wire
@storybook/test-runner or Chromatic. On every PR, snapshot all stories; fail on unexpected diff.
Constraints
- Stories live alongside the component (e.g.,
StellarSend.stories.tsx).
- No story should require a network request or wallet interaction.
- Each story has at least three variants (idle, loading, error) where applicable.
Acceptance criteria
Why this matters
UI quality is a function of iteration speed. The faster a contributor can see their change in 8 different states, the more states they'll fix. Storybook is the cheapest way to buy that speed.
Resources
Labels:
Stellar Wave,stellar,dx,test,drips,help-wantedTier: M (2–4 days)
Type: dx / test
Context
The demo has 16+ React components, but no way to develop them in isolation. Want to tweak the Stellar Receive list rendering? You have to spin up the whole app, connect a wallet, get matches, and only then can you see your change. This is slow, fragile, and discourages UI work.
Storybook fixes this. It also doubles as visual regression testing.
Scope
StellarSend(with mocked wallet context, various amount/recipient states)StellarReceive(variants: empty, 1 match, 10 matches, 50 matches, scan in progress, scan error).storybook/decorators/providing fakeChainContext,StealthKeysContext,StellarWalletContextfor stories.@storybook/test-runneror Chromatic. On every PR, snapshot all stories; fail on unexpected diff.Constraints
StellarSend.stories.tsx).Acceptance criteria
pnpm storybook).Why this matters
UI quality is a function of iteration speed. The faster a contributor can see their change in 8 different states, the more states they'll fix. Storybook is the cheapest way to buy that speed.
Resources