You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Establish a centralized global stylesheet and design token system for the CivicKit mobile app. Right now styles are scattered or inconsistent, this would create a single source for colors, typography, spacing, and shared component styles so the UI feels cohesive as the app grows.
Purpose
As Developer 2 builds screens like the Issue List and Issue Card, they need consistent values to pull from. Without a global stylesheet, every developer makes slightly different spacing/color choices and the app looks patchy.
All existing screens/components use theme values, no hardcoded hex codes or magic numbers
TypeScript types are correct, no any
Another developer can add a new screen using only imports from styles/
Tech Notes
Use React Native's StyleSheet.create() — do not use plain objects (RN optimizes registered styles)
Keep theme.ts as plain JS objects (not StyleSheets) so values can be used both in StyleSheet.create() and inline logic
For dark mode support later, structure colors as semantic names (background, surface) rather than raw names (white, gray100) — this makes a future dark theme a swap, not a rewrite
Spacing scale of 4px base (4, 8, 16, 24, 32, 48) matches most design systems and plays nicely with React Native's layout system
Description
Establish a centralized global stylesheet and design token system for the CivicKit mobile app. Right now styles are scattered or inconsistent, this would create a single source for colors, typography, spacing, and shared component styles so the UI feels cohesive as the app grows.
Purpose
As Developer 2 builds screens like the Issue List and Issue Card, they need consistent values to pull from. Without a global stylesheet, every developer makes slightly different spacing/color choices and the app looks patchy.
Requirements:
mobile/src/styles/theme.tswith design tokens (colors, spacing, typography, border radius, shadows)mobile/src/styles/globalStyles.tswith reusable style objects (containers, headings, cards, buttons, inputs)mobile/src/styles/index.tsas a barrel export for clean importsAcceptance Criteria
Tech Notes
Helpful Resources
Example Code
Coding Journal Prompts