Skip to content

TIG 264: settings interests save correctly - #5

Open
JiyaS12 wants to merge 40 commits into
DIodide:mainfrom
TigerAppsOrg:TIG-264-settings-interests-save-correctly
Open

TIG 264: settings interests save correctly#5
JiyaS12 wants to merge 40 commits into
DIodide:mainfrom
TigerAppsOrg:TIG-264-settings-interests-save-correctly

Conversation

@JiyaS12

@JiyaS12 JiyaS12 commented Aug 25, 2026

Copy link
Copy Markdown

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

dependabot Bot and others added 30 commits May 19, 2026 05:10
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.3 to 2.7.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](urllib3/urllib3@2.6.3...2.7.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.7.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
… routes

- New root README.md focused on getting apps/web running (replaces stale SETUP.md)
- Fix DATABASE_URL port 5432 -> 5434 in package .env examples to match docker-compose
- Complete apps/web/.env.local.example with all vars required by src/env.ts
- Remove old /5 /6 /7 /8 design-mockup routes from apps/web
- Add CI guard: PRs into main must come from staging
docs: developer setup README + env example fixes + remove old mockup routes
Release: developer setup README, env fixes, mockup route cleanup
…i/urllib3-2.7.0

chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /backends/fastapi
- Bump pyasn1, cryptography, pygments, idna, starlette, requests, pytest,
  python-dotenv in backends/fastapi (covers Dependabot PRs #2-#8, #10,
  which conflicted on uv.lock after #1 merged)
- Bump drizzle-orm ^0.38.3 -> ^0.45.2 (high-severity alert, no Dependabot
  PR existed for the bun lockfile) + drizzle-kit ^0.30.4 -> ^0.31.10

Verified: FastAPI app imports and serves on starlette 1.2.1; web app
typechecks and production-builds; drizzle runs queries against live Postgres.
fix(security): resolve all 12 Dependabot alerts + README polish
Release: resolve all Dependabot vulnerabilities + setup docs polish
- Skip events whose title already exists — re-running db:seed no longer
  duplicates all 21 demo events (events have no unique constraint to
  lean on for onConflictDoNothing)
- Seed user_regions (set during onboarding, previously empty)
- Add a pending friend request + matching friend_request notification,
  plus org_new_event and event_reminder notifications with payload
  shapes mirroring apps/web server actions
- Seed interactions (implicit feedback) from the generated RSVPs/saves
  plus views/clicks, using the same weights as logInteraction, so the
  recommendation pipeline has data to work with
- Notifications/interactions have no natural unique key, so they are
  only seeded into an empty table

Tested: ran twice against a scratch database — second run is a no-op
(21 events, 3 notifications, 177 interactions, no duplicates).
feat(seed): make re-runnable and cover newer tables
Release: re-runnable seed with newer-table coverage
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
… RSVP'd tab in My Events; add root db:seed script
Aligns the orgs create button/category filters with the forum-cerulean
brand color instead of indigo, adds a cerulean-tinted thin scrollbar
utility, softens the geometric background blur, and nudges spacing on
the explore create-event button and map filter pills.
DIodide and others added 10 commits August 23, 2026 11:14
…pe workshop/academic merge; fix seed.ts imports
… model path resolution and text cleaning, pin scikit-learn
TIG-254: Move selected tagger into backend code (corrected)
TIG-254: Embedding-based event extraction pipeline (staging → main)
…anels

The (app) routes had each hand-rolled their own layout primitives, so the
same element looked different on every page: gutters ranged from px-[8px]
to px-[40px], page headings spanned 20/25/36/40/42/48/52px, and roughly
90 buttons were raw <button> elements with bespoke height, radius and
focus treatment. Orgs and the map had drifted off the palette entirely
onto gray-*/indigo-*/sky-*.

Introduce six shared primitives and move every (app) route onto them:

- PageShell        gutters (20/32/40px) + max width (narrow/content/wide/full)
- PageHeading      one h1 ramp, 34 -> 44 -> 52px, responsive
- SectionHeading   h2 with the cerulean dot
- Panel            content surface: radius, border, padding scale, elevation
- FilterChip       every filter pill
- SearchInput      every search field
- Field            label / hint / error stack

Add forum variants to the shadcn Button (cerulean, solid, coral, soft,
quiet) plus a cta size, so buttons stop being rebuilt per call site.
Raw <button> count drops from ~90 to 25; the rest are structural
(scrubber nodes, carousel dots, popover triggers) where the Button box
model does not apply.

Nav: the rail now collapses to icons and expands on hover. It overlays
rather than pushes, and the shell reserves the expanded width so the
panel never covers page content and nothing reflows on hover. Icons sit
in a fixed 20px slot at the same x in both states, so labels grow beside
a stationary icon.

Map: drop the route's private floating nav and its separate log-out
button, and render it inside the standard shell. It keeps a
non-scrolling main (a map canvas must not live in a scroll container)
but now shares one navigation with every other page.

Fixes found along the way:
- nested <button> inside <button> in the map event list (invalid HTML;
  the inner control was unreachable in some browsers)
- missing accessible names on event-card and map icon buttons
- Friends' remove control was opacity-0 until hover, invisible to
  keyboard users; it now reveals on focus too
- hand-rolled tab bars replaced with the shadcn Tabs line variant, which
  brings real arrow-key navigation and aria-selected
ui: standardize page padding, headings, cards, buttons, filters and panels

Tested locally and overall this looks good to me. The shared UI cleanup/standardization feels like a solid improvement and I didn’t run into any blocking functional issues. I do think there’s still some room for visual polish / closer alignment with the Figma direction on Explore, but I don’t think that needs to block this PR.
@JiyaS12
JiyaS12 force-pushed the TIG-264-settings-interests-save-correctly branch from c8d5715 to 84c23b3 Compare August 26, 2026 15:15
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.

6 participants