- Add DayView (24h time grid with events) and WeekView (7-day columns)
- Add ViewSwitcher icon bar in header for quick Day/Week/Month/Season/Year/Decade switching
- Fix zoom to properly route each granularity to its dedicated view
- Normalize all views to consistent h-full flex-col container pattern
- Change YearView default from fullscreen portal to inline compact/glance
- Add FullscreenToggle wrapper for opt-in fullscreen on any view
- Add ~40 demo events with real coordinates (Berlin, Amsterdam, Munich, Paris, Prague, Lisbon, Barcelona, Brussels)
- Add DemoDataSeeder to pre-populate React Query cache on demo page
- Add TransitLines component drawing dashed polylines between event locations on the map
- Extend EventListItem type with latitude/longitude/coordinates fields
- Add CSS fade transition between view switches
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- AppSwitcher: rTube/rSwag → Creating, rSocials → Sharing, rData → Observing
- EcosystemFooter: updated link order to match new categories
- UserMenu: 🔑 Sign In button, 🔐 lock when logged in
- SpaceSwitcher: reads EncryptID token, sends Bearer header
- /api/spaces proxy: forwards to rspace.online (canonical spaces)
- /api/me: verifies EncryptID token for auth status
- Header.tsx: standardized bg-slate-900/85 across all apps
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the minimal landing page with a full rStack-style marketing page
featuring hero with gradient text, 4-card principles grid, feature pillars,
temporal zoom visualization, four-view showcase, ecosystem integration
cards, and CTA section.
Move the calendar app to /demo route served at demo.rcal.online via
middleware subdomain routing. Add per-route layouts for Header placement
so the landing page controls its own chrome.
Also includes AppSwitcher/EcosystemFooter category reorganization
(rTube/rSwag to Creating, Social & Media split into Sharing + Observing).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Space links now go to <space>.<app-domain> (e.g., myspace.rfunds.online)
instead of rspace.online/<space>. Domain derived from window.location
when not explicitly provided.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace inline nav/Navbar with shared Header component
- Header pattern: AppSwitcher dropdown / SpaceSwitcher / actions / Sign In
- SpaceSwitcher and UserMenu work without SDK dependency
- Consistent across all r*Apps
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds the unified rStack app switcher with pastel badges, emoji icons,
and categorized navigation across all 17 rStack apps.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
User model added to Prisma. AuthProvider wraps existing Providers.
POST/PUT/DELETE routes require auth, GET routes remain open for demo access.
CalendarSource tracks createdById. Dockerfile updated for SDK copy.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>