summaryrefslogtreecommitdiff
path: root/app/routes/band-index.tsx
diff options
context:
space:
mode:
authoryyamashita <yyamashita@mosquit.one>2026-05-15 00:08:25 +0900
committeryyamashita <yyamashita@mosquit.one>2026-05-15 00:08:25 +0900
commit1a8a159a71fd018bab0e14d9df952c53ae5ea062 (patch)
treee49843e7b1178e063b7f7fd3ad05601affdbfd28 /app/routes/band-index.tsx
parent83524404e891cf256e191677e1150e853e185155 (diff)
Add bands/artists index pages and redirect top page
- / now redirects to /bands - /bands shows band list with "+ Band" link - /artists shows artist list with "+ Artist" link - Nav simplified to Bands / Artists only Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'app/routes/band-index.tsx')
-rw-r--r--app/routes/band-index.tsx36
1 files changed, 36 insertions, 0 deletions
diff --git a/app/routes/band-index.tsx b/app/routes/band-index.tsx
new file mode 100644
index 0000000..0b47da5
--- /dev/null
+++ b/app/routes/band-index.tsx
@@ -0,0 +1,36 @@
+import { Link, useLoaderData } from "react-router";
+import { listBands } from "~/lib/db.server";
+
+export function loader() {
+ return { bands: listBands() };
+}
+
+export default function BandIndex() {
+ const { bands } = useLoaderData<typeof loader>();
+ return (
+ <main>
+ <div className="page-header">
+ <h1>Bands</h1>
+ <Link to="/bands/new">+ Band</Link>
+ </div>
+
+ {bands.length === 0 ? (
+ <p className="muted">
+ バンドがまだありません。{" "}
+ <Link to="/bands/new">追加する</Link>
+ </p>
+ ) : (
+ <ul className="band-list">
+ {bands.map((band) => (
+ <li key={band.id}>
+ <Link to={`/bands/of/${band.id}`}>{band.name}</Link>
+ {band.status === "hiatus" && (
+ <span className="muted" style={{ fontSize: ".75rem" }}>活動休止</span>
+ )}
+ </li>
+ ))}
+ </ul>
+ )}
+ </main>
+ );
+}