/* global React, Placeholder, SectionHead, ScissorsGlyph, RazorGlyph, BottleGlyph, Logo, SkylineGlyph */
// ───────────── HOME / HERO ─────────────
const Hero = ({ onReserve, onProducts }) =>
{/* Big hero image */}
{/* NYC skyline silhouette along the base of the hero panel */}
IMG · HERO
{/* Gold corner ticks */}
{/* Center title overlay */}
{/* Logo mark — NYC subway bullet */}
{/* Brand name */}
Barbería premium inspirada en las calles de Nueva York. Cortes, barba y
boutique en Coquimbo.
{/* CTA buttons */}
{/* Brief services intro */}
— Casa de oficio —
Cortes, afeitado y boutique de cuidado, bajo un mismo techo.
Cada visita combina un servicio cuidado con la posibilidad de llevarte a casa
los productos que usamos en la silla.
{/* Quick service triptych */}
{[
{ Icon: ScissorsGlyph, label: 'Cortes' },
{ Icon: RazorGlyph, label: 'Afeitado' },
{ Icon: BottleGlyph, label: 'Boutique' }].
map((s, i) =>
)}
;
const Tick = ({ pos }) => {
const base = { position: 'absolute', width: 14, height: 14, borderColor: 'var(--gold)', borderStyle: 'solid' };
const styles = {
tl: { top: 8, left: 8, borderWidth: '1px 0 0 1px' },
tr: { top: 8, right: 8, borderWidth: '1px 1px 0 0' },
bl: { bottom: 8, left: 8, borderWidth: '0 0 1px 1px' },
br: { bottom: 8, right: 8, borderWidth: '0 1px 1px 0' }
};
return
;
};
// ───────────── SERVICIOS ─────────────
const SERVICES = [
{ name: 'Corte clásico', desc: 'Tijera y máquina, perfilado tradicional.', price: 10000, time: '40 min' },
{ name: 'Fade premium', desc: 'Degradado de precisión + diseño.', price: 13000, time: '50 min' },
{ name: 'Barba esculpida', desc: 'Diseño, perfilado y mascarilla.', price: 9000, time: '25 min' },
{ name: 'Tratamiento de barba', desc: 'Vapor, aceites, mascarilla y bálsamo.', price: 13000, time: '40 min' },
{ name: 'Pack Bread Way', desc: 'Corte + afeitado + producto de boutique.', price: 24000, time: '90 min' }];
const Servicios = ({ onReserve }) => {
const [active, setActive] = React.useState('Cortes');
return (
{/* tabs */}
{['Cortes', 'Barba', 'Tratamientos'].map((t) =>
)}
{/* Before / After */}
{/* Service list */}
{SERVICES.map((s, i) =>
{String(i + 1).padStart(2, '0')}
{s.name}
{s.desc}
{s.time}
${s.price.toLocaleString('es-CL')}
)}
);
};
Object.assign(window, { Hero, Servicios, SERVICES });