/* 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() {
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 = BLOGP.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) => (
))}
{post.dicas.h3}
{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
);
}
/* ============ ADMIN ============ */
function AdminPage() {
const [authed, setAuthed] = React.useState(false);
const [user, setUser] = React.useState("");
const [pass, setPass] = React.useState("");
const [err, setErr] = React.useState(false);
React.useEffect(() => { seo2.track("admin_access", { autenticado: false, acao: "tela_login" }); }, []);
const login = (e) => {
e.preventDefault();
if (user.trim() && pass.trim()) {
setAuthed(true); setErr(false);
seo2.track("admin_access", { autenticado: true, usuario: user });
} else { setErr(true); }
};
if (!authed) {
return (
🔒
Área Restrita
Acesso somente para a equipe ZEN SUSHI. Esta página é noindex, nofollow.
Sem autenticação, o acesso é redirecionado para esta tela de login.
);
}
return (
Painel privado · noindex
Painel
setAuthed(false)}>Sair
Edição de Conteúdo
Atualize textos das páginas, descrições de pratos e metadados de SEO.
- Home · H1 e Missão Publicado
- Cardápio · 45 itens Publicado
- Blog · 5 artigos Publicado
Upload de Mídia
Envie fotos dos pratos e capas dos artigos (otimizadas com alt-text automático).
Arraste imagens aqui ou clique para enviar
Gerenciamento de Links
Configure links de delivery, redes sociais e WhatsApp.
{RST.delivery.map((d) => (- {d.nome}
{d.url} ))}
- WhatsApp
wa.me/{RST.whatsapp}
);
}
Object.assign(window, { LocalizacaoPage, BlogPage, BlogPostPage, AdminPage });