import { Link, useLoaderData, useNavigate, useRevalidator } from "react-router"; import { createStory, deleteStory, emptyDoc, listStories, type StorySummary, } from "../lib/stories"; export const buildListLoader = () => listStories(true); export function BuildList() { const stories = useLoaderData() as StorySummary[]; const navigate = useNavigate(); const { revalidate } = useRevalidator(); async function create() { const { story } = await createStory({ title: "Untitled adventure", description: "", doc: emptyDoc(), }); navigate(`/build/${story.id}`); } async function remove(s: StorySummary) { if (!confirm(`Delete "${s.title}"? This cannot be undone.`)) return; await deleteStory(s.id); await revalidate(); } return (

Your stories

); }