// ============================================================
// Shared UI components — masthead, footer, cards, icons
// ============================================================
const { useState, useEffect, useRef, useMemo, useCallback } = React;
// ---------- Icons (inline SVG) ----------
const Icon = {
whatsapp: (p) => (
),
search: (p) => (
),
arrow: (p) => (
),
x: (p) => (
),
linkedin: (p) => (
),
link: (p) => (
),
edit: (p) => (
),
trash: (p) => (
),
eye: (p) => (
),
plus: (p) => (
),
upload: (p) => (
),
check: (p) => (
),
eyeOff: (p) => (
),
alert: (p) => (
),
image: (p) => (
),
download: (p) => (
),
};
// ---------- Brand monogram (logo) ----------
function Monogram({ size = 48 }) {
return (
);
}
// ---------- Masthead ----------
function Masthead({ active = 'home', onNav, categories }) {
const today = new Date();
const dias = ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'];
const meses = ['JAN', 'FEV', 'MAR', 'ABR', 'MAI', 'JUN', 'JUL', 'AGO', 'SET', 'OUT', 'NOV', 'DEZ'];
const dateStr = `${dias[today.getDay()]}, ${today.getDate()} DE ${meses[today.getMonth()]} DE ${today.getFullYear()}`;
return (
{article.subtitle}{article.title}
{size !== 'sm' && article.subtitle &&