Skip to content

feat: smart timetable filters, venue propagation, and render optimizations#170

Open
upayanmazumder wants to merge 12 commits into
CodeChefVIT:updatesfrom
upayanmazumder-DevLabs:filters
Open

feat: smart timetable filters, venue propagation, and render optimizations#170
upayanmazumder wants to merge 12 commits into
CodeChefVIT:updatesfrom
upayanmazumder-DevLabs:filters

Conversation

@upayanmazumder

@upayanmazumder upayanmazumder commented Oct 27, 2025

Copy link
Copy Markdown
Member

Adds three combinable filters to the timetable view:

  • Same Building - all venues share the same building prefix (e.g. SJT)
  • Close - room numbers are within 30 of each other
  • No Mix - slots are either all morning or all evening, not mixed

Filter logic lives in src/lib/filterUtils.ts so it's shared between the active filter and the match-count preview.

venue is now propagated through the full data pipeline (FacultySelector -> utils -> ViewTimeTable -> CompoundTable) since the filters need it.

Also fixed a few things while I was in here:

  • useMemo on timetable/faculty data to avoid recomputing on every render
  • Faculty filter now resets when timetable data changes (was silently showing empty results before)
  • Pagination uses the filtered list index, not the raw one (was breaking navigation when filters were active)
  • Share/Download/Save buttons only show when a timetable is actually selected

@atharvaSharma17 atharvaSharma17 changed the base branch from prod to updates June 3, 2026 19:16
@atharvaSharma17 atharvaSharma17 self-requested a review June 3, 2026 19:18
@upayanmazumder upayanmazumder changed the title Smart Filters Add smart filters, propagate venue data, and improve timetable filtering performance Jun 4, 2026
@upayanmazumder upayanmazumder changed the title Add smart filters, propagate venue data, and improve timetable filtering performance feat: smart timetable filters, venue propagation, and render optimizations Jun 9, 2026
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.

1 participant