Solo úkol: ICS export období sběru
Samostatná práce mimo běžný vývojový balík — neimplementováno v hlavní větvi produktu. Kontext: sezonnost-a-kalendar.md §3 (dříve backlog), uzivatelsky-ucet.md §1 u připomínek.
Cíl
Umožnit uživateli (nebo návštěvníkovi bez účtu v minimální variantě) stáhnout kalendářový soubor (.ics) s událostmi odpovídajícími obdobím sběru z harvest_periods — alespoň jedna z variant:
- Per měsíc — např. „květen: všechny byliny v katalogu, které mají v datech sběr v květnu“ (agregát, může být hlučný).
- Per bylina — jedna karta byliny → tlačítko „Přidat sběrová okna do kalendáře“ (události podle řádků
harvest_periods, respektovat přesah přes rok). - Per uživatelský výběr (později) — vyžaduje účet a uložený herbář (uzivatelsky-ucet.md).
Technické poznámky
- Formát iCalendar (RFC 5545) —
VEVENT,DTSTART/DTENDnebo celodenní série; u měsíčního sběru bez konkrétního dne použít celoměsíční nebo první/poslední den měsíce a jasný popis vSUMMARY/DESCRIPTION. - Route navrhovaná např.
GET /sezona/:month.icsneboGET /byliny/:slug/harvest.ics—Content-Type: text/calendar; charset=utf-8, rozumnýContent-Dispositionpro stažení. - Cache a SEO — dynamické ICS obvykle
noindex; sitemap typicky ne. - Časová zóna — konzistentně s
Europe/Prague(vizapp/lib/calendar-month.tsna úvodní stránce).
Akceptace
- Alespoň jedna varianta (měsíc nebo bylina) vrací validní
.icsotestovaný importem do běžného kalendáře (Apple Calendar / Google Calendar). - Text události neobsahuje léčebná tvrzení — jen popis období sběru z dat.
- Dokumentace v sezonnost-a-kalendar.md a 23-api-and-routes.md aktualizována po dodání.
Po dokončení
Označit tento soubor jako hotový (checkboxy v sekci „Stav") a v průřezovém dokumentu sezóny (sezonnost-a-kalendar.md) doplnit odkaz na konkrétní cestu API.