Skip to content

fix: 🐛 preferences filtering - #685

Merged
EightBitByte merged 5 commits into
devfrom
fixing-preferences-filtering
May 1, 2026
Merged

fix: 🐛 preferences filtering#685
EightBitByte merged 5 commits into
devfrom
fixing-preferences-filtering

Conversation

@Pranav-Batra

Copy link
Copy Markdown
Contributor

Summary

Fixed "show prefs only" not working

Changes

removed some allergies/preferences that show up as null in the food's dietaryRestrictions but were being flagged on the frontend

Closes #665 #681

@Pranav-Batra
Pranav-Batra temporarily deployed to staging-685 April 14, 2026 22:06 — with GitHub Actions Inactive
@github-actions
github-actions Bot temporarily deployed to staging-685 April 14, 2026 22:06 Inactive
@EightBitByte
EightBitByte changed the base branch from main to dev April 16, 2026 17:22
@EightBitByte EightBitByte changed the title Fixing preferences filtering fix: 🐛 preferences filtering Apr 16, 2026
Comment thread apps/next/src/components/ui/card/food-card.tsx Outdated
@EightBitByte
EightBitByte temporarily deployed to staging-685 May 1, 2026 19:11 — with GitHub Actions Inactive
@github-actions
github-actions Bot temporarily deployed to staging-685 May 1, 2026 19:11 Inactive
@EightBitByte EightBitByte linked an issue May 1, 2026 that may be closed by this pull request
@EightBitByte
EightBitByte temporarily deployed to staging-685 May 1, 2026 19:54 — with GitHub Actions Inactive
@github-actions
github-actions Bot temporarily deployed to staging-685 May 1, 2026 19:54 Inactive
@EightBitByte
EightBitByte merged commit 2876c8f into dev May 1, 2026
2 checks passed
@EightBitByte
EightBitByte deleted the fixing-preferences-filtering branch May 12, 2026 17:26
EightBitByte added a commit that referenced this pull request May 28, 2026
* chore: 🔧 merge main changes into dev

* fix: 🐛 tRPC configuration gracefully handles missing db url

* chore: update next (sync with main)

* chore: 🔧 regen pnpm-lock

* chore: 🔧 add mui as dep

* chore: 🔧 merge temp workflows from main

* fix: 🐛 comparison bug perhaps

* fix: 🐛 pickable dates now update as expected on the frontend

* fix: 🐛 date default mismatch

* chore: 🔧 main sync

* fix: 🐛 add markdown description optionality

* chore: 🔧 add CI testing on dev

* fix: 🐛 make AEM_eventList descriptions nullable

* feat: 575/dark mode (#583)

* chore(frontend): add theme provider dependency for dark mode and locked node to v20

* feat(frontend): add dark mode support using next-themes - preparing to add toggle

* feat(frontend): add light/dark mode toggle in sidebar

* feat(frontend): change dark mode button a toggle and fix toolbar

* feat(frontend): fix meal card text for dark mode

* chore: 🔧 pull workflow workarounds from dev

* chore: 🔧 merge dev

* chore: 🔧 reegn lockfile

* chore: 🔧 remerge lockfile again

* chore: 🔧 merge dev AGAIN

* chore: add better auth secret on GitHub

* fix(ui): fix nested button in theme toggle

* chore: replace React import with named imports

---------

Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Lex Truong <lext@uci.edu>

* feat: migrate header and sidebar to MUI (#592)

* chore: remove verification from pull request template

* chore: add testing instructions

* feat: ✨ date selection restriction (#545)

* wip: event images

* feat(api): add image fetching logic to weeklyJob

* fix(api): uncomment contributors and weekly job

* perf(api/weekly): add batch updates for menus and dishes in weekly

* feat(api): get date range trpc query

* chore(api): getDateRange test

* feat(frontend): restrict pickable dates on calendar

* fix(api): convert Y-M-D date string to local time

* fix(frontend): date picker button fits date

* fix(frontend): cannot select already selected date

* feat(api): get list instead of range of pickable dates

* feat(frontend): user selects from list of enabled dates

* feat(frontend): restrict calendar navigation to pickable dates

* fix(api): error msg and db sorting logic

* chore(frontend): removed dup DateList type definition

---------

Co-authored-by: LexTruong <82004296+LexTruong@users.noreply.github.com>

* feat: deploy to sst (#561)

* feat: remove db certs (#565)

* fix: db nonsense (#566)

* fix: misc sst

* chore(lint): 🔧 add lint config and packages (#569)

* chore(lint): 🔧 add lint config and packages

* chore: 🔧 pull the cool looking logo into README

* ci: deploy button

* feat: sst more (#571)

* fix: 🐛 re-gen pnpm-lock

* fix: 🐛 import schema properly

* fix: 🐛 update graphql schema

* fix: 🐛 add DATABASE_URL secret to environment of root SST config

* fix: 🐛 remove hyphen from auth route directory

* fix: 🐛 daily no longer requires non-null period data

* feat: ✨ change deployment invocation cron from daily to weekly

* chore: 🔧 update next to latest version

* chore: 🔧 upgrade node version for deployment action

* fix: migrations (#578)

* fix: migrations (#579)

* ci: trigger

* fix: await upsert in weekly (#581)

* fix: pulumi

* fix: 🐛 pickable dates

* chore: 🔧 regen pnpm-lock

* fix: 🐛 date mismatch

* fix: 🐛 remove merge heads from json file

* removed extra sidebar content and migrated to MUI

* refactor: replace mobile Sheet sidebar with permanent drawer component

- Remove SheetClose wrapper from SidebarButton to support always-visible drawer
- Replace SheetContent with plain div container in SidebarContent
- Add @mui/icons-material dependency for Material-UI icon components
- Rename Toolbar component to Header for better semantic clarity
- Remove @emotion/react direct dependency (retained as peer dependency via @mui/material)

* fix(ui): migrate sidebar from shadcn to MUI components

- Move Drawer management from Header to SidebarContent component
- Replace shadcn Button with MUI ButtonBase in SidebarButton
- Add onClose callback prop to SidebarButton for drawer dismissal
- Remove unused Drawer import from Header component
- Maintain existing styling and functionality while aligning with MUI design system

* fix: Route for meal tracker corrected

* fix: replace Header with Toolbar

* fix: change Toolbar back to Header

* fix(frontend): header; converted some styling to tailwind; clean up imports and comments

* changed styling to tailwind

* removed unnecessary comments

* fix: no switch inside button

* chore: ghost commit after unlocking sst instance

---------

Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>
Co-authored-by: LexTruong <82004296+LexTruong@users.noreply.github.com>
Co-authored-by: Kevin Wu <kevinwu098@gmail.com>
Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Pranav Batra <batrap1@uci.edu>
Co-authored-by: William <wilyan090@gmail.com>
Co-authored-by: Lex Truong <lext@uci.edu>

* feat: migrate card and drawer to MUI (#590)

* update packages

* feat(frontend): integrated MUI with event card + testing ui (just card, not drawer yet)

* feat(frontend): edited sx prop to match prev. styles

* feat(frontend): updated food + rating card to MUI styles. todo: migrate dialog+drawer components to render clicks

* feat(frontend): updated event-dialog, food-dialog, ratings-card to render clicks, integrate MUI and match figma styles

* feat(frontend): integrated MUI styles in event and food drawer

* feat: updated event card and food card to be seen through on the sides

* feat: left aligned nutrition label on food card

* fix!: 💥 🐛 merge pnpm-lock from dev (regen on dev)

* fix: 🐛 checkout pnpm-lock from dev

* chore: 🔧 regen lockfile

* chore: 🔧 remove autogenerated .next directories

* chore: 🔧 add .next to gitignore

* feat(frontend): edited CSS styles so button matches body font + leaves text as is

* chore: 🔧 regen lockfile

* fix: remove duplicate migration files

---------

Co-authored-by: SAMIKA BHAVESH BHATKAR <samikabhatkar@gmail.com>
Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Lex Truong <lext@uci.edu>

* feat: improve backend performance (#591)

* Add stale time and selective refreshing to tRPC

* Use multi-threading to speed up wwekly cron job

* Optimize data-derivation with zustand

Deriving display data from what was in the database was a costly operation, so zustand helps prevent needlessly re-computing the display data.

* chore: 🔧 pull dev CI changes

---------

Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Lex Truong <lext@uci.edu>

* fix: await weekly upsert promise

Co-authored by: Dante Dam <laggycomputer@yahoo.com>

* feat: integrate user features with ICSSC Auth (#603)

* fix: drizzle config includes new tables

* fix: auth uses env base url var

* fix: regenerated 0002_snapshot with new tables

* feat: meal planner integrated with auth

* refactor: removed unnecessary useFavorites hook on home page

* feat: favorites integrated with auth

* refactor: lifted useSession hook from meal card

* feat: sidebar user feature tabs disabled if not logged in

* feat: integrate ratings with auth

* feat: ratings card uses drawer on mobile

* feat: can log same meal many times

* fix: favorites page passes userid to cards

* fix: meal tracker page padding and meal card star fill

* chore: replace social provider with genericOAuth plugin

* fix: set pkce in auth config

* fix: get user's profile image from icssc auth

* fix: add betterauth secret and base url to sst config

* chore: set client id in sst config

* chore: todo snackbar comments

Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* fix: rename meal-tracker page to nutrition

* refactor: move hall store to context folder

* feat: get session and store/clear userid in root layout component

* feat: use stored userId instead of prop drilling in interactive star rating

* chore: get userId with store instead of auth session

---------

Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* feat: ✨ merge 598/meal drawer dialog UI (#605)

* fixed image properties to fit event dialog/drawer

* feat(frontend): edited food dialog/drawer to match figma styles

* feat(frontend): fixed event card img to be centered on mobile

* feat:frontend(minor styling fixes on event card)

* feat(frontend): overwrote inter font w/ poppins

* removed pin from food drawer

* feat ✨ 594/icon migration (Lucide -> MUI) (#612)

* chore: 🔧 add mui icons as a dependency

* chore: 🔧 icon replacement in progress

* chore: 🔧 remove dupes, regen lockfile

* chore: 🔧 switched from lucide icons to MUI icons in food-card.tsx

* chore: 🔧 switched from lucide icons to MUI icons in event-card.tsx

* chore: switched from lucide icons to MUI icons in ratings-card.tsx (HAS ERRORS)

* chore: 🔧 removed Lucide dependency

* chore: changed from Lucide to MUI icon components for all components in ui (HAS ERRORS)

* chore: changed from Lucide to MUI icon components in /utils/types.ts (HAS ERRORS)

* chore: merge dev

* chore: merge dev

* chore: 🔧 merge dev AGAIN

* chore: 🔧 merge dev (hopefully the last time)

* chore: 🔧 merge, merge, merge...

* chore: 🔧 regen lockfile

* fix: 🐛 remove double import of tRPC

---------

Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Yitong Liu <yitonl21@uci.edu>

* feat: ✨ 599/migrate toolbar to new UI (#613)

* feat: redesign toolbar to follow figma design

* fix(front): match toolbar to figma

* chore: merge with dev

* fix: gradient added to images for toolbar visability, added google image to nextjs config remote pattern

* fix: marked gradient as important for tailwind

* chore: merge dev

* merge dev?

---------

Co-authored-by: Lex Truong <lext@uci.edu>
Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* chore: 🔧 increase timeout for AEMEventList test (#607)

* chore: 🔧 bump the timeout even more for AEMEventList

* 602/database investigation (#609)

* chore(db): update test data to not use dish.menuId usage

* feat(db): modernize restaurant ids, indexes, and number fields

* chore(db): add migration, docs, and constraint fix

* refactor(db): remove dishes menu_id and use join table

* chore(db): fix journal.json merge conflict

* chore(db): fix journal.json merge conflict time for idx 3

* chore(db): fix zotmeal.sql merge conflict

* chore(db): fix snapshot.json merge conflict

* fix(db): change test period restaurant id

---------

Co-authored-by: elmallaa <elmallaa@uci.edu>

* feat: ✨ add robust toolbar item modification, styling

* feat: ✨ 597/meal card new UI (#608)

* added simplified property

* make the isSimplified property default to false

* added simplified property

* make the isSimplified property default to false

* feat: simplified food card

* feat: organize food cards to be placed horizontally when multiple exists

* feat: added plus button to the simplified food card

* fix: added back user feedback button onClick functionality

* feat: updated ui for the nonsimplified food card

* feat: made the regular food card a smaller width so two can fit in a row consistent with the simplified food card

* chore: maintain consistent width for simplified card

* chore: reduced duplicated code in div styling for non simpified food card

* fix: vertically centered food icon and make it smaller

* fix: make the average rating a more apparent gray

* fix: favorite button works when clicked

* fix: added gap for spacing between text description and favorite button

* feat: added card view and compact view buttons

* chore: revert back to previous FoodCardContent style

* fix: remove food tracker button

* chore: 🔧 fix merge conflicts

* chore: 🔧 fix another merge conflict

* fix: 🐛 remove duplicate DishesInfo

---------

Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>

* chore: 🔧 625/update literals (#626)

* chore!: update literals

* chore: 🔧 update all sql files

* fix: 🐛 update logo path

* fix: 🐛 await async in test

* fix: 🐛 remove redundancies from snapshot

* fix!: 💥 🐛 generate migration

* fix: 🐛 add manual changes to migration

* chore: 🔧 remove turbo usage in graphql script

* fix: 🐛 add 15s timeout to AdobeECommerce Parsing

* fix: 🐛 legacy restaurant id enum now casts

* fix: 🐛 migrate unknown prices to 0

* fix: 🐛 nutrition infos now default to zero when empty string

* chore: 🔧 merge dev

* fix: 🐛 update some literals changed in the merge

* feat: migrate sidebar to new UI (#606)

* converted sidebar to menu component

* removed unnecessary comments

* fixed 'about' href

* added feedback button & restyled to better represent figma

* fixed bug where menu popped up on left side after switching tabs, now auto closes when tabs are switched

* fix(frontend): scaled down menu to better fit screen & switched out lucide-react icons with MUI

* feat(frontend): changed sign out button to sign in if user not logged in

* chore: fixed header/toolbar conflict

* feat(frontend): fixed signin/signout issue

* feat(frontend): made menu button white

* feat(frontend): fixed dark/light mode toggle

* fix: 🐛 biome checks

* fix: 🐛 center sign out button

---------

Co-authored-by: Pranav Batra <batrap1@uci.edu>
Co-authored-by: Lex Truong <lext@uci.edu>

* feat: 601/meal images (#621)

* feat(db): ✨ add dishes.image_url column and migration

* feat(api): ✨ ingest and upsert dish imageUrl from location recipes

* feat(api): ✨ return dish imageUrl in restaurants query

* feat(web): ✨ display dish images on cards, dialogs, and drawers with fallbacks

* fix: 🐛 switch to Next Image and regenerate dish image migration

* chore: 🔧 resolved merge conflicts

* chore: resolved merge conflicts and merged dev again

* fix: 🐛 revert local db port to 5432

* fix: 🐛 migrations

* fix: 🐛 update migration for prod db

* fix: 🐛 move "if not exists" to proper spot

* chore: 🖌️ MUI Style Injection (#614)

* chore: 🔧 add MUI app router cache provider

* chore: 🔧 modify theme-provider with MUI theme

* fix: 🐛 mui adopts tailwind styles now

* chore(ui): 🔧 define palette, fix card switcher

* fix(ui): 🐛 card starborder thickness

* feat: User Onboarding (#632)

* chore: 🔧 wip  mobile stepper and responsive dialog/drawer

* chore: 🔧 stepper steps skeleton

* feat(backend): ✨ added tables for user allergies & dietary prefs w/ migrations

* feat(backend): ✨ added procedures to add/remove/update allergies & preferences

* feat: ✨ onboarding styling

* feat(backend): ✨ added procedures for allergies & preferences

* chore: 🔧 add hasOnboarded flag to user table

* fix: 🐛 client reads new user schema

* fix: 🐛 back/next button logic, dialog shows only for new users

* chore: 🔧 get user name from auth

* chore: 🔧 back/next button styling

* fix: 🐛 docker port change, regen meal image migration file

* feat(backend): ✨ rewrote services to take in arrays & added trpc routers

* fix: 🐛 regen migration files

* chore: 🔧 dialog text styling

* fix: 🐛 next/back button size

* fix: 🐛 add preference and allergy routers to root routher

* refactor: ♻️ add procedures use upsert util and return void

* fix: 🐛 back/next button color

* chore: 🔧 onboard tRPC procedure in user router

* feat: ✨ save prefs and allergies during onboarding

---------

Co-authored-by: Pranav Batra <batrap1@uci.edu>
Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* feat: Meal Card Improvements (#628)

* feat(frontend): add "Add to meal tracker" button

* feat(frontend): add scrolling and finalize meal tracker

* feat: ✨ restaurant page (#617)

* feat: ✨ add brandywine/anteatery pages

* fix: 🐛 updated components of react to tailwind

* fix: 🐛 conditional map for brandy and anteatery

* fix: 🐛 adjusted sidebar width to be consistent

* fix: 🐛 quality of life sizing fixes

* fix: 🐛 added padding to bottom of page

* feat(front): ✨ add correct cards and compact view styling and layout

* feat: ✨ made large portion layout of mobile design for dining halls

* fix: 🐛 alignment with figma, css base changed to poppins, sub catagories open close times deleted

* fix: 🐛 meal and date selection to match figma and use mui components

* fix: 🐛 remove shadcn and correct colors

* fix: 🐛 minor desktop mobile differences and width increase

* fix(ui): 🐛 figma allignment desktop hours operation location schedules

* fix: 🐛 added map link to address, mobile layout dimensions

* fix: 🐛 desktop meal selector

* fix: 🐛 select color, dependencies

* fix: 🐛 disables pressing buttons on mobile changing the padding

* feat: ✨ restructure restaurant into smaller file components, page migrated into folder

* fix: 🐛 props

---------

Co-authored-by: Kelvin Truong <klvntrng456@gmail.com>

* feat: ✨ new homepage (#616)

* feat: ✨ rewrote desktop homepage layout

* chore: 🔧 fix comments and need to refactor into components later

* fix: 🐛 revert back to original mobile view

* chore: 🔧 rewrote getting all of brandywine and anteatery dishes

* fix: 🐛 small changes to restaurant card

* fix: 🐛 made event card sort by earliest event showing first left to right

* fix: 🐛 remove restaurant card transitions

* fix: 🐛 made dining halls text size larger

* chore: 🔧 rename ambigious variables

* fix: 🐛 pull migrations from dev

* feat: ✨ developed popular cards with images and ratings sorted

* fix: 🐛 make food image adjust to the card dynamically

* feat: ✨ made mobile page & methods for handling getting hall, popular today, and upcoming events data

* feat: ✨ adjusted popularDishCard and UpcomingEventCard sizing depending on mobile/desktop view

* feat: ✨ temporarily hiding navigation bar in mobile view

* feat: ✨ added the mobile toolbar

* feat: ✨ added extra sapcing for mobile view so toolbar doesn't overlap content

* style: 🎨 fix coloring on headers

* feat: ✨ replaced the emoji text with the given IconComponent

* feat: ✨ altered number of cards displayed on mobile view vs desktop view

* refactor: ♻️ moved components to the right folder

* refactor: ♻️ remove the event card component in homepage

* fix: 🐛 changed button element to use mui card

* style: 🎨 remove commented code

* style: 🎨 forgot to remove mobile component comment

* refactor: ♻️ moved helper functions to utils folder in funcs.ts

* fix: 🐛 added back the mobile toolbar

* feat: ✨ replaced google sign in with profile icon on mobile and fixed hydration error

* feat: ✨ uses name for sign on

* fix: 🐛 iconbutton on mobile topbar because of globals.css WARNING: TEMP FIX AND NOT LONG TERM SOLUTION

* fix: 🐛 revert global.css change

* style: 🎨 removed border styling and shadow to hide the toolbar look

---------

Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Yitong Liu <yitonl21@uci.edu>

* feat: ✨ meal tracker (#564)

* feat(meal-tracker): add meal log feedback, auth errors, and quantity controls

* fix: 🐛 replaced sonner with MUI components

* chore: 🔧 merge dev

* chore: 🔧 regen lockfile

* chore: 🔧 replaced toast instances with Snackbar

* chore: 🔧 removed sonner dependency and switched from Lucide to MUI icons

* fix: 🐛 defined Snackbar in a Zustand store

* feat: ✨ added new Zustand store for globalizing userId information

* chore: 🔧 resolved merge conflicts

* chore: 🔧 resolved merge conflict

* fix: 🐛 remove dependencies from root package.json

* fix: 🐛 user store loading state

* chore: 🔧 replace alerts with snackbars

* fix: 🐛 import mui icon

* fix: 🐛 remove extra migration file

* chore: 🔧 use snackbar for log meal button

* refactor!: 💥 ♻️ move incr/decr servings code from food card to nutrition page

* fix: 🐛 incr/decr serving func params

* feat: ✨ incr/decr buttons

* refactor: ♻️ use onConflictDoUpdate to change num servings

* feat: ✨ trash bin mui icon button

* fix: 🐛 delete mutation uses loggedMeal id rather than dishId

* feat: ✨ update meal procedure

* fix: 🐛 remove add button on food card

---------

Co-authored-by: Yitong Liu <yitonl21@uci.edu>
Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Lex Truong <lext@uci.edu>
Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* feat: pwa setup (#648)

* feat(pwa): ✨ add PWA dependencies and headers

* feat(pwa): ✨ add pwa manifest and app icons

* feat(pwa): ✨ add service worker and server actions

* feat(pwa): ✨ add PWA utilities and client integration

* feat(pwa): ✨ add PWA test page

* chore: add todo for highlighting

* docs(pwa): 📚️ add comment explaining why sw.js is JS and not TS

---------

Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* fix: remove duplicate children from layout-client (#653)

* feat: ✨ events page (#620)

* feat(frontend): ✨ add grid layout and header to events page (need to fix UI)

* feat(frontend): ✨ cleaned up styles of event card to better match figma

* feat(frontend): ✨ added function to filter thru data for brandy/eatery events

* feat(frontend): ✨ added events badge, reworked dialog/drawer styles

* fix: 🐛 add react big calendar and localizer

* fix: 🐛 weird formatting

* fix: 🐛 change hardcoded calendar header

* feat: ✨ add "inBetween" trpc for events in a range

* feat(events): ✨ view previous months' events

* feat(frontend): ✨ added dark mode classes for buttons on events page

* feat(frontend): ✨ added gray strip behind toolbar on events page

* feat(frontend): ✨ reset migrations, added calendar component, changed navbar bg to blue

* feat(frontend): ✨ restyled event drawer props to test sizing issue

* refactor: ♻️ remove unnecessary comments

* refactor: ♻️ move calendar to separate component

Consolidate calendar logic into one component, including
the modal and drawer for event details.

* refactor: ♻️ use date-fns instead of moment

Replace the localizer used by react-big-calendar

* chore: 🔧 remove moment.js from deps

* chore: 🔧 remove unnecessary imports

* fix: 🐛 add dark mode styles

For both grid view and calendar view, as well as the event-dialog popup.

* feat(frontend): ✨ removed comments from event card

* feat(chore): ✨ 🔧 installed packages to try and fix failing checks

* feat(chore): ✨ 🔧 added conditional logic to migration file to fix failing check

* feat(chore): ✨ 🔧 recover correct migration files

* feat(chore): ✨ 🔧 remove autogenerated migration file from drizzle

* feat(frontend): ✨ fixed cropping issue on images on event dialog/drawer

* feat(frontend): ✨ added horizontal scroll on events page

* refactor: ♻️ use date-fns instead of moment

---------

Co-authored-by: SAMIKA BHAVESH BHATKAR <samikabhatkar@gmail.com>
Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* edit preferences dialog (#650)

* feat: ✨ add edit preferences ui in sidebar

* feat: ✨ add backend logic

Sync data up to backend, handle getting and updating data.

* fix: 🐛 prevent interaction when logged out

Buttons cannot be clicked while the user is logged out. Added tooltip telling them to log in.

* fix: 🐛 padding

* fix: 🐛 issue with data not persisting on re-open

* fix: 🐛 remove unnecessary page

Created this page as a result of miscommunication. Now removed it.

* fix: 🐛 add a bit of space to popup

* fix: 🐛 resized drawer to fit screen on mobile

* fix: 🐛 bolded edit preferences in profile, changed alert when saving, fixed ui sizing

* fix: 🐛 update edit preferences dialog styling, dark mode, and custom allergy support

* fix: 🐛 mobile edit preferences popup sizing, mobile button sizing

* fix: 🐛 fixed edit preferences header text and icon

* fix: 🐛 fixed edit preferences headers again, changed finish to update

---------

Co-authored-by: Kelvin Truong <klvntrng456@gmail.com>

* feat: dietary preferences and allergens functionality

* feat(frontend): ✨ put users prefs/allergies on user card after onboarding

* feat(frontend): ✨ added conflict badge on items that don't meet dietary prefs/restrictions

* feat(frontend): ✨ added feature to allow users to only see meals matching their prefs

* fix(frontend): 🐛 fixed show preferences toggle button

* feat(frontend): ✨ added conflict badge to dialog/drawer

* chore: 🔧 removed unnecessary comments

* feat(frontend): ✨ conflict badge shows on mobile

* feat(frontend): ✨ food dialog displays specific pref/allergy being violated

* feat(frontend): ✨ changed conflict badge to MUI exclamation icon

* feat(frontend): ✨ fixed design of exclamation points on food cards and dialogs

---------

Co-authored-by: Pranav Batra <batrap1@uci.edu>
Co-authored-by: Lex Truong <lext@uci.edu>

* feat(frontend): improve toolbar visibility

* feat(frontend): ✨ added conditional toolbar styling based on current route

* feat(touchup): ✨ removed menu button when user is not logged in

* feat(style): ✨ 🎨 added transparent conditioning for mobile

* feat(style): ✨ 🎨 added grey line on desktop bar for non-transparent pages

* feat(frontend): ✨ removed food court href, added nutrition page

---------

Co-authored-by: LexTruong <82004296+LexTruong@users.noreply.github.com>
Co-authored-by: Lex Truong <lext@uci.edu>
Co-authored-by: Abubakr Elmallah <130480156+TheAbubakrAbu@users.noreply.github.com>

* feat: ✨ foods page (#647)

* feat: ✨ initial baseline of my foods page

* fix: 🐛 drawer styling not right

* style: 🎨 screen padding size

* refactor: ♻️ use variable to store slotprops

* style: 🎨 locationfilter border

* style: 🎨 even more changes

* style: 🎨 divider

* fix: 🐛 renamed filter and additional style changes

* feat: ✨ completed remaining filter options

* style: 🎨 toolbar and its elements

* style: 🎨 more changes

* feat: ✨ migrated to mui select

* feat: ✨ made filter by next to select component

* style: 🎨 filter and gaps, mobile ayout and icons aligned with figma

* feat: ✨ added the station name next to restaurant and fixed stars

* style: 🎨 made stars bigger

* style: 🎨 fix lower portion of my food card

* style: 🎨 fix the rating wording and its visual changes

* fix: 🐛 remove rating text from mobile but keeping star ratings

* fix: 🐛 mobile figma design consistancy and filter box consistancy between plaform

* style: 🎨 remove top of page padding on mobile

* style: 🎨 unify text color

* style: 🎨 fixed popular today spacing

* fix: 🐛 removed the event card tag and prevented words from going off screen for the event title

* fix: 🐛 make event card title break on words instead of being cut off

* style: 🎨 added elipses when the word cant be displayed because of size

---------

Co-authored-by: William <wilyan090@gmail.com>

* chore: 🔧 merge main into dev

* fix: 🐛 repeat onboard popup (#649)

* feat: ✨ prevent closed popup from re-opening

Used localstorage to save that it's been previously closed

* refactor: ♻️ simplify code by combining two checks

Combine DB and local storage onboarding checks into single hasOnboarded variable.

* fix: 🐛 critical typo

* refactor: ♻️ replace localstorage with userStore

* fix: 🐛 undo breaking merge

* fix: 🐛 dialog was re-appearing when logged out

* fix: 🐛 join old home page with onboard fix

* feat: 🖌️ updated food card styling (#629)

* refactor: ♻️ compact -> card is now just style change

* fix(ui): 🐛 text description overflow cuts off with ellipses

* fix(ui): 🐛 use MUI typography

* fix(ui): 🐛 toolbar no longer has a overlay in dark mode

* fix(ui): 🐛 food card pop-ups' titles have scaling font size

* feat: ✨ replace custom rating component with MUI built-in

* refactor: ♻️ favorite into separate component, add tooltip when not logged in

* chore: 🔧 oops, add favorite to food-card file

* chore: 🔧 remove add meal tracker button from card front

* chore: 🔧 change tooltips to use imperative verb

* chore: 🔧 add tooltip and disable add meal tracker button on unauthenticated user

* fix: 🐛 dialogs have prior user ratings

* fix(ui): 🐛 enlarge food card images

* fix: 🐛 unify card height

* fix: 🐛 overflow pushing favorite out of bounds

* fix: 🐛 standard card view favorite visibility

* fix(ui): 🐛 re-add transparency to toolbar

* fix: 🐛 compact card favorite overflow

* fix(mobile): 🐛 pressing dining button while on page will switch dining halls (#683)

* fix: 🐛 resize anteatery button to fit within mobile screen (#684)

* fix: 🐛 anteatery button fit within mobile screen

* style: 🎨 add truncation so overflow text is still within the button space

* fix: 🐛 skip erroring test (#687)

* feat: Meal Tracker Page #652

* feat(frontend): ✨ added header + nutrition breakdown column on nutrition page

* feat(frontend): ✨ added userGoal table and macro counting component on nutrition page

* feat(frontend): ✨ remove datastring from props

* feat(frontend): ✨ edited macro breakdown + added history button

* feat: ✨ tracked-meal-card displays food card details, has working delete button & WIP diet plan button

* fix: 🐛 corrected tracked-meal-card to reflect food-card's implemenetation

* feat: ✨ added edit servings/bowls functionality

* feat: ✨ added checking for unavailable dishes

* fix: 🐛 tracker heading displays date

* feat: ✨ if diet plan tagged but unavailable, move to uncounted foods

* fix: 🐛 corrected nutrition breakdown overflow

* feat(frontend): ✨ fixed mobile view of tracker page

* feat(frontend): ✨ fixed edit box bug

* feat(fix): ✨ 🐛 changed protein default to 100 g

* feat(fix): ✨ 🐛 clicking outside edit goals component works

* feat(fix): ✨ 🐛 removed duplicate logged meals procedure

* feat(frontend): ✨ added prev meals/history logic, need to fix some bugs

* feat(fix): ✨ 🐛 cleaned up dialog click issues

* feat(fix): ✨ 🐛 removed diet plan logic

* feat(style): ✨ 🎨 added drawer for meal history tracker

* feat(build): ✨ 📦️ added usergoalsbyday table + trpc procedures

* feat(style): ✨ 🎨 fixed counted food card to be wider on mobile

* feat(fix): ✨ 🐛 removed goalsbyday import in index.ts

* feat(fix): ✨ 🐛 had to export userGoalsByDay in index.ts (not sure why it wont work otherwise)

* feat(frontend): ✨ added suggested foods section

* feat(frontend): ✨ added search component to scroll for foods

* feat(chore): ✨ 🔧 used mui disable date prop on tracker history

* feat(frontend): ✨ updated onchange event + added onblur event to fix 0 input issue

* feat(frontend): ✨ changed suggested meal logic to 1 meal instead of 5

* fix(chore): 🐛 🔧 corrected nutrition breakdown overflow

* fix: 🐛 fixed suggested food cards spacing to match counted food cards

* fix(chore): 🐛 🔧 changed nutrition goals to update after user clicks off textbox

* fix: 🐛 unavailable food cards greyed out & automatically pushed to suggested foods

* fix: 🐛 save goals on enter or click out of modal

---------

Co-authored-by: SAMIKA BHAVESH BHATKAR <samikabhatkar@gmail.com>
Co-authored-by: Yitong Liu <yitonl21@uci.edu>
Co-authored-by: Lex Truong <lext@uci.edu>

* fix: 🐛 remove duplicate tracker link in toolbar

* fix: 🐛 changed events to show in chronological order (#697)

* feat: dark mode + MUI integration (#712)

* feat: ✨ update dark mode CSS variables to match Figma design

* feat: ✨ convert main page to MUI components for dark mode theme inheritance

* feat: ✨ convert popular-dish-card to MUI components for dark mode

* feat: ✨ convert upcoming-event-card to MUI components for dark mode

* feat: ✨ convert food-card to MUI components for dark mode

* feat: ✨ fix card backgrounds for dark mode in page, food-card and event-card

* feat: ✨ convert ratings-card to MUI components for dark mode

* feat: ✨ convert sidebar-content to MUI components for dark mode

* feat: ✨ convert toolbar to MUI components for dark mode

* feat: ✨ convert restaurant and dialog components to MUI for dark mode

* feat: ✨ convert pages to MUI components for dark mode

* feat: ✨ fix dark mode conflicts and patch new features for dark mode

* feat: ✨ convert my-foods-card and food-dialog-content to MUI components for dark mode

* feat: ✨ convert my-foods page to MUI components for dark mode

* feat: ✨ fix mobile dark mode for drawers, filters, tabs, toolbar and my-foods page

* fix: 🐛 correct mobile nav tracker route from /tracker to /nutrition

* feat: ✨ convert nutrition goals to MUI components for dark mode

* feat: ✨ convert meal tracker and all nutrition components to MUI for dark mode

* feat: ✨ convert onboarding to MUI components for dark mode

* fix: 🐛 themes on refresh and logout login (#680)

* fix: 🐛 themes on refresh and logout login

* chore: Fix formatting issues in theme-provider.tsx

* revert: ⏪️ merge with dev

* fix: 🐛 properly merge new dark palette changes

* fix: 🐛 wrapper waits for mount before applying theme

---------

Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>
Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>

* fix: 🐛 preferences filtering (#685)

* feat(frontend): ✨ changed flags to specifically t/f instead of null as well

* chore: 🔧 remove allergy violation console log

* feat: ✨ show prefs button disabled for guests

* fix: 🐛 show prefs button grey-out on disable

---------

Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>
Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>

* 672/event types (#705)

* feat(frontend): ✨ added different event types based on keywords/regex patterns

* feat(chore): ✨ 🔧 altered event-type-badge to use classifyEvents()

* feat(chore): ✨ 🔧 altered upcoming-event-card to use EventTypeBadge

* feat(frontend): ✨ fixed bad imports and slightly updated event classif logic

* feat: ✨ added new filtered event types buttons on event page

Co-authored-by: Copilot <copilot@github.com>

* feat: ✨ reworked upcoming-event-card to reflect new event badge

* fix(chore): 🐛 🔧 corrected EventTypeBadge usage in event-dialog-content

* fix(chore): 🐛 🔧 eventTypeBadge is hidden on mobile home screen

* feat(chore): ✨ 🔧 added more ethinicities to cultural keywords

---------

Co-authored-by: Pranav Batra <pranav.batra2006@gmail.com>
Co-authored-by: Yitong Liu <yitonl21@uci.edu>
Co-authored-by: Copilot <copilot@github.com>

* feat(styling): ✨ fixed cut off characters on home event card (#694)

* 679-686/Popular Dish Card Rework (#688)

* feat: ✨ added meal tracker logic to popular-dish-card

* feat: ✨ reformatted popular-dish-card to reflect food-card

* fix(chore): 🐛 🔧 corrected small bug (FoodDialogContent used instead of FoodDrawerContent in mobile view)

* fix: 🐛 missing imports

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Yitong Liu <yitonl21@uci.edu>
Co-authored-by: Lex Truong <lext@uci.edu>
Co-authored-by: Copilot <copilot@github.com>

* fix: 🐛 show upcoming event card title on mobile

Co-authored-by: Copilot <copilot@github.com>

* feat: ✨ integrate AAPI routes (#637)

* refactor!: 💥 ♻️ drop unnecessary tables, alter dishes

* feat!: 💥 ✨ add dish get procedure

* chore(db): 🔧 re-add num ratings, add models

* feat(api): ✨ migrate dining types and dates to AnteaterAPI

* feat(api): ✨ migrate dining payloads to AnteaterAPI

* feat(api): ✨ update response zod model

* feat(db): ✨ get procedure adds dish to table if not found

* feat(db): ✨ add ratings back to table in migration

* feat(api): ✨ events router

* feat(db)!: 💥 ✨ favorites table entry now references a restaurant

* feat(db): ✨ remove redundant meal name from loggedMeals

* refactor(api): ♻️ move getDishes procedure into a service

* refactor(api): ♻️ remove menus services from api

* feat(api): ✨ getMealsInLastWeek now queries API for nutrition info instead of db

* refactor(api): ♻️ remove period and restaurant api

* feat(api): ✨ restaurant services

* test(api): 🚨 available date range

* test(api): 🚨 dish rating tests re-added

* feat: ✨ restaurant page functionality

* fix: 🐛 food cards now show images when available

* feat: ✨ event functionality

* feat: ✨ homepage functionality

* fix: 🐛 migration errors

* fix(db): 🐛 favorites restaurant column issue

* test(api): 🚨 ratings tests

* refactor(server): ♻️ removal of daily cron

* fix: 🐛 favorite functionality

* refactor(db)!: 💥 ♻️ allergies and dietary preferences now use enum

* feat: ✨ dietary restriction & preferences

* fix(api): 🐛 fix dining routes

* fix(next): 🐛 fix nutrition page types

* fix(next): 🐛 fix tracker, ratings, and UI types

* fix(next): 🐛 fix event and build types

* fix: 🐛 finish dining migration cleanup

* fix(migration): 🐛 remove nulls from ratings table's restaurant field

* revert: ⏪️ event cards only take a single description

* fix(ratings): 🐛 ratings callback takes a restaurant field

* fix(db): 🐛 update user_allergies to match enum

* fix(test): 🐛 🚨 ratings testData includes restaurant

* fix: 🐛 general fixes (event, restaurant drilling)

---------

Co-authored-by: TheAbubakrAbu <ammelmallah@icloud.com>

* 710/bug bashing 1 (#720)

* fix: 🐛 dev account no longer visible on mobile

* fix: 🐛 incorrect capitalization gone

* fix: 🐛 doesn't show previous meal tracker days, only current

* fix: 🐛 removed temp test account for both mobile and desktop

* fix: 🐛 no meals logged message

* feat: new about page (#698)

* feat: ✨ increase content width to match figma

* feat: ✨ make links open in new tab

* fix: 🐛 dark mode improvements

* fix: attempt merge fix

Replaced Typography component with a heading for the about section and added buttons for GitHub and ICSSC links.

* feat: ✨ optimistic updates for favorites, ratings, meal tracking (#716)

Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>

* bug: Font Injection Fix (#738)

* chore: 🔧 add css type declaration

* fix: 🐛 re-add poppins google import

* ✨ PostHog Analytics (#717) (#721)

* chore: 🔧 run posthog wizard

* chore: 🔧 update packages

* fix: 🐛 unsorted deps

* chore: 🔧 update github actions with posthog tokens

* fix(analytics): 🐛 replace next config rewrite with custom route handler for posthog proxy

* fix(analytics): 🐛 replace next config rewrite with custom route handler for posthog proxy

* fix: 🐛 maybe fix the route?

* fix: 🐛 exclude ingest route from service worker interception

* fix: 🐛 remove content-encoding headers for gzip/br

* fix!: 💥 🐛 disable gzip compression for posthog events temporarily

* style: 🎨 clean up posthog route

* style: 🎨 remove auto-gen docs

* refactor: extract useRestaurantPage hook and fix any types in restaurant components (#731)

* refactor: ♻️ extract useRestaurantPage hook and fix any types in restaurant components

- Extract useRestaurantPage hook from RestaurantPage component
  - Moves all useState, useMemo, useEffect, and tRPC calls out of the
    component into a dedicated hook (hooks/useRestaurantPage.ts)
  - Relocates the getCurrentPeriod helper into the hook file with a JSDoc
  - RestaurantPage is now a pure layout/render component (~160 lines vs 326)

- Fix any[] types across restaurant sub-components
  - restaurant-controls.tsx: stations: Station[], hallEvents: Event[]
  - desktop-tabs.tsx: stations: Station[]
  - mobile-actions.tsx: dishes: DishWithRating[], stations: Station[],
    hallEvents: Event[]

- Additional fixes surfaced by stricter typing
  - dishes-view.tsx: relax activeStation to Station | undefined (can be
    undefined while data is loading)
  - mobile-actions.tsx: fix event.shortDescription → event.description
    to match the actual Event type from @peterplate/validators
  - restaurant-controls.tsx: remove misleading //...props comments;
    improve inline comments for clarity

- Remove unnecessary hallData useMemo wrapper in restaurant-page.tsx;
  replace with a plain derived value

* refactor: ♻️ eliminate prop drilling via useRestaurantUIStore

Add useRestaurantUIStore (Zustand) to hold all interactive UI state for the
restaurant page: period/station selection, isCompactView, showPreferencesOnly,
isDatePickerOpen, and popover anchors.

Sub-components now consume state directly from the store instead of receiving
it as props through RestaurantPage → RestaurantControls:

  RestaurantFilters: selectedPeriod, isDatePickerOpen, showPreferencesOnly
  DesktopTabs:       selectedStation, isCompactView
  MobileActions:     menuAnchor, scheduleAnchor, isCompactView, setSelectedStation
  DishesView:        isCompactView, showPreferencesOnly

Prop count reductions:
  RestaurantControls:  22 → 13 props
  RestaurantFilters:   12 → 6 props
  DesktopTabs:          8 → 4 props
  MobileActions:       13 → 6 props
  DishesView:           8 → 6 props

useRestaurantPage hook is updated to read selectedPeriod/selectedStation from
the store (for auto-selection effects) rather than managing local useState.
calendarRange remains local as it is query-derived config, not interactive state.

* style: 🎨 cleanup

* fix: 🐛 show prefs flipped

* perf: ⚡️ memoize filtered dishes to prevent recompute on rerender

* chore(ui): 🔧 🎨 food card styling (#740)

* feat(chore): ✨ 🔧 removed shadow from meal card

* fix(chore): 🐛 🔧 desktop restaurant food cards have 2 cards per row

* Update apps/next/src/components/ui/card/food-card.tsx

Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

---------

Co-authored-by: Yitong Liu <yitonl21@uci.edu>
Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>

* fix: 🐛 stop exposing better_auth_secret

* fix: 🐛 add better_auth_url to auth server trusted origins (#747)

* fix: 🐛 add better_auth_url to auth server trusted origins

* fix: 🐛 remove posthog references to customAllergies

* refactor: ♻️ extract shared modal logic into FoodCardShell, add dietary conflicts to PopularDishCard (#743)

* feat(chore): ✨ 🔧 altered restaurant page (#749)

* PWA Service Workers  (#718)

* chore: mobile menu drawer popup (#695)

* feat(frontend): ✨ switched mobile profile from menu to drawer mui container

* fix: 🐛 drawer now slides open instead of popping up

* feat(styling): ✨ changed colors to align w figma

* fix: 🐛 matched dark mode colors to match figma

* feat(styling): ✨ fixed some styling inconsistencies

* fix: 🐛 syntax errors in sidebar-content

* chore: 🔧 fix feedback and info icons

* feat(styling): ✨ fixed sign out width and shadow around component

---------

Co-authored-by: SAMIKA BHAVESH BHATKAR <samikabhatkar@gmail.com>
Co-authored-by: Lex Truong <lext@uci.edu>

* chore: 🔧 regen lockfile

---------

Co-authored-by: Jacob Moy <apixelatedpug@gmail.com>
Co-authored-by: Abubakr Elmallah <130480156+TheAbubakrAbu@users.noreply.github.com>
Co-authored-by: Pranav Batra <30417498+Pranav-Batra@users.noreply.github.com>
Co-authored-by: Jacob Moy <79670488+EightBitByte@users.noreply.github.com>
Co-authored-by: Kevin Wu <kevinwu098@gmail.com>
Co-authored-by: Pranav Batra <batrap1@uci.edu>
Co-authored-by: William <wilyan090@gmail.com>
Co-authored-by: Jason L <122318900+jkhlin@users.noreply.github.com>
Co-authored-by: SAMIKA BHAVESH BHATKAR <samikabhatkar@gmail.com>
Co-authored-by: Mihai Zecheru <92233684+MihaiZecheru@users.noreply.github.com>
Co-authored-by: ChaoticallyAlys <glowingsylveon@gmail.com>
Co-authored-by: Yitong Liu <yitonl21@uci.edu>
Co-authored-by: William Yang <77467499+wilyan09007@users.noreply.github.com>
Co-authored-by: elmallaa <elmallaa@uci.edu>
Co-authored-by: Kelvin Truong <klvntrng456@gmail.com>
Co-authored-by: Shyam Nathan <117102240+ShyamThangaraj@users.noreply.github.com>
Co-authored-by: Pranav Batra <pranav.batra2006@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: TheAbubakrAbu <ammelmallah@icloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants