···11+import { useState } from 'react';
22+import { EditPad } from '../components/EditPad';
33+44+const INITIAL_NOTE = `# Welcome to Textile
55+66+This is a **local-first** note. The editor uses Markdown and is built for a smooth typing experience.
77+88+- Edit this buffer freely — it stays in memory until you wire up a vault on disk.
99+- Later you can plug in CRDT sync without throwing away the editor surface.
1010+`;
1111+112export function HomePage() {
1313+ const [note, setNote] = useState(INITIAL_NOTE);
1414+215 return (
33- <section className="space-y-2">
44- <h1 className="text-foreground text-2xl font-semibold">Home</h1>
55- <p className="text-foreground/90">
66- Renderer is running React inside Electron.
77- </p>
88- </section>
1616+ <div className="flex min-h-0 flex-1 flex-col gap-3">
1717+ <div>
1818+ <h1 className="text-foreground text-2xl font-semibold">Notes</h1>
1919+ <p className="text-foreground/80 text-sm">
2020+ Rich Markdown via TipTap (round-trips with <code>.md</code> using{' '}
2121+ <code>@tiptap/markdown</code>). The ProseMirror model lines up with
2222+ Yjs + <code>@tiptap/extension-collaboration</code> when you add sync.
2323+ </p>
2424+ </div>
2525+ <EditPad
2626+ value={note}
2727+ onChange={setNote}
2828+ placeholder="Start writing…"
2929+ />
3030+ </div>
931 );
1032}