docs: add backlog tasks for landing page redesign and zoom/demo features

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-02-25 15:28:48 -08:00
parent cd7f4adf5e
commit d93ba4175c
2 changed files with 125 additions and 0 deletions

View File

@ -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
<!-- SECTION:DESCRIPTION:BEGIN -->
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.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [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
<!-- AC:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
## 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
<!-- SECTION:FINAL_SUMMARY:END -->

View File

@ -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
<!-- SECTION:DESCRIPTION:BEGIN -->
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.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #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
<!-- AC:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
## 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
<!-- SECTION:FINAL_SUMMARY:END -->