summaryrefslogtreecommitdiff
path: root/app/routes
diff options
context:
space:
mode:
Diffstat (limited to 'app/routes')
-rw-r--r--app/routes/artist-index.tsx33
-rw-r--r--app/routes/band-index.tsx36
-rw-r--r--app/routes/home.tsx28
3 files changed, 72 insertions, 25 deletions
diff --git a/app/routes/artist-index.tsx b/app/routes/artist-index.tsx
new file mode 100644
index 0000000..9981567
--- /dev/null
+++ b/app/routes/artist-index.tsx
@@ -0,0 +1,33 @@
+import { Link, useLoaderData } from "react-router";
+import { listArtists } from "~/lib/db.server";
+
+export function loader() {
+ return { artists: listArtists() };
+}
+
+export default function ArtistIndex() {
+ const { artists } = useLoaderData<typeof loader>();
+ return (
+ <main>
+ <div className="page-header">
+ <h1>Artists</h1>
+ <Link to="/artists/new">+ Artist</Link>
+ </div>
+
+ {artists.length === 0 ? (
+ <p className="muted">
+ アーティストがまだありません。{" "}
+ <Link to="/artists/new">追加する</Link>
+ </p>
+ ) : (
+ <ul className="band-list">
+ {artists.map((artist) => (
+ <li key={artist.id}>
+ <Link to={`/artists/of/${artist.id}`}>{artist.name}</Link>
+ </li>
+ ))}
+ </ul>
+ )}
+ </main>
+ );
+}
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>
+ );
+}
diff --git a/app/routes/home.tsx b/app/routes/home.tsx
index ef6912d..9795ba8 100644
--- a/app/routes/home.tsx
+++ b/app/routes/home.tsx
@@ -1,31 +1,9 @@
-import { Link, useLoaderData } from "react-router";
-import { listBands } from "~/lib/db.server";
+import { redirect } from "react-router";
export function loader() {
- return { bands: listBands() };
+ return redirect("/bands");
}
export default function Home() {
- const { bands } = useLoaderData<typeof loader>();
- return (
- <main>
- {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>
- );
+ return null;
}