// ============== stub pages (lighter) ============== function PageHero({ index, title, lede }) { return ( {index} {lede && {lede}} ); } function StubGrid({ items }) { return ( {items.map((it, i) => ( {String(i + 1).padStart(2, "0")} {it.t} {it.d} ))} ); } function Companies({ go }) { return ( The pipeline Five stages, one guarantee. {window.W3J.HOW_STEPS.map((s) => ( {s.num} {s.t} {s.d} {s.time} ))} Start a search Tell uswho you need. Start the brief hello@web3joe.com ); } function Candidates({ go }) { return ( Submit your profile Build a privatecandidate file. Submit profile go("jobs")}>Browse open roles ); } function About({ go }) { return ( ); } function Events({ go }) { const events = [ { d: "MAY 14", t: "Solana Engineering Dinner", l: "NYC · Invite only", n: "16 ENGINEERS" }, { d: "JUN 06", t: "DeFi Founders Roundtable", l: "Lisbon · Token Summit", n: "24 FOUNDERS" }, { d: "JUL 19", t: "ZK Research Salon", l: "Berlin · Web3 Berlin", n: "32 RESEARCHERS" }, { d: "SEP 12", t: "MEV Off-the-Record", l: "Singapore · TOKEN2049", n: "18 OPERATORS" }, ]; return ( {events.map((e, i) => ( {e.d} {e.t} {e.l} {e.n} · ))} Host with us. go("contact")}>Propose an event ); } function Blog({ go }) { const posts = [ { cat: "MARKET INTEL", t: "Q1 2026 Web3 comp benchmarks", read: "8 MIN" }, { cat: "HIRING PLAYBOOK", t: "Token grants without lawyers", read: "12 MIN" }, { cat: "CAREER GUIDE", t: "Reading a protocol's runway", read: "6 MIN" }, { cat: "ECOSYSTEM", t: "Where Solana hires its top-1%", read: "9 MIN" }, { cat: "MARKET INTEL", t: "What founders pay in 2026", read: "11 MIN" }, { cat: "HIRING PLAYBOOK", t: "The 23-day search calendar", read: "7 MIN" }, ]; return ( {posts.map((p, i) => ( {String(i+1).padStart(2, "0")} {p.t} {p.cat} {p.read} · ))} ); } function Contact({ go }) { return ( { e.preventDefault(); go("companies"); }}> PATH A I'm hiring. START A SEARCH → { e.preventDefault(); go("candidates"); }}> PATH B I'm lookingfor a role. SUBMIT PROFILE → PATH C Partnershipor other. SAY HELLO → ); } window.Companies = Companies; window.Candidates = Candidates; window.About = About; window.Events = Events; window.Blog = Blog; window.Contact = Contact;
{lede}
{it.d}
{s.d}