Skip to content

feat(ui): refactor frontend architecture with Tailwind v4 and responsive layout - #3

Open
Coriannder wants to merge 23 commits into
mainfrom
sebastian-branch
Open

Coriannder wants to merge 23 commits into
mainfrom
sebastian-branch

Conversation

@Coriannder

Copy link
Copy Markdown

📌 Summary & Motivation

This PR refactors the frontend into a modular architecture using Tailwind CSS v4, introduces a reusable UI design system in src/components/ui/, and makes the entire application fully mobile-responsive.

Approved during the team sprint review on September 16, 2026.


🛠️ Key Changes

1. Modular UI Design System (src/components/ui/)

  • Built accessible primitives: Button, Select, Input, Alert, Dropdown, and Modal.
  • Added outside-click and Escape key handling to modals and dropdowns.

2. Responsive Mobile Navigation

  • Implemented a static header with animated slide-down navigation drawer for mobile/tablet screens.
  • Fixed layer-rendering and subpixel antialiasing issues on Windows/GPU layers.

3. Component Refactoring & i18n

  • Refactored core views: SearchBar, ResultsTable (desktop table + mobile card view), and TranslationPanel.
  • Integrated react-i18next with full multilingual support across all panels (en, es, fr, de).

4. Repository & Build Hygiene

  • Updated .gitignore to exclude dist/, __pycache__/, and .env files.
  • Untracked legacy pycache binaries and resolved Tailwind v4 linter suggestions.

🧪 Verification & Testing

  • Validated build with npm run build (0 TypeScript errors).
  • Tested search, drug translation, and responsive layout across desktop and simulated mobile viewports.
  • Tested locally in Docker container (http://localhost:9000).

sofievargas and others added 23 commits March 31, 2026 21:55
In the process of integrating it with the UI
Generate concept IDs for DrugBank and RxNorm
+ Translation works (language packs and demo pack load), UI allows country selection
- Seems some brand names don't appear when searched, not a high priority atm imo but should be looked at
+ When brand names are searched, the canonical drug name is now the result
…languages, and countries)

+ Added languages and country info for generic drug name searches
+ Now displays brand name for selected country for translation
…essed out of number remaining (if available), as well as which database is currently being worked on

- Does not include info on what the most recent successful fetch was
- Still need to implement OCR, I tried to implement it from the backend repo and could not get it working
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.

4 participants