brackt/docs/agents/routing.md

33 lines
1,012 B
Markdown
Raw Normal View History

2026-04-13 20:58:34 -07:00
# Routing
## Adding a New Route
Both steps are required — skipping step 1 causes a silent 404.
1. **Register in `app/routes.ts`** (do this first):
```typescript
route("admin/sports-seasons/:id/new-page", "routes/admin.sports-seasons.$id.new-page.tsx")
```
Nested admin routes go inside the `route("admin", ...)` array.
2. **Create the file** in `app/routes/` with the matching name.
3. Export `loader` / `action` as needed. TypeScript types are auto-generated via `react-router typegen`.
## File Naming Conventions
- `.` separates path segments: `leagues.$leagueId.settings.tsx``/leagues/:leagueId/settings`
- `$param` = dynamic segment
- `_index.tsx` = index route for a path
## Admin Routes
All admin routes are nested under `/admin` and require `isAdmin: true` on the user:
| Prefix | Area |
|---|---|
| `admin.sports.*` | Sports management |
| `admin.sports-seasons.*` | Sports seasons |
| `admin.templates.*` | Season templates |
| `admin.data-sync.tsx` | Data sync utilities |