fix/themed-notfound
Makefile
+5 −0
MakefileLoading diff…
docs/superpowers/plans/2026-09-07-recurrence-stepping-bounds.md
+81 −0
docs/superpowers/plans/2026-09-07-recurrence-stepping-bounds.mdLoading diff…
docs/superpowers/specs/2026-09-02-calendar-design.md
+18 −0
docs/superpowers/specs/2026-09-02-calendar-design.mdLoading diff…
go.mod
+2 −1
go.modLoading diff…
go.sum
+5 −10
go.sumLoading diff…
internal/calendar/asset_theme.go
+17 −0
internal/calendar/asset_theme.goLoading diff…
internal/calendar/handlers_booking_util.go
+7 −3
internal/calendar/handlers_booking_util.goLoading diff…
internal/calendar/occurrences.go
+20 −9
internal/calendar/occurrences.goLoading diff…
internal/calendar/occurrences_bounds.go
+57 −0
internal/calendar/occurrences_bounds.goLoading diff…
internal/calendar/occurrences_step.go
+70 −58
internal/calendar/occurrences_step.goLoading diff…
internal/calendar/recurrence_bounds_probe_test.go
+84 −0
internal/calendar/recurrence_bounds_probe_test.goLoading diff…
internal/calendar/recurrence_horizon_test.go
+107 −0
internal/calendar/recurrence_horizon_test.goLoading diff…
internal/calendar/render.go
+1 −1
internal/calendar/render.goLoading diff…
internal/calendar/routes.go
+1 −0
internal/calendar/routes.goLoading diff…
internal/calendar/static/theme.css
+0 −187
internal/calendar/static/theme.cssLoading diff…
internal/calendar/theme_test.go
+52 −0
internal/calendar/theme_test.goLoading diff…
internal/calendartest/notfound_test.go
+83 −0
internal/calendartest/notfound_test.goLoading diff…
internal/calendartest/recurrence_invalid_test.go
+30 −0
internal/calendartest/recurrence_invalid_test.goLoading diff…
internal/calendartest/vendored_test.go
+15 −0
internal/calendartest/vendored_test.goLoading diff…
internal/guardstest/guards_test.go
+9 −4
internal/guardstest/guards_test.goLoading diff…