// Caderno da Maria — versões responsivas // Detecta tela e renderiza versão desktop (caderno aberto, 2 páginas) ou mobile const cdStyles = { fontHand: '"Caveat", cursive', fontBody: '"Patrick Hand", cursive', fontMono: '"Courier New", monospace', ink: '#1a1a1a', paper: '#fefdf7', pencil: '#666', red: '#e85d4f', yellow: '#f4c542', blue: '#7eb6d9', green: '#9bc88e', pink: '#fcd5ce', }; const Star = ({ size = 16, color = cdStyles.yellow, rotate = 0, style = {} }) => ( ); const Heart = ({ size = 16, color = cdStyles.red, style = {} }) => ( ); // Card de jogo reutilizável const GameCard = ({ href, label, title, color, tilt, hint }) => (
{label}
{title}
{hint}
); // hook responsivo function useIsMobile() { const [isMobile, setIsMobile] = React.useState(window.innerWidth < 720); React.useEffect(() => { const onResize = () => setIsMobile(window.innerWidth < 720); window.addEventListener('resize', onResize); return () => window.removeEventListener('resize', onResize); }, []); return isMobile; } // ═════════════════════════════════════════════════════════════ // MOBILE — vertical, página única, foco no essencial // ═════════════════════════════════════════════════════════════ function CadernoMobile() { return (
{/* margem vermelha */}
{/* furos */} {[60, 220, 380, 540, 700, 860, 1020].map((y, i) => (
))}
caderno secreto · vol. 1

o cantinho
da Maria

(só pros meus amigos!)
{/* foto polaroid */}
Maria
oi! sou eu
tenho 7 anos e adoro
pintar,{' '} brincar,
ouvir histórias de princesa
e jogar com meus amigos.
{/* JOGOS — empilhados */}

✦ meus jogos ✦

jogar! } color={cdStyles.yellow} tilt={-2} hint="→ clica aqui!"/>
feito com pela Maria
); } // ═════════════════════════════════════════════════════════════ // DESKTOP — uma folha de caderno só, layout limpo em 2 colunas // ═════════════════════════════════════════════════════════════ function CadernoDesktop() { return (
{/* margem vermelha */}
{/* furos */} {[80, 240, 400, 560, 720].map((y, i) => (
))} {/* topo */}
caderno secreto · vol. 1

o cantinho da Maria

(só pros meus amigos!)
{/* duas colunas */}
{/* coluna esquerda — foto + sobre */}
Maria
oi! sou eu
tenho 7 anos e adoro
pintar,{' '} brincar,
ouvir histórias de princesa
e jogar com meus amigos.
{/* coluna direita — jogos */}

✦ meus jogos

clica num cartão pra começar!
jogar! } color={cdStyles.yellow} tilt={-2} hint="→ clica aqui pra brincar!"/>
{/* assinatura discreta */}
feito com pela Maria
); } // ═════════════════════════════════════════════════════════════ // Componente principal — escolhe versão // ═════════════════════════════════════════════════════════════ function App() { const isMobile = useIsMobile(); return isMobile ? : ; } Object.assign(window, { App, CadernoDesktop, CadernoMobile });