diff options
Diffstat (limited to 'app/routes/band-index.tsx')
| -rw-r--r-- | app/routes/band-index.tsx | 36 |
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> + ); +} |
