Route CRUD: - Create route with name, description, optional GPX upload - Route detail page with stats (distance, elevation), version history - Edit route (name, description, upload new GPX → creates new version) - Delete route with confirmation dialog - Route list page sorted by last updated GPX handling: - Import: parse GPX, compute distance/elevation stats on save - Export: download route GPX as file - Version history: new version created on each GPX update Server logic in routes.server.ts with full Drizzle ORM queries. All 10 Group 8 tasks complete. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
16 lines
723 B
TypeScript
16 lines
723 B
TypeScript
import { type RouteConfig, index, route } from "@react-router/dev/routes";
|
|
|
|
export default [
|
|
index("routes/home.tsx"),
|
|
route("auth/register", "routes/auth.register.tsx"),
|
|
route("auth/login", "routes/auth.login.tsx"),
|
|
route("auth/verify", "routes/auth.verify.tsx"),
|
|
route("auth/logout", "routes/auth.logout.tsx"),
|
|
route("api/auth/register", "routes/api.auth.register.ts"),
|
|
route("api/auth/login", "routes/api.auth.login.ts"),
|
|
route("routes", "routes/routes._index.tsx"),
|
|
route("routes/new", "routes/routes.new.tsx"),
|
|
route("routes/:id", "routes/routes.$id.tsx"),
|
|
route("routes/:id/edit", "routes/routes.$id.edit.tsx"),
|
|
route("users/:username", "routes/users.$username.tsx"),
|
|
] satisfies RouteConfig;
|