/* VietCanThi homepage (Bước 2) — hero dual-entry, trust, services, software, 3-level, event, CTA */
const { useState: hS, useEffect: hE } = React;
function HSection({ id, alt, eyebrow, title, lead, children, head = true }) {
return (
{head && (eyebrow || title) && (
{eyebrow &&
{eyebrow}}
{title &&
{title}
}
{lead &&
{lead}
}
)}
{children}
);
}
function HomeHero() {
return (
Trung tâm KSCT trẻ em · Giải pháp cho phòng khám đối tác
Giúp đôi mắt trẻ luôn sáng — trọn đời
Giải pháp & phần mềm Kiểm soát cận thị cho phòng khám mắt: tư vấn setup — thiết bị — đào tạo quy trình — số hóa tiến triển.
);
}
function TrustBar() {
return (
{window.SITE.TRUST.map((s) => (
))}
);
}
function Services() {
return (
{window.SITE.SERVICES.map((s) => (
{s.title}
{s.desc}
window.go(s.to)}>{s.cta}
))}
);
}
function SoftwareTeaser() {
return (
[ Ảnh app MCP — đã re-skin navy/amber
biểu đồ percentile AL theo tuổi ]
{window.SITE.SOFTWARE_FEATURES.map((f) => (
-
{f.t}{f.d}
))}
);
}
function Levels() {
const Ck = () => ;
return (
{window.SITE.LEVELS.map((lv) => (
{lv.recommended &&
Được chọn nhiều nhất}
{lv.tag}
{lv.name}
{lv.sub}
{lv.items.map((it) => - {it}
)}
))}
);
}
function MiniCountdown() {
const iso = window.VTC.WEBINAR.dateISO;
const calc = () => { const d = Math.max(0, new Date(iso).getTime() - Date.now()); return { days: Math.floor(d / 86400000), hours: Math.floor((d % 86400000) / 3600000), mins: Math.floor((d % 3600000) / 60000) }; };
const [t, setT] = hS(calc);
hE(() => { const id = setInterval(() => setT(calc()), 30000); return () => clearInterval(id); }, []);
const pad = (n) => String(n).padStart(2, '0');
return (
{[['Ngày', t.days], ['Giờ', t.hours], ['Phút', t.mins]].map(([l, n]) => (
))}
);
}
function UpcomingEvent() {
const W = window.VTC.WEBINAR;
return (
Trực tuyến · Miễn phí
{W.title}
{W.subtitle}
{W.dateText}
{W.timeText}
Zoom Webinar
);
}
function Testimonial() {
return (
{[1, 2].map((i) => (
“
Bộ quy trình và phần mềm giúp chúng tôi chuẩn hóa tư vấn KSCT, phụ huynh hiểu chỉ số của con nhanh hơn hẳn. NỘI DUNG THẬT — CẦN DUYỆT
BS. [Tên]
[Phòng khám] · [Tỉnh/Thành]
))}
);
}
function FinalCTA() {
return (
Bắt đầu trong 5 phút
Bảng kiểm 5 phút — nhận lộ trình setup riêng cho phòng khám của bạn
Trả lời 9 phần ngắn về nhân sự, thiết bị và quy trình; đội ngũ VietCanThi sẽ đề xuất cấp độ & lộ trình phù hợp.
);
}
function Home() {
return (
);
}
Object.assign(window, { Home });