Filter timetables by a class time range and rank by fewest lab days
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 43/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- typescript
- Domaine
- frontend
Piste de recherche
Start with evaluateFilters in src/lib/filterUtils.ts and inspect how timetable slots are represented, especially lab slots and grouped timetables. The issue leaves lab behavior for Mixed theory time open, so clarify that before implementing the ranking and filtering changes. Done means the requested ranking, opposite-shift lab filtering, and existing building and faculty filters work together; check ViewTimeTable.tsx for the affected timetable flow.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Is your feature request related to a problem? Please describe.
The Morning, Evening and Mixed filters only look at theory slots (evaluateFilters in src/lib/filterUtils.ts skips lab slots), so a student can't keep their whole day, labs included, inside the hours they want. There is also no way to prefer timetables with labs on fewer days.
Describe the solution you'd like
- Class time range: two handles snap to the times classes start and end. Timetables with any theory or lab class outside the range are removed. The full day means off.
- Fewest lab days ranks timetables, best first, and never removes one.
- Theory time (Morning, Evening, Mixed), Same building and the faculty filter keep working as they do today.
- Generation is not changed; the options work on the generated timetables.
Additional context
The popover and the tags that show these options are in the UI issue (#288).
Related: #263 (same-building filtering), closed.
ViewTimeTable.tsx and filterUtils.ts are changing in other work:
- #266 (open): splits
ViewTimeTable.tsxinto smaller modules. - #283 (open PR): changes timetable state in
ViewTimeTable.tsx. - #262 (open): changes the saved-timetable local storage syncing in the same file.
- #267 (merged): groups timetables with the same slot layout, so the ranking has to order the grouped timetables.
Design
- Figma frame:
Timetable filters(node2560:1371), which shows the popover with these options. - Link: https://www.figma.com/design/uCP8B7drfprKgsHYjB8sYs?node-id=2560-1371
Example
One way to build it (just an idea):
- Look up each slot's start and end time from the timetable grid and drop timetables with a class outside the range.
- Give each timetable a lab-day count and sort by it.
const shown = timetables.filter(tt => tt.start >= from && tt.end <= to);
- Langage dominant
- TypeScript
- Étoiles
- 6
- Forks
- 37
- Merge moyen
- 11 h 13 min
- PR mergées (30 j)
- 55
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CodeChefVIT/ffcs
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
CodeChefVIT/ffcs#295 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 1-2 jours Accessibilité débutants 48/100
CodeChefVIT/ffcs#292 ·
Les mainteneurs répondent en général sous 1 jour
-
Edit a course from Your Courses with a pencil buttonPeut-être pris @Aiden-Trindade l’a pris il y a 1 jour. Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 43/100
CodeChefVIT/ffcs#291 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Put the selection box and Your Courses side by side and restyle themPeut-être pris @Aiden-Trindade l’a pris il y a 1 jour. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
CodeChefVIT/ffcs#290 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Replace the timetable filter pills with one Filters button and popoverPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
CodeChefVIT/ffcs#288 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de CodeChefVIT/ffcs
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
better-auth/better-auth#12132 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
hurttlocker/o8#5112 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
webrecorder/wabac.js#386 ·
-
needs-triage
Difficulté 1/5 1-3 heures Accessibilité débutants 92/100
agent-of-empires/agent-of-empires#5098 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour