// CartaoEndereco: o cartão do lugar (branco, canto 56 px): pino magenta, nome grande, endereço em mono, uma linha de detalhe // (horário, tempo) e o botão "Como chegar" que aperta e solta um anel. Sobe de baixo com overshoot. Herói da cena de endereço. import React from 'react'; import {useCurrentFrame} from 'remotion'; import {COR, FONTE, MONO, caber, e5, ov, seg} from '../base'; export type CartaoEnderecoProps = { nome: string; endereco: string; detalhe: string; botao: string; inicio?: number; /** quadro (na cena) em que o botão aperta */ clica?: number; /** centro vertical, px */ y: number; fim?: number; }; export const CartaoEndereco: React.FC = ({nome, endereco, detalhe, botao, inicio = 0, clica, y, fim = 1e9}) => { const f = useCurrentFrame(); if (f < inicio - 1 || f > fim + 12) return null; const quando = clica ?? inicio + 26; const t = ov(seg(f, inicio, inicio + 18)), sai = e5(seg(f, fim, fim + 10)); const aperta = f >= quando && f < quando + 8 ? 1 - Math.abs(f - quando - 3) / 5 : 0, anel = seg(f, quando, quando + 16); const tam = caber(nome, 118, 780, 800, -0.03, 'MP DM Sans'); return
{nome}
{endereco}
{detalhe}
{f >= quando &&
}
{botao}
; };