/* Journal + Shayari Library pages */ const { useState: useStateP3 } = React; function JournalPage({ go }) { useReveal(); const cats = ["All", "Poetry", "Reflections", "Community Story", "Event Recap", "Featured Creator"]; const [cat, setCat] = useStateP3("All"); const list = cat === "All" ? STORIES : STORIES.filter((s) => s.cat === cat); const feat = STORIES[0]; return (
{/* FEATURE */}
go("journal")} style={{ cursor: "pointer", display: "grid", gridTemplateColumns: "1.4fr 1fr", gap: 0, border: "1px solid var(--line)", borderRadius: 5, overflow: "hidden", background: "var(--paper)" }}>
Featured · {feat.cat}

{feat.title}

{feat.excerpt}

{feat.author}· {feat.read} read
{/* FILTER + GRID */}
{cats.map((c) => ( ))}
{list.map((s, i) => (
go("journal")} style={{ cursor: "pointer" }}>
{s.cat} · {s.read}

{s.title}

{s.excerpt}

{s.author}
))}
The SEM letter

One thoughtful email a month.

A poem, a story, and where to find us next. Nothing else.

e.preventDefault()} style={{ display: "flex", gap: 10, maxWidth: 460, margin: "0 auto", flexWrap: "wrap" }}>
); } function LibraryPage({ go }) { useReveal(); const cats = ["All", "Love", "Life", "Hope", "Philosophy", "Relationships", "Growth"]; const [cat, setCat] = useStateP3("All"); const [open, setOpen] = useStateP3(null); const list = cat === "All" ? SHAYARI : SHAYARI.filter((s) => s.cat === cat); const sel = open != null ? SHAYARI[open] : null; return (
{cats.map((c) => ( ))}
{list.map((s, i) => { const idx = SHAYARI.indexOf(s); return (
setOpen(idx)} style={{ cursor: "pointer", padding: "32px 30px 28px", display: "flex", flexDirection: "column", minHeight: 220 }}> {s.cat}

{s.roman}

— {s.author} Read
); })}
{sel && (
setOpen(null)}>
e.stopPropagation()}>
{sel.cat}

{sel.roman}

Meaning

{sel.mean}

Author

{sel.author}

)}

Have a verse the world should keep?

); } Object.assign(window, { JournalPage, LibraryPage });