// components.jsx — shared UI bits for the Eidos Factum uploader prototype. // ── Icons ─────────────────────────────────────────────────────────────────── const Icon = { reel: (p = {}) => ( ), check: (p = {}) => ( ), upload: (p = {}) => ( ), shield: (p = {}) => ( ), clock: (p = {}) => ( ), dot: (p = {}) => ( ), film: (p = {}) => ( ), arrowRight: (p = {}) => ( ), key: (p = {}) => ( ), }; // ── Wordmark ──────────────────────────────────────────────────────────────── // "Eidos Factum" — sober editorial wordmark. Two-line lockup with a hairline // rule that reads as a film leader edge. function Wordmark({ subtitle = 'Upload' }) { return (
{subtitle}
); } // ── Top bar ───────────────────────────────────────────────────────────────── function TopBar({ user, isAdmin, view, onView, onSignOut }) { return (
{isAdmin && ( Admin )} {user.name}
); } // ── Eyebrow label ─────────────────────────────────────────────────────────── function Eyebrow({ children }) { return
{children}
; } // ── Pill / Tag ────────────────────────────────────────────────────────────── function Pill({ tone = 'neutral', children }) { return {children}; } // ── Footer (small print) ──────────────────────────────────────────────────── function Footer({ palette }) { return ( ); } Object.assign(window, { Icon, Wordmark, TopBar, Eyebrow, Pill, Footer });