58 lines
2.8 KiB
HTML
58 lines
2.8 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<title>Fenja — Archive</title>
|
|
<link rel="stylesheet" href="../../colors_and_type.css"/>
|
|
<link rel="stylesheet" href="kit.css"/>
|
|
<script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
|
|
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
|
|
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
|
|
<script type="text/babel" src="components.jsx"></script>
|
|
<script type="text/babel" src="screens.jsx"></script>
|
|
|
|
<script type="text/babel">
|
|
const DOCS = [
|
|
{ id: 1, title: "On stillness, and other tools",
|
|
excerpt: "An argument for slowness as an epistemic stance, not a lifestyle posture.",
|
|
meta: "12 min · 3 days ago", collection: "Essays", color: "#6d8c7c" },
|
|
{ id: 2, title: "Norse metaphors for modern machine learning",
|
|
excerpt: "The mill as training loop; the giantesses as the patient labor that grinds the corpus.",
|
|
meta: "8 min · last week", collection: "Research", color: "#5a6d83" },
|
|
{ id: 3, title: "The margin is the point",
|
|
excerpt: "What annotation teaches us about attention, and why software mostly gets it wrong.",
|
|
meta: "4 min · March", collection: "Essays", color: "#6d8c7c" },
|
|
{ id: 4, title: "Letter to A., on returning to the book",
|
|
excerpt: "A long note on re-reading, inheritance, and the difference between information and knowing.",
|
|
meta: "15 min · March", collection: "Correspondence", color: "#c29d59" },
|
|
{ id: 5, title: "Field notes — the Grótti fragments",
|
|
excerpt: "Primary-source annotations on the surviving Old Norse text and its modern translations.",
|
|
meta: "22 min · February", collection: "Research", color: "#5a6d83" },
|
|
];
|
|
|
|
function App() {
|
|
const [view, setView] = React.useState('archive');
|
|
const [openDoc, setOpenDoc] = React.useState(null);
|
|
const [query, setQuery] = React.useState("");
|
|
|
|
return (
|
|
<div className="app">
|
|
<Sidebar view={view} setView={setView}/>
|
|
<main className="main">
|
|
{openDoc
|
|
? <ReaderScreen doc={openDoc} onBack={() => setOpenDoc(null)} />
|
|
: <ArchiveScreen documents={DOCS} onOpen={setOpenDoc} query={query} setQuery={setQuery} />
|
|
}
|
|
</main>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')).render(<App/>);
|
|
</script>
|
|
</body>
|
|
</html>
|