From d93ba4175c117388eaa8040f8e2f5562a093cdd2 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 25 Feb 2026 15:28:48 -0800 Subject: [PATCH] docs: add backlog tasks for landing page redesign and zoom/demo features Co-Authored-By: Claude Opus 4.6 --- ...page-and-add-demo.rcal.online-subdomain.md | 56 +++++++++++++++ ...d-map-transit-lines-to-demo.rcal.online.md | 69 +++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 backlog/tasks/task-3 - Redesign-rcal.online-landing-page-and-add-demo.rcal.online-subdomain.md create mode 100644 backlog/tasks/task-4 - Add-zoom-views-view-switcher-demo-data-and-map-transit-lines-to-demo.rcal.online.md diff --git a/backlog/tasks/task-3 - Redesign-rcal.online-landing-page-and-add-demo.rcal.online-subdomain.md b/backlog/tasks/task-3 - Redesign-rcal.online-landing-page-and-add-demo.rcal.online-subdomain.md new file mode 100644 index 0000000..b1f52fd --- /dev/null +++ b/backlog/tasks/task-3 - Redesign-rcal.online-landing-page-and-add-demo.rcal.online-subdomain.md @@ -0,0 +1,56 @@ +--- +id: TASK-3 +title: Redesign rcal.online landing page and add demo.rcal.online subdomain +status: Done +assignee: + - '@claude' +created_date: '2026-02-25 22:28' +updated_date: '2026-02-25 22:28' +labels: + - landing-page + - deployment + - routing +dependencies: [] +priority: high +--- + +## Description + + +Replace the minimal landing page at rcal.online with a full rStack-style marketing page. Move the calendar demo to demo.rcal.online via subdomain middleware routing. Add per-route layouts for Header placement. + + +## Acceptance Criteria + +- [x] #1 rcal.online serves a full marketing landing page matching rStack/rIdentity design pattern +- [x] #2 demo.rcal.online serves the interactive calendar app +- [x] #3 Landing page has hero, principles grid, feature pillars, temporal zoom visualization, four-view showcase, ecosystem cards, and CTA +- [x] #4 Middleware routes demo subdomain to /demo path +- [x] #5 Per-route layouts keep Header on app pages but not duplicated on landing page +- [x] #6 Deployed to production and verified live +- [x] #7 Code pushed to both dev and main branches + + +## Final Summary + + +## Landing Page Redesign & Demo Subdomain + +### Changes +- **New landing page** (`src/app/page.tsx`) — rStack-style dark theme (#0b1120) with gradient hero, 4-card principles, 6-card feature pillars, temporal zoom bar chart, four-view showcase, ecosystem integration cards, and CTA +- **Demo route** (`src/app/demo/`) — Calendar app moved here, served at demo.rcal.online +- **Middleware** — Added `demo` subdomain handling alongside existing space routing +- **Layout restructuring** — Removed global Header from root layout, added per-route layouts for `/calendar`, `/demo`, `/context` +- **Dockerfile fix** — Added `NODE_OPTIONS=--max_old_space_size=4096` to fix SIGSEGV during Docker build +- **Component updates** — AppSwitcher/EcosystemFooter category reorganization (rTube/rSwag to Creating, Social & Media split into Sharing + Observing) + +### Commits +- `f465759` feat: redesign landing page and add demo.rcal.online subdomain +- `3c0dc28` fix: increase Node heap size for Docker build + +### Verified +- https://rcal.online — Landing page live (HTTP 200) +- https://demo.rcal.online — Calendar demo live (HTTP 200) +- DNS wildcard *.rcal.online already resolves via Cloudflare tunnel +- Traefik HostRegexp handles subdomain routing + diff --git a/backlog/tasks/task-4 - Add-zoom-views-view-switcher-demo-data-and-map-transit-lines-to-demo.rcal.online.md b/backlog/tasks/task-4 - Add-zoom-views-view-switcher-demo-data-and-map-transit-lines-to-demo.rcal.online.md new file mode 100644 index 0000000..21bd4ec --- /dev/null +++ b/backlog/tasks/task-4 - Add-zoom-views-view-switcher-demo-data-and-map-transit-lines-to-demo.rcal.online.md @@ -0,0 +1,69 @@ +--- +id: TASK-4 +title: >- + Add zoom views, view switcher, demo data, and map transit lines to + demo.rcal.online +status: Done +assignee: + - '@claude' +created_date: '2026-02-25 23:28' +labels: + - demo + - calendar + - map + - zoom + - views +dependencies: [] +priority: high +--- + +## Description + + +Implement fluid calendar zoom with dedicated views for each temporal granularity, add a view switcher toolbar, populate the demo app with realistic sample data, and render transit lines between event locations on the map. + + +## Acceptance Criteria + +- [ ] #1 Zoom in/out cycles through Day → Week → Month → Season → Year → Decade with distinct views for each +- [ ] #2 DayView renders 24h time grid with positioned events and now-indicator +- [ ] #3 WeekView renders 7-column time grid with events per day +- [ ] #4 ViewSwitcher icon bar in header allows direct jump to any view +- [ ] #5 All views fit same container form factor (h-full flex-col) with opt-in fullscreen via FullscreenToggle +- [ ] #6 YearView defaults to compact grid (not auto-fullscreen portal) +- [ ] #7 Demo page seeded with ~40 realistic events across 5 months with real GPS coordinates +- [ ] #8 Events span Berlin, Amsterdam, Munich, Paris, Prague, Lisbon, Barcelona, Brussels +- [ ] #9 4 demo calendar sources: Work (blue), Travel (orange), Personal (green), Conferences (purple) +- [ ] #10 Map draws dashed transit polylines between chronologically ordered events at different locations +- [ ] #11 Travel-source transit lines render in orange, others in gray +- [ ] #12 EventListItem type extended with latitude/longitude/coordinates fields +- [ ] #13 CSS fade transition between view switches +- [ ] #14 Code pushed to both dev and main branches + + +## Final Summary + + +## Calendar Zoom Views, Demo Data & Map Transit + +### New Components +- **DayView** — 24h time grid with event positioning, all-day section, red now-indicator +- **WeekView** — 7-day column layout with hourly grid, click-to-zoom-to-day +- **ViewSwitcher** — Icon toolbar (Day/Week/Month/Season/Year/Decade) in CalendarHeader +- **FullscreenToggle** — Reusable portal wrapper for opt-in fullscreen on any view +- **DemoDataSeeder** — Pre-populates React Query cache with demo events +- **TransitLines** — Draws dashed polylines between event locations on SpatioTemporalMap + +### Modified Components +- **TemporalTab/SpatialTab** — Route each granularity to its dedicated view (was falling through to MonthView) +- **MonthView/SeasonView** — Normalized to h-full flex-col container pattern +- **YearView** — Default changed from fullscreen portal to inline compact; glance mode now inline too +- **SpatioTemporalMap** — Added TransitLines component, simplified EventMarkers type casts +- **EventListItem** — Extended with latitude/longitude/coordinates/location_breadcrumb fields + +### Demo Data +~40 events across 5 months covering work meetings, train/flight travel, conferences, and personal activities across 8 European cities with real GPS coordinates. + +### Commit +- `cd7f4ad` feat: add Day/Week views, view switcher, demo data with map transit lines +