Skip to content

feat: implement design system tokens, modal animations, and responsive layouts - #611

Open
Levi-Ojukwu wants to merge 5 commits into
Protocol-Guild:mainfrom
Levi-Ojukwu:feat/design-system-modal-animation-responsive
Open

feat: implement design system tokens, modal animations, and responsive layouts#611
Levi-Ojukwu wants to merge 5 commits into
Protocol-Guild:mainfrom
Levi-Ojukwu:feat/design-system-modal-animation-responsive

Conversation

@Levi-Ojukwu

@Levi-Ojukwu Levi-Ojukwu commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR addresses 4 design system and UI issues by implementing standardized design tokens, modal animations, responsive layouts, and print/export functionality. All changes follow existing patterns in @stellar/design-system and ThemeProvider.tsx.

Changes

closes #1361: Standardize modal enter/exit animation

  • AnimatedModal.tsx: New reusable modal component with framer-motion animations
  • Backdrop fade in/out (opacity 0 → 1)
  • Content scale + translate (95% → 100%, Y 8px → 0)
  • Respects prefers-reduced-motion for accessibility
  • Focus trapping, Escape key, ARIA attributes
  • EmployeeProfileModal.tsx: Reference integration demonstrating the pattern
  • UpgradeConfirmModal.tsx: Updated to use AnimatedModal
    closes #1356: Redesign employee portal layout for responsiveness
  • EmployeePortal.module.css: Added design tokens for spacing, typography, and breakpoints
  • Responsive grid: 4-col → 2-col → 1-col
  • Mobile-first touch targets (44px minimum)
  • prefers-reduced-motion support for shimmer animations
    closes #1355: Redesign dashboard grid layout for responsiveness
  • Home.module.css: New CSS module with design tokens
  • Responsive feature grid: 1-col → 3-col
  • Mobile-first typography scaling
  • prefers-reduced-motion support
  • Home.tsx: Updated to use CSS module
    closes #1354: Redesign print/export stylesheet
  • exportChart.ts: New utility with print/export functions
  • printPage(): Programmatic printing with design tokens
  • exportChartToImage(): Chart export to PNG
  • exportChartToPDF(): Chart export to PDF
  • generatePrintHTML(): Server-side HTML generation
  • index.css: Global print styles using design tokens
  • Forces light theme for print
  • Hides interactive elements
  • Optimizes typography for print
    Commit Messages
  1. feat: standardize modal enter/exit animation pattern
  2. feat: redesign employee portal layout for responsiveness
  3. feat: redesign dashboard grid layout for responsiveness
  4. feat: redesign print/export stylesheet

Closes #1361
Closes #1356
Closes #1355
Closes #1354

- Add AnimatedModal component with framer-motion animations
- Create EmployeeProfileModal as reference integration
- Update UpgradeConfirmModal to use AnimatedModal
- Respect prefers-reduced-motion for accessibility
- Add modal animation documentation in index.css

References: #1361
- Add portal design tokens for spacing, typography, and breakpoints
- Enhance responsive grid layouts for stats and transactions
- Improve mobile experience with better touch targets
- Add prefers-reduced-motion support for animations
- Document token system for other components to reuse

References: #1356
- Create Home.module.css with design tokens for dashboard
- Implement responsive grid: 1 col mobile → 3 col desktop
- Add mobile-first typography scaling
- Improve CTA button layout for mobile
- Add prefers-reduced-motion support
- Document token system for other components

References: #1355
- Create exportChart.ts utility with print/export functions
- Add design tokens for print styles
- Implement printPage() for programmatic printing
- Add exportChartToImage() for chart export
- Add exportChartToPDF() for PDF export
- Add generatePrintHTML() for server-side generation
- Add global print styles in index.css
- Force light theme for print output
- Hide interactive elements in print
- Optimize typography for print readability

References: #1354
- Remove unnecessary escape characters in CSS selectors
- Add proper type annotations for dynamic imports
- Add eslint-disable comments for dynamic import patterns
- Add jsPDFInstance interface for type safety

References: #1354
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.

1 participant