Conversation
c8d5715 to
84c23b3
Compare
| export const eventTagEnum = pgEnum("event_tag", [ | ||
| "free food", | ||
| "career", | ||
| "free-food", |
There was a problem hiding this comment.
These are renames of persisted PostgreSQL enum values, but I don't see a migration in this PR. Updating pgEnum here changes the TypeScript schema definition, but existing databases will still have the old enum values/data. Could we add a Drizzle migration that safely migrates the existing event_tag values (and existing event/user interest rows) to the new taxonomy before we start writing values like free-food and career-recruiting?
| "free merch", | ||
| "Bain & Company", | ||
| ]; | ||
| { id: "free-food", label: "Free Food" }, |
There was a problem hiding this comment.
Since these IDs are the same event-tag taxonomy used across the app, I think this migration needs to update all consumers together. Current staging still uses the old values in places like Create/Edit Event (free food, career, etc.), Explore filters, and EventCard category mappings. If we change the enum/Settings values here without updating those, different parts of the app will read/write different tag IDs. Can we update all event-tag consumers to the new taxonomy in this PR (or otherwise keep the existing enum values for now)?
angelina-ji
left a comment
There was a problem hiding this comment.
The Settings save behavior looks directionally good, but the tag taxonomy change currently affects the shared DB contract without migrating the database or updating the other event-tag consumers. Left two blocking comments inline. Once the taxonomy is migrated consistently across the DB and app, I think this should be in good shape.
### Summary
Settings should let students personalize discovery. For MVP, the most important personalization input is interests (updated with Yubi's interest tags). Those interests should be selected from the same event tag taxonomy used by events and ranking.
This task focuses on interest selection and save behavior, not full profile redesign.
Scope
review current Settings interest UI
ensure users can select interests from valid event tags
ensure selected interests save correctly
ensure saved interests persist after refresh
keep save/cancel behavior clear
remove or deprioritize incomplete settings sections that imply org onboarding or event creation
Files touched
apps/web/src/app/(app)/settings/settings-client.tsx/settings/settings-client.tsx)
user.ts
index.ts
QA notes
Open Settings for a test user
Select multiple interests
Save changes
Refresh the page and confirm interests persist
Remove or change interests and confirm updates persist
Confirm no unrelated settings section breaks
Demo video
https://drive.google.com/file/d/1dGSTuhhhbYr-KIBSkERu6o-L3ykz13fA/view?usp=sharing
Reviewers
Angelina
Rohan