[Map of Classes] Render selectable day tabs
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 70/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- react, typescript
- Domain
- frontend
Research direction
Start with the new file src/components/map/DayMapTabs.tsx and the starting example src/app/plans/[id]/layout.tsx to see how the parent screen will hold the selected day. Confirm that issue #864 (sorting day meetings) is finished before you build on it. Render the days as button elements with role="tab" inside a tablist, set aria-selected, and call onChange once per activation. Done means src/components/map/DayMapTabs.test.tsx passes, including the Tuesday example, and pnpm lint and pnpm typecheck are clean.
Written by the indexing model from the issue text.
Description
What to build
Let students choose which weekday to view on the class map. Show the selected day clearly and send the choice back to the surrounding screen.
Files
src/components/map/DayMapTabs.tsx(new file)- Starting example: src/app/plans/[id]/layout.tsx
Steps
- Render buttons with role tab inside tablist and aria-selected for current day.
- Use supplied value/onChange instead of database or map globals; first available day is caller default.
- Clicking/keyboard activation emits that day exactly once.
Example
Select Tuesday → onChange("tuesday"), Tuesday tab selected after parent rerender.
Check it works
In src/components/map/DayMapTabs.test.tsx, check the example above and the failure or limit described in the steps. Run pnpm test -- src/components/map/DayMapTabs.test.tsx, pnpm lint and pnpm typecheck.
Before starting
- #864 — Sort day meetings and list unmapped entries
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- Dominant language
- TypeScript
- Stars
- 19
- Forks
- 94
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DevDogsUGA/DogDays
-
map
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
DevDogsUGA/DogDays#868 ·
-
sharing
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
DevDogsUGA/DogDays#854 ·
-
import-export
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
DevDogsUGA/DogDays#850 ·
-
import-export
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
DevDogsUGA/DogDays#842 ·
-
import-export
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DevDogsUGA/DogDays#841 ·
All issues in DevDogsUGA/DogDays
Similar issues
-
enhancement good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OWASP/cve-lite-cli#1335 ·
Maintainers usually reply within 1 day
-
Windows: main-screen mouse tracking requires WT_SESSION, so it never enables inside herdr panesOpen
Difficulty 1/5 Under an hour Newbie friendliness 66/100
code-yeongyu/senpi#3353 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Channels status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
mastra-ai/mastra#27093 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement needs-triage ui
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day