Bumps dependency versions; implements comboapp page#205
Conversation
Update package.json and package-lock.json with numerous dependency upgrades (e.g. Next, MUI, Tailwind/PostCSS toolchain, TypeScript, @tanstack/react-query, axios, swiper, apexcharts/react-apexcharts, prettier, eslint plugins/types, and many transitive packages). Also increment package version to 0.2.0 and regenerate package-lock.json to reflect updated resolved versions and platform binaries. These changes consolidate library updates for compatibility and newer releases. Run a full install and test the app to verify there are no regressions from dependency changes.
There was a problem hiding this comment.
Pull request overview
Adds a new “Drug Combinations” (combo checker) feature as a dedicated Next.js page with a self-contained UI (selector, legend, results cards) and a rule-backed interaction dataset, alongside a general dependency bump.
Changes:
- Introduces
/combopage and top-levelComboCheckercomponent to render the new tool. - Adds combo checker UI components (legend, selector, results/cards) plus a CSS module with self-hosted fonts.
- Adds a large rule-based interaction dataset and lookup utilities in
comboData.ts, and updates dependency versions inpackage.json.
Reviewed changes
Copilot reviewed 9 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pages/combo.tsx | New Next.js page that mounts the combo checker and sets page metadata. |
| src/components/comboChecker/ComboChecker.tsx | Top-level combo checker layout, navigation, state, and wiring of selector/results. |
| src/components/comboChecker/SubstanceSelector.tsx | Search + chip-based multi-select UI for substances. |
| src/components/comboChecker/Legend.tsx | Renders the risk legend based on shared risk definitions. |
| src/components/comboChecker/ComboResults.tsx | Computes pairwise combinations and renders result cards/empty state. |
| src/components/comboChecker/ComboCard.tsx | Presentational card for a single combo result. |
| src/components/comboChecker/comboData.ts | Defines substances, risk metadata, interaction dataset, and combo lookup helpers. |
| src/components/comboChecker/comboChecker.module.css | Styling and font-face declarations for the combo checker UI. |
| package.json | Dependency upgrades (Next.js, MUI, Tailwind/PostCSS, etc.). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Replace the previous rule-based buildCombos implementation with an imported comboInteractions.json (TripSit canonical dataset). Introduce GROUPS (preserves display order), derive SUBSTANCES from groups, add a STATUS_TO_RISK mapping and a simpler case-insensitive INTERACTIONS lookup in getCombo. Also add a small UI guard in ComboCard to only render the note when showNote is true and note is non-empty.
|
@sympact06 just wanted to ask about the naming of these files. Some are pascal case and others are camel case. Do we maybe want to choose one and stick with it rather than have two different file naming standards? |
yeah this is one convention actually, just split by type. components are PascalCase and the data/style files are camelCase, same as the rest of the repo (utils/, the assets json). so it's consistent like this, but can change it if you'd rather have one style |
As discussed, we'll merge this code for now and I'll do the file rename stuff after we've upgraded everything. |
Bumps package version, upgrades dependencies, and regenerates the lockfile
to ensure compatibility and leverage the latest features and bug fixes.
Implements new combo checker feature:
for building the combo checker interface
combo checker feature