Skip to content

Feature/improve mobile responsiveness on the dashboard - #273

Merged
arisu6804 merged 2 commits into
RemitFlow:mainfrom
Unclebaffa:feature/improve-mobile-responsiveness-on-the-dashboard
Jul 27, 2026
Merged

Feature/improve mobile responsiveness on the dashboard#273
arisu6804 merged 2 commits into
RemitFlow:mainfrom
Unclebaffa:feature/improve-mobile-responsiveness-on-the-dashboard

Conversation

@Unclebaffa

Copy link
Copy Markdown
Contributor

Here's a high-level summary of what's covered:


Commit 1 — Mobile Responsiveness

CI/CD

  • lighthouse.yml updated to npm ci || npm install so Linux CI runners don't fail on cross-platform lockfile mismatches
  • Linux x64 optional entries pre-populated in package-lock.json

CSS — 3 files changed

  • Transfers.css: min-height: 44px touch targets on all 3 filter controls; @media ≤720px stacks filters vertically full-width; @media ≤480px collapses the header
  • responsive.css: Fixed has-checkbox grid selector; ≤480px single-column layout; overflow-x: auto on table wrapper
  • Chart.css: Fixed an unclosed @media rule that silently broke all chart styles below it; added overflow-x: auto to .chart-wrapper for narrow screens

Code Cleanup

  • Removed duplicate import blocks from App.jsx, Navbar.jsx, Chart.jsx, Chart.stories.jsx, Button.stories.jsx, Navbar.stories.jsx — these caused PARSE_ERROR in Vite's oxc plugin, crashing 9 test suites
  • Removed duplicate render (transfers list + chart rendered twice) from Transfers.jsx

Tests

  • Extended touch-targets.test.js with Transfers filter assertions
  • New test/integration/responsive-dashboard.test.jsx — guards against duplicate renders; validates filter ARIA labels on mobile
  • Fixed locale-preference.test.jsx to handle two LocaleSelect instances (navbar + drawer)

Commit 2 — ESLint Fix

Config Migration (.eslintrc.jsoneslint.config.js)

  • Installed eslint, eslint-plugin-react, globals as proper devDependencies (none were direct deps before)
  • Wrote flat config preserving all prior rules: eslint:recommended, react/recommended, jsx-runtime, prettier, react/prop-types: off
  • Renamed .eslintrc.json.eslintrc.json.bak to avoid conflict

9 Lint Errors Fixed across 4 files

All were no-unused-vars — fixed using ES2019 bare catch {} (no binding needed when the error is intentionally swallowed) and _payload prefix in wallet.js's signTransaction.

Closes #5

- Add responsive breakpoints for dashboard filters at <=720px and <=480px
  (vertical stacking, full-width inputs, smaller padding)
- Add min-height: 44px touch targets to all Transfers filter controls
- Fix transfer-row grid layouts for has-checkbox selector on mobile
- Wrap chart SVG in overflow-x: auto chart-wrapper for narrow screens
- Fix unclosed @media rule in Chart.css
- Clean up duplicate imports in App.jsx, Navbar.jsx, Chart.jsx,
  Button.stories.jsx, Chart.stories.jsx, and Navbar.stories.jsx
- Remove duplicate render logic outside PullToRefresh in Transfers.jsx
- Update Lighthouse CI to use npm ci || npm install for cross-platform support
- Generate Linux x64 optional entries in package-lock.json
- Add touch-target assertions for Transfers.css filter controls
- Add integration test: responsive-dashboard.test.jsx
- Update README responsive layout table with corrected breakpoints
- Fix locale-preference tests to handle multiple LocaleSelect instances
- Migrate from legacy .eslintrc.json (ESLint v8 format) to eslint.config.js
  (ESLint v9+ flat config), preserving all existing rules:
  eslint:recommended, react/recommended, jsx-runtime, prettier
- Install eslint, eslint-plugin-react, and globals as direct devDependencies
- Rename .eslintrc.json -> .eslintrc.json.bak to prevent config conflict
- Fix 9 no-unused-vars errors across 4 files:
  - src/hooks/useLocalStorage.js: bare catch{} for storage error swallowing
  - src/hooks/useTransfers.js: bare catch{} in reload()
  - src/services/api.js: bare catch{} in read() and write()
  - src/services/wallet.js: bare catch{} in connectWallet/getStoredWallet/
    disconnectWallet; rename unused payload -> _payload in signTransaction
@arisu6804

Copy link
Copy Markdown
Contributor

Clean and focused. Appreciate it.

@arisu6804
arisu6804 merged commit faab088 into RemitFlow:main Jul 27, 2026
1 check passed
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.

Improve mobile responsiveness on the dashboard

2 participants