// Blog components — cover artwork, cards, article shell.
// Stylized cover artworks (no AI images — geometric placeholders with brand pattern)
function BlogCover({ kind, height = 'auto', compact = false }) {
const presets = {
edificio: { bg: 'linear-gradient(135deg, #1B3A6B 0%, #1E6BB0 100%)', accent: '#E8620A', icon: 'edificio' },
chat: { bg: 'linear-gradient(135deg, #14532D 0%, #16A34A 100%)', accent: '#F59E0B', icon: 'chat' },
lista: { bg: 'linear-gradient(135deg, #18181B 0%, #3F3F46 100%)', accent: '#E11D48', icon: 'lista' },
busqueda: { bg: 'linear-gradient(135deg, #4338CA 0%, #6366F1 100%)', accent: '#FACC15', icon: 'busqueda' },
grafica: { bg: 'linear-gradient(135deg, #7C2D12 0%, #C2410C 100%)', accent: '#FACC15', icon: 'grafica' },
tienda: { bg: 'linear-gradient(135deg, #831843 0%, #DB2777 100%)', accent: '#FACC15', icon: 'tienda' },
};
const p = presets[kind] || presets.edificio;
return (
")`,
backgroundSize: 'cover, 56px 64px',
}}>
{/* Hex pattern overlay (already in background) */}
);
}
function CoverGlyph({ kind, accent, compact }) {
const size = compact ? 80 : 140;
const wrap = {
position:'absolute', inset:0,
display:'flex', alignItems:'center', justifyContent:'center',
color: accent,
};
if (kind === 'edificio') {
return (
);
}
if (kind === 'chat') {
return (
);
}
if (kind === 'lista') {
return (
);
}
if (kind === 'busqueda') {
return (
SEO
);
}
if (kind === 'grafica') {
return (
);
}
if (kind === 'tienda') {
return (
);
}
return null;
}
function BlogCard({ article }) {
const author = COLABORADOR_AUTHORS[article.author];
return (
{article.category}
{article.title}
{article.excerpt}
{author.initial}
{author.name}
·
{formatDate(article.date)}
·
{article.readingMin} min
);
}
function formatDate(iso) {
const d = new Date(iso);
const months = ['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'];
return `${d.getDate()} ${months[d.getMonth()]} ${d.getFullYear()}`;
}
function FeaturedCard({ article }) {
const author = COLABORADOR_AUTHORS[article.author];
return (
{article.category}
Destacado
{article.title}
{article.excerpt}
{author.initial}
{author.name}
·
{formatDate(article.date)}
·
{article.readingMin} min
);
}
// Article shell — used by every blog post page.
function ArticleShell({ article, children, related = [] }) {
const author = COLABORADOR_AUTHORS[article.author];
return (
<>
{/* Hero */}
{article.category}
{article.title}
{article.excerpt}
{author.initial}
{author.name} · {author.role}
·
{formatDate(article.date)}
·
{article.readingMin} min de lectura
{/* Cover image */}
{/* Body with TOC sidebar */}
{/* CTA */}
¿Listo para automatizar tu negocio?
En 90 segundos tendrás a tu Director General contratando a tu primer colaborador IA.
Empieza gratis →
{/* Related */}
{related.length > 0 && (
Sigue leyendo
{related.map(a => )}
)}
>
);
}
Object.assign(window, { BlogCover, BlogCard, FeaturedCard, ArticleShell, formatDate });