// 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 }) => (
);
// 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 */}
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 */}
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 });