[Plan Sharing] Render a read-only shared plan
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 50/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- nextjs, react, typescript
- Ambito
- frontend
Direzione di ricerca
Start with the new page at src/app/share/[shareId]/page.tsx, using src/app/plans/[id]/layout.tsx as the starting example and src/server/actions/get-plan-offerings.ts for the loading and toWeekSchedule conversion calls. Check the flow against GET /api/shared-plans/:shareId, and note that #855 and #843 are listed as prerequisites. Done when the Sample plan shows its week with no edit, delete or pin controls, and pnpm test -- src/app/share/[shareId]/page.test.tsx, pnpm lint and pnpm typecheck pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What to build
Show a shared plan as a read-only weekly schedule. Load the public plan’s classes and display them without the owner’s edit, delete or pin controls.
Files
src/app/share/[shareId]/page.tsx(new file)- Starting example: src/app/plans/[id]/layout.tsx
Steps
- Load GET /api/shared-plans/:shareId from the HTML page at /share/:shareId. Use its title, semester and registration numbers to call the completed section lookup.
- Load the returned course IDs’ sections, keep only the shared registration numbers, and pass toWeekSchedule(sections) into WeekSchedule. Follow src/server/actions/get-plan-
offerings.tsfor the loading/conversion calls. - Show the title and semester using the public layout. Keep owner edit/delete/pin actions out; the existing ScheduleDisplay expects an owner’s saved-plan ID, so use WeekSchedule directly.
Example
Public Sample plan displays its class week and has no edit/delete control.
Check it works
In src/app/share/[shareId]/page.test.tsx, check the example above and the failure or limit described in the steps. Run pnpm test -- src/app/share/[shareId]/page.test.tsx, pnpm lint and pnpm typecheck.
Before starting
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- Lingua principale
- TypeScript
- Stelle
- 19
- Fork
- 94
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
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 DevDogsUGA/DogDays
-
map
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
DevDogsUGA/DogDays#868 ·
-
map
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
DevDogsUGA/DogDays#865 ·
-
sharing
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
DevDogsUGA/DogDays#854 ·
-
import-export
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
DevDogsUGA/DogDays#850 ·
-
import-export
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
DevDogsUGA/DogDays#842 ·
Tutte le issue di DevDogsUGA/DogDays
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/rocketmq-dashboard#6872 ·
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
fab-geocommuns/RNB-site#539 ·
I maintainer di solito rispondono entro 2 giorni
-
Guest multiview tile label leaks raw virtual-source-id "Whip" instead of the guest name / slot labelAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Eyevinn/open-live-studio#211 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
sujithputta02/Esapay#13 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
ehmpathy/rhachet-roles-bhuild#468 ·
I maintainer di solito rispondono entro 1 giorno