/* ZEN SUSHI — Localização, Blog, BlogPost, Admin. */
const { Button: B2, Badge: Bd2, Card: Cd2, Eyebrow: Ey2, KatanaDivider: KD2, SocialBar: SB2 } = window.KAZUKIDesignSystem_63706c;
const RST = window.KZ_DATA.RESTAURANT;
const BLOGP = window.KZ_DATA.BLOG;
const seo2 = window.KZ_SEO;
/* ============ LOCALIZAÇÃO ============ */
function MapEmbed({ onInteract }) {
const [failed, setFailed] = React.useState(false);
// Query limpa para geocodificação precisa (sem "Sala 7"/travessão).
const cleanQuery = "Av. Antônio Mathias de Camargo, 895, Centro, Cotia - SP, " + RST.cep;
const query = encodeURIComponent(cleanQuery);
const embedSrc = "https://www.google.com/maps?q=" + query + "&z=16&hl=pt-BR&output=embed";
if (failed) {
return (
ZEN SUSHI
{RST.rua}
{RST.bairro}, {RST.cidade} - {RST.estado}
Abrir no Google Maps →
);
}
return (
);
}
function LocalizacaoPage() {
const directions = () => {
seo2.track("directions_click", { destino: "google_maps" });
window.open(`https://www.google.com/maps/dir/?api=1&destination=${RST.geo.lat},${RST.geo.lng}`, "_blank", "noopener");
};
const mapInteract = () => seo2.track("map_interaction", { acao: "abrir_mapa" });
return (
Mapa
{RST.rua}
{RST.bairro}, {RST.cidade} - {RST.estado}
CEP {RST.cep}
Traçar rota
{ seo2.track("directions_click", { destino: "ligar" }); location.href = "tel:" + RST.telefoneE164; }}>Ligar: {RST.telefone}
);
}
/* ============ BLOG (listagem) ============ */
function BlogPage() {
const posts = window.KZ_BLOG.all();
return (
);
}
/* ============ BLOG POST ============ */
function BlogPostPage({ post }) {
const ref = React.useRef(null);
React.useEffect(() => {
seo2.track("article_read", { artigo: post.slug });
let fired = false;
const onScroll = () => {
const el = ref.current;
if (!el || fired) return;
const total = el.offsetTop + el.offsetHeight - window.innerHeight;
const pct = total > 0 ? window.scrollY / total : 1;
if (pct >= 0.75) { fired = true; seo2.track("scroll_depth_75", { artigo: post.slug }); }
};
window.addEventListener("scroll", onScroll);
return () => window.removeEventListener("scroll", onScroll);
}, [post.slug]);
const related = window.KZ_BLOG.all().filter((p) => p.slug !== post.slug).slice(0, 2);
return (
← Voltar ao blog
{post.categoria}
{post.titulo}
Por {post.autor} · {post.dataLabel} · {post.leitura} de leitura
{!post.img && ◆}
{post.resumo}
{post.topicos.map((t, ti) => (
{t.h2 && {t.h2}
}
{t.p && {t.p}
}
))}
{post.dicas && (post.dicas.h3 || post.dicas.p) && (
{post.dicas.h3 && {post.dicas.h3}
}
{post.dicas.p && {post.dicas.p}
}
)}
{post.cta}
{ seo2.track("cta_click", { label: post.cta, origem: "blog" }); location.hash = "#/reservas"; }}>Reservar mesa
{ location.hash = "#/menu"; }}>Ver cardápio
);
}
/* AdminPage agora vive em app/admin.jsx (editor de blog funcional). */
Object.assign(window, { LocalizacaoPage, BlogPage, BlogPostPage });