diff options
| author | yyamashita <yyamashita@mosquit.one> | 2026-05-09 00:27:19 +0900 |
|---|---|---|
| committer | yyamashita <yyamashita@mosquit.one> | 2026-05-09 00:27:19 +0900 |
| commit | b8d24d292d99c8da285092ce923b5e2b546d8f45 (patch) | |
| tree | c8cde36d7a109dd8eb75b62a6aefd81e80d1f5ee /app/routes/band-by-slug.tsx | |
| parent | 859e6d8ed530daac1180c7b03182d9389be084dc (diff) | |
Implement band/artist management with version history
Full CRUD for bands and artists: UUID + slug URLs, dynamic link
editor, band-artist associations with roles, per-edit revision
snapshots (message + IP). Add README and CLAUDE.md.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'app/routes/band-by-slug.tsx')
| -rw-r--r-- | app/routes/band-by-slug.tsx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/routes/band-by-slug.tsx b/app/routes/band-by-slug.tsx new file mode 100644 index 0000000..9b432bf --- /dev/null +++ b/app/routes/band-by-slug.tsx @@ -0,0 +1,13 @@ +import { data, redirect } from "react-router"; +import type { LoaderFunctionArgs } from "react-router"; +import { getBandBySlug } from "~/lib/db.server"; + +export async function loader({ params }: LoaderFunctionArgs) { + const band = getBandBySlug(params.slug!); + if (!band) throw data("Not found", { status: 404 }); + return redirect(`/bands/of/${band.id}`); +} + +export default function BandBySlug() { + return null; +} |
