Commit Graph

7 Commits

Author SHA1 Message Date
Jeff Emmett 62945fc3a8 chore: remove duplicate migration directory
Keep 20260324_add_route_segments, remove the timestamped duplicate
20260324000000_add_route_segments that was accidentally added.
DB migration record updated to match the canonical name.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 12:48:57 -07:00
Jeff Emmett 611400c3d6 fix: move maplibre-gl CSS to layout to fix Next.js webpack build
The maplibre-gl webpack alias in next.config.mjs was intercepting CSS
sub-path imports, causing 'Module not found' for maplibre-gl/dist/maplibre-gl.css.
Removed the alias entirely (not needed for Next.js 14) and moved the CSS
import to layout.tsx so it resolves directly from node_modules.

Also adds the prisma migration file for RouteSegment table
(20260324000000_add_route_segments).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 12:47:23 -07:00
Jeff Emmett bd3413d186 chore: add RouteSegment migration SQL
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 12:34:37 -07:00
Jeff Emmett cafbc6c4c6 feat: add route planning, accommodation search, and map tab
- Add RouteSegment model with ORS/OSRM hybrid routing (worldwide)
- Add 6 new API routes: routes, optimize, accommodation search/save, nearby POIs, isochrones
- Add TripMap (MapLibre), AccommodationSearch, RouteStats frontend components
- Add map tab to trip dashboard with route optimization
- Migrate to basePath /rtrips for rspace.online/rtrips hosting
- Add rtrips.online → rspace.online/rtrips redirect via Traefik
- Install maplibre-gl and react-map-gl dependencies

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 12:31:39 -07:00
Jeff Emmett 0d3d636751 Add interactive demo with cross-service data via proxy routes
- Convert demo page from static server component to interactive client
  component with live data fetching and graceful static fallbacks
- Add /api/trips/by-slug/[slug] for slug-based trip lookup
- Add /api/trips/[id]/packing/[itemId] PATCH for toggling packed status
- Add proxy routes for rNotes, rVote, rCart (server-side, no CORS needed)
- Add demo trip seed script (prisma/seed-demo.ts)
- Packing checkboxes are now interactive with optimistic updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:05:35 -07:00
Jeff Emmett b90e1fc9cd Add initial Prisma migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 12:24:53 -07:00
Jeff Emmett 8c13f6ad71 Initial rtrips-online scaffold
Next.js 14 app with Prisma (PostgreSQL), Gemini NL parser,
Tailwind dark theme, Docker + Traefik deployment config.

Features:
- Landing page with teal/cyan branding
- NL input → Gemini 2.0 Flash parsing → structured trip data
- Full Prisma schema (trips, destinations, itinerary, bookings,
  expenses, packing items, collaborators)
- Trip CRUD API routes with all sub-entities
- Trip dashboard with tabbed views (overview, itinerary,
  destinations, bookings, budget, packing)
- Embedded rSpace canvas with full-screen mode
- Docker multi-stage build with security hardening
- Health check endpoint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 12:10:22 -07:00