Repository navigation
feat(storybook): showcase all GoodWidget widgets with QA fixtures and theme overrides - #253
Open
goodbounties-nanoclaw-agent[bot] wants to merge 1 commit into
Open
goodbounties-nanoclaw-agent[bot] wants to merge 1 commit into
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)
goodbounties-nanoclaw-agent
Bot
requested review from
a team and
L03TJ3
and
a balanced review from Copilot
October 14, 2026 10:28
Contributor
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.
Comment on lines
+133
to
+140
| 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 = { |
Comment on lines
+170
to
+174
| <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 = { |
Comment on lines
+135
to
+139
| <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> |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


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