// BlocoNota: uma página de anotações (cartão de papel branco com borda fina). Título em serifa, lista de tarefas cujos quadradinhos // são riscados à mão (traço que se desenha) um depois do outro; a linha riscada apaga e ganha um traço por cima. import React from 'react'; import {useCurrentFrame} from 'remotion'; import {COR, FONTE_D, FONTE_T, c01, caber, e5, eb, seg} from '../base'; import {Traco, linha, retangulo} from '../formas/desenho'; export type ItemNota = {texto: string; feito?: boolean}; export type BlocoNotaProps = {titulo: string; itens: ItemNota[]; inicio?: number; y?: number; /** quadros entre um item riscado e o próximo */ intervalo?: number}; export const BlocoNota: React.FC = ({titulo, itens, inicio = 0, y = 760, intervalo = 9}) => { const f = useCurrentFrame(); const en = eb(seg(f, inicio, inicio + 18)); const LH = 130, H = 250 + itens.length * LH + 40; const tt = caber(titulo, 84, 740, 700, -0.01); return
página · hoje
{titulo}
{itens.map((it, i) => { const top = 250 + i * LH, t0 = inicio + 14 + i * intervalo; const caixa = e5(seg(f, t0, t0 + 8)), tick = e5(seg(f, t0 + 10 + (itens.length - i) * 0 + i * 2, t0 + 22 + i * 2)); const riscado = it.feito !== false && f > t0 + 20 + i * 2; return {it.feito !== false && } {riscado && } ; })} {itens.map((it, i) => { const t0 = inicio + 14 + i * intervalo, e = e5(seg(f, t0, t0 + 12)); const risc = it.feito !== false && f > t0 + 24 + i * 2; return
{it.texto}
; })}
; };