Skip to content

Feature:UI primitives - #87

Open
kosisochukwu1234 wants to merge 2 commits into
FinesseStudioLab:mainfrom
kosisochukwu1234:feature/ui-primitives
Open

Feature:UI primitives#87
kosisochukwu1234 wants to merge 2 commits into
FinesseStudioLab:mainfrom
kosisochukwu1234:feature/ui-primitives

Conversation

@kosisochukwu1234

Copy link
Copy Markdown

Closes #61

What this PR does

Implements the foundational UI primitives (Card, Badge, Button, Table, Stat, EmptyState, Skeleton) to prevent fragmentation as the dashboard is built out. Removes all inline style props from page components.

Changes

  • Theming: Added light mode support to globals.css using the @media (prefers-color-scheme: light) media query, ensuring components naturally adapt to system themes.
  • Primitives Built: Created components/ui/ with strongly-typed variants (e.g., variant="success") utilizing CSS Modules (ui.module.css).
  • Refactoring:
    • Overhauled app/operators/page.tsx and components/expected-pages.tsx to use the new UI components.
    • Refactored all scaffold pages (/compliance, /contracts, /roadmap, etc.) to use the Badge and EmptyState primitives.
  • Styling: Removed all inline style={{ ... }} objects from page-level markup. Replaced them with a few foundational utility layout classes added to globals.css (like .flex-between, .grid-cols-auto, .mt-16).
  • Documentation: Added components/ui/README.md containing usage and composition guidelines for future contributors.

@kosisochukwu1234 kosisochukwu1234 changed the title Feature/UI primitives Feature:UI primitives Aug 24, 2026
@joelpeace48-cell

Copy link
Copy Markdown
Contributor

@kosisochukwu1234 , please fix failing ci

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

components: build a shared UI primitive set

2 participants