Feature (Phase 1): Add 'kind' filter chip row to Directory and opportunity presets (scholarships, open-source, internships)
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #91 di @rootsiemen — integrata
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 50/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Start in src/lib/directory-filters.ts, where applyFilters and the faceted-count logic live, then check whether Resource already has a kind field, since the issue depends on Phase 1 data. Next, read src/lib/presets.ts and src/components/directory/directory-client.tsx to see how filters and URL params are wired. Done when applyFilters and countByKind handle kind, the chip bar syncs to ?kind=, the three presets resolve, and src/lib/directory-filters.test.ts passes.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Tracked from docs/2026-09-18-improvement-plan.md (§4 Phase 1.6).
Once opportunities (kind: perk | scholarship | fellowship | internship | mentorship | program) are added in Phase 1, the Directory needs a top-level kind chip row above the existing filters so students can switch between All / Perks / Scholarships & Fellowships / Internships / Mentorship / Programs, plus three high-intent SEO preset pages.
Implementation Plan
- Filter logic (
src/lib/directory-filters.ts):- Add
kind: string[]toDirectoryFilters. - Filter by
kindinapplyFilters()(respectingskip === "kind"for faceted counts). - Add
countByKind(resources: Resource[]): Record<string, number>.
- Add
- Directory UI (
src/components/directory/directory-client.tsx):- Render a horizontal chip bar above the filter/search controls:
All,Perks,Scholarships,Internships,Mentorship,Programswith live facet counts. - Sync
kindwith the URL query string (?kind=scholarship) so filtered views are shareable.
- Render a horizontal chip bar above the filter/search controls:
- New SEO Presets (
src/lib/presets.ts):scholarships-for-indian-students: Scholarships and fellowships open to Indian students (kind: ["scholarship", "fellowship"], region/eligibility India).open-source-programs: Paid open-source mentorship programs like GSoC, LFX, Outreachy, MLH, Season of KDE (kind: ["program"]).paid-internships-india: Research and industry internships with stipends open to students in India (kind: ["internship"],costType: ["stipend"]).
Acceptance Criteria
-
applyFiltersandcountByKindfilter and count resources bykind. - Directory page renders the
kindchip bar with live counts and syncs selection to?kind=URL params. -
/scholarships-for-indian-students,/open-source-programs, and/paid-internships-indiaresolve viasrc/app/[preset]/page.tsx. - Unit tests in
src/lib/directory-filters.test.tscoverkindfiltering and facet counts.
Files Involved
src/lib/directory-filters.tssrc/lib/directory-filters.test.tssrc/lib/presets.tssrc/components/directory/directory-client.tsx
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 6
- Merge medio
- 21h 33m
- PR unite (30g)
- 48
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Your-Voldemort/StudentStack
-
CI passes NEXT_PUBLIC_SUPABASE_ANON_KEY but the app reads NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY; e2e job installs only ChromiumForse già presa @rootsiemen l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Your-Voldemort/StudentStack#126 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Flag curated flagship opportunities whose dates need a refreshForse già presa @rootsiemen l’ha presa 2 giorni fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Your-Voldemort/StudentStack#120 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Reviews: add "Most helpful" sort with helpful votesForse già presa @Aryan-Techie l’ha presa 1 giorno fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Your-Voldemort/StudentStack#119 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Your-Voldemort/StudentStack
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
farion1231/cc-switch#8829 ·
I maintainer di solito rispondono entro 1 giorno
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverApertadoc-audit enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100