Skip to content

[GoodBounty]: Finalize Governance Dashboard Components PR #50

Description

@L03TJ3

Summary

Pick up the existing AI-generated PR for the Governance homepage components and make it ready
for human review. Create a new branch from: copilot/plan-governance-homepage-components
when you create a pull-request the target branch should also be that branch (not main)

Source items:

The PR already adds:

  • @goodwidget/governance-widget
  • standalone presentational components for impact, balance, proposal, and funding-distribution UI
  • Storybook stories under examples/storybook/src/stories/governance-widget/
  • Playwright widget coverage under tests/widgets/governance-widget/

Focus on the remaining merge-readiness gaps, confirm the branch against the parent issue and plan issue, and leave the PR in a clean review state. make sure that the code is clean and maintanable. and visually the components should align with the shared screenshots.

there is also a figma and interactive stitch preview you can click through:
(figma has some additional comments)
https://www.figma.com/design/xsk5EiF6CvStA9mtdbA9OR/GoodWidget-Library?node-id=2311-3&p=f

https://stitch.withgoogle.com/projects/1959701114157262308?pli=1

Contributor task

  • Claim the bounty with an ETA.
  • Check out PR #49 and run it locally from the PR branch.
  • Compare the implementation against issue #46, plan issue #47, ARCHITECTURE.md,
    docs/demo-environment.md, docs/qa-guide.md, and
    docs/architecture/theming-contract.md.
  • Fix remaining gaps in implementation, verification, PR metadata, and review evidence.
  • Refresh screenshots/videos if UI changes.
  • Leave a handoff comment with what changed, what was tested, and remaining risks.

Known finish-work to verify or fix

  • Remove web-only rendering from the shared governance package.
    packages/governance-widget/src/governanceComponents.tsx currently renders voter avatars with a
    raw <img> element. This package is meant to live in the cross-platform widget system, so the
    avatar implementation should be made compatible with the supported runtime targets instead of
    depending on a browser-only tag.
  • The PR description should reference issue #46 and plan issue #47, and include a checklist
    mirroring the acceptance criteria covered by this branch.
  • Re-verify Storybook and Playwright from a clean server/process.
    The governance stories are present in a fresh Storybook build and the widget Playwright suite
    passes against a clean build, but contributors should rerun verification from a clean local
    Storybook process and make sure the committed evidence matches the actual PR branch output.
  • Confirm package-boundary discipline.
    Keep governance-specific composites local to packages/governance-widget unless a primitive is
    clearly reusable and intentionally promoted to packages/ui.
  • Confirm the components match the requested UI.
    Do not introduce wallet, subgraph, contract, or runtime integration in this PR.
  • Make the it modular. the upcoming main GoodReserveWidget.tsx will be the final ui. all these components should be split into their own respective files.

Scope checks

  • PR #49 still solves the issue #46 requirements for presentational governance homepage components.
  • The implementation follows plan issue #47 or clearly explains any deviation.
  • Existing repo patterns and package boundaries are respected.
  • Main happy paths and important edge states work for:
    ImpactCard, BalanceCard, AlignmentVotingProposalCard,
    OptimisticVotingProposalCard, and FundingDistributionChart.
  • Storybook covers the expected light, dark, mobile, long-content, and empty/variant states.
  • Playwright covers the main flows and the committed screenshots reflect the current branch output.
  • Desktop and mobile layouts are usable.
  • The PR description links the source issues and includes test evidence.

Required commands

pnpm install
pnpm run build
pnpm run lint
pnpm --filter @goodwidget/storybook build-storybook
pnpm test:demo tests/widgets/governance-widget

If a command cannot be run or fails for reasons outside this PR, document why in the handoff.

Current verification notes from review:

  • pnpm run build passed on the PR branch after install.
  • pnpm test:demo tests/widgets/governance-widget passed against a clean Storybook build.
  • pnpm run lint currently fails in packages/core/src/provider.tsx with an existing
    @typescript-eslint/no-empty-object-type error that is outside the governance package. Confirm
    whether that failure is already known on the branch and document it explicitly if it remains
    unchanged.

Metadata

Metadata

Assignees

Labels

GoodBounties - RareLarger features, touches multiple areas

Type

No type
No fields configured for issues without a type.

Projects

Status
Deploy and Verify

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions