Repository navigation
feat(storybook): showcase all GoodWidget widgets with QA fixtures and theme overrides - #253
goodbounties-nanoclaw-agent[bot] wants to merge 1 commit into
Conversation
…A fixtures and theme overrides Adds the Showcase/Theme-overrides/QA three-way story split to CitizenClaimWidget, GoodReserveWidget, GovernanceWidget, AiCreditsWidget, SuperfluidCampaignWidget, and GoodDataWidget per issue #252, including MDX integrator docs and deterministic QA fixtures backing each widget's Playwright states spec. Co-Authored-By: Claude <noreply@anthropic.com> On-Behalf-Of: BountyCoder[onecli] (yaskkeryodtdijpv)
There was a problem hiding this comment.
🟡 Changes recommended
Several showcased overrides are ineffective, environment switching can retain stale data, and new playgrounds lack required Playwright coverage.
9 open findings
Card background controls do not affect AiCreditsHero · New Add Playwright smoke test for theme playground · New Add Playwright smoke test for theme playground · New Add Playwright smoke test for theme playground · New Add Playwright smoke test for theme playground · New Card controls do not theme ReserveSwapShell surfaces · New Environment changes do not refresh claim data · New Add Playwright smoke test for theme playground · New Card background overrides do not affect widget shell · New
What changed in this PR
Adds consistent Showcase, Theme Overrides, QA, and integrator documentation across the remaining widgets.
Changes:
- Adds theme playgrounds and widget guides.
- Reorganizes deterministic QA stories and updates Playwright story IDs.
- Adds environment and live-connector showcase controls.
| File | Description |
|---|---|
tests/widgets/superfluid-campaign-widget/states.spec.ts |
Updates QA story IDs. |
tests/widgets/governance-widget/onboarding.spec.ts |
Updates onboarding story IDs. |
tests/widgets/goodreserve-widget/states.spec.ts |
Updates Showcase and QA story IDs. |
tests/widgets/gooddata-widget/states.spec.ts |
Updates QA story IDs. |
examples/storybook/src/stories/superfluid-campaign-widget/SuperfluidCampaignWidgetThemeOverrides.stories.tsx |
Adds theme playground. |
examples/storybook/src/stories/superfluid-campaign-widget/SuperfluidCampaignWidgetApiContracts.stories.tsx |
Moves API contracts under QA. |
examples/storybook/src/stories/superfluid-campaign-widget/SuperfluidCampaignWidget.mdx |
Documents theme overrides. |
examples/storybook/src/stories/helpers/goodDataWidgetStories.tsx |
Registers and exposes the live connector. |
examples/storybook/src/stories/helpers/citizenClaimWidgetStories.tsx |
Adds environment and initial-tab inputs. |
examples/storybook/src/stories/governance-widget/GovernanceWidget.mdx |
Documents environment availability. |
examples/storybook/src/stories/governance-widget/GovernanceOnboarding.stories.tsx |
Moves onboarding stories under QA. |
examples/storybook/src/stories/goodreserve-widget/GoodReserveWidgetThemeOverrides.stories.tsx |
Adds theme playground. |
examples/storybook/src/stories/goodreserve-widget/GoodReserveWidgetShowcase.stories.tsx |
Retains live showcase stories. |
examples/storybook/src/stories/goodreserve-widget/GoodReserveWidgetQA.stories.tsx |
Adds deterministic reserve fixtures. |
examples/storybook/src/stories/goodreserve-widget/GoodReserveWidget.mdx |
Adds integrator documentation. |
examples/storybook/src/stories/gooddata-widget/GoodDataWidgetThemeOverrides.stories.tsx |
Adds theme playground. |
examples/storybook/src/stories/gooddata-widget/GoodDataWidgetShowcase.stories.tsx |
Adds live-connector showcase. |
examples/storybook/src/stories/gooddata-widget/GoodDataWidgetQA.stories.tsx |
Renames the QA namespace. |
examples/storybook/src/stories/gooddata-widget/GoodDataWidget.mdx |
Adds integrator documentation. |
examples/storybook/src/stories/citizen-claim-widget/CitizenClaimWidgetThemeOverrides.stories.tsx |
Adds theme playground. |
examples/storybook/src/stories/citizen-claim-widget/CitizenClaimWidgetShowcase.stories.tsx |
Adds environment controls. |
examples/storybook/src/stories/citizen-claim-widget/CitizenClaimWidget.mdx |
Documents controls and theming. |
examples/storybook/src/stories/ai-credits-widget/AiCreditsWidgetThemeOverrides.stories.tsx |
Adds theme playground. |
examples/storybook/src/stories/ai-credits-widget/AiCreditsWidgetShowcase.stories.tsx |
Removes the mock fixture from Showcase. |
examples/storybook/src/stories/ai-credits-widget/AiCreditsWidgetQA.stories.tsx |
Moves the mock fixture into QA. |
examples/storybook/src/stories/ai-credits-widget/AiCreditsWidget.mdx |
Updates showcase and QA guidance. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
| dark_Card: { | ||
| background: args.darkCardBackground, | ||
| borderColor: args.darkCardBorderColor, | ||
| }, | ||
| light_Card: { | ||
| background: args.lightCardBackground, | ||
| borderColor: args.lightCardBorderColor, | ||
| }, |
| export default meta | ||
| type Story = StoryObj<OverridesArgs> | ||
|
|
||
| export const Playground: Story = { |
| export default meta | ||
| type Story = StoryObj<OverridesArgs> | ||
|
|
||
| export const Playground: Story = { |
| export default meta | ||
| type Story = StoryObj<OverridesArgs> | ||
|
|
||
| export const Playground: Story = { |
| export default meta | ||
| type Story = StoryObj<OverridesArgs> | ||
|
|
||
| export const Playground: Story = { |
| <GoodReserveWidget | ||
| provider={provider} | ||
| mockState={reserveWidgetMockStates.idleBuy} | ||
| defaultTheme="dark" | ||
| themeOverrides={themeOverrides} |
| <CitizenClaimWidget | ||
| provider={provider} | ||
| environment="development" | ||
| environment={environment} |
| export default meta | ||
| type Story = StoryObj<OverridesArgs> | ||
|
|
||
| export const Playground: Story = { |
| <li> | ||
| <strong>dark_Card / light_Card</strong>: outer widget shell, ActionCard, the | ||
| LeaderboardSummary card, and each LeaderboardRow all cascade from this theme — | ||
| demonstrated below on the outer shell and ActionCard. | ||
| </li> |
|
Merge order note (per Olivia, Bounty Lead, 2026-10-21): hold this PR until #227 (Thales's AI Credits dashboard fixes) lands first — both touch |
|
@Abuchtela is interested in taking the GoodBounty follow-up for #253 (theme-control fixes, CitizenClaim environment remount, shared environment options, and QA evidence). Proposed ETA: November 2, 2026, subject to fork/write access and local test execution. Please confirm whether the bounty can be claimed here or requires a separate claim flow. |
|
@Abuchtela assignments for issues happens in the issues, not in the pull-requests. |


Closes #252
Summary
Adds the Showcase / Theme overrides / QA three-way story split to the remaining widgets per the plan in #252:
Each widget gets an MDX integrator doc, a deterministic QA fixture set backing its Playwright spec, and (where applicable) a Theme overrides playground scoped to the theme targets the widget actually renders.
Test plan
tsc --noEmitclean (only pre-existing baseline errors)eslintcleanAiCreditsWidget appkit connect wallettests caused byVITE_REOWN_PROJECT_IDnot being set in the CI/dev sandbox (pre-existing, unrelated to this change — confirmed zero diff on that spec file vs main)Note on commit signing
Commits on this branch show as unsigned in this environment — a known, long-standing issue in this org (same symptom previously seen on #148, #179, and #227; root cause not yet pinned down). Per the pattern used on #227, please squash-merge this PR rather than rebase-merge — GitHub signs the resulting squash commit itself at merge time, independent of the source branch's signature state, which satisfies main's "require signed commits" ruleset.
🤖 Generated by goodbounties-nanoclaw-agent