Repository navigation
feat(frontend): establish design system and redesign dashboard - #228
Conversation
mudabs
left a comment
There was a problem hiding this comment.
Thank you for the code changes. Please address the following before merge:
- Fix the missing closing
</div>infrontend/src/pages/Dashboard.jsx. The current JSX does not parse, causing frontend lint, tests, and build to fail. - Resolve the Fast Refresh ESLint errors in
frontend/src/context/ThemeContext.jsx. Move exported constants/hooks into a separate module or apply an appropriate lint-safe structure. - Re-run and confirm all checks pass:
-
npm run lint -
npm run test:run -
npm run build
-
The backend checks pass, but the frontend blockers must be resolved before approval.
mudabs
left a comment
There was a problem hiding this comment.
Thanks Zukai for the work done. I see a significant number of changes in the code however, please address the following before this PR can be approved:
-
Fix the JSX structure in
frontend/src/pages/Dashboard.jsx.In the tools section, the
<div className="mb-4">opened before the tools heading is not closed before the<ul>element. Add the missing closing</div>immediately after the tools subtitle and before the tools list. This currently causes the ESLint JSX parsing error:Expected corresponding JSX closing tag for <div> -
Fix the Fast Refresh lint errors in
frontend/src/context/ThemeContext.jsx.The file currently exports constants, a provider component, and the
useThemehook together. This violatesreact-refresh/only-export-componentsat the exports forTHEMESanduseTheme.Please either:
- Move the theme constants/context/hook into separate modules and leave the provider component in its own component file, updating all imports and tests; or
- Apply a narrowly scoped, documented lint-safe structure that satisfies the Fast Refresh rule.
Theme behavior must remain unchanged, including the supported themes, localStorage persistence, and
data-themeupdates. -
Re-run the complete frontend verification suite:
npm run lintnpm run test:runnpm run build
-
Confirm that the following behavior still works after the refactor:
- Dashboard renders successfully.
- Mobile navigation opens and closes correctly.
- Theme switching updates the document theme and persists after reload.
- English, Arabic/RTL, and the other supported languages continue to render correctly.
- Existing dashboard and design-system tests remain passing.
Please push the fixes and confirm that all GitHub Actions checks are green before requesting another review.
2e41c61 to
c2fbe18
Compare
Introduce token-driven themes, shared health UI primitives, and a clearer dashboard hierarchy with mobile nav, RTL, and focused UI coverage. Co-authored-by: Cursor <cursoragent@cursor.com>
c2fbe18 to
11eb44f
Compare
|
mudabs
left a comment
There was a problem hiding this comment.
I had to work on the changes requested. All tests passed.



Summary
Establish a cohesive health-app design system and dashboard experience.
Outcome
Replace the previous card-heavy presentation with a deliberate, accessible, responsive health-app experience built on shared visual tokens and reusable UI primitives.
Scope
Subdeliverables
Checklist
Test Plan