// Shared chrome for the iLPF Portal // UtilBar, SiteHeader, SiteFooter, BrandLockup // Used by every page. function JataNegara({ size = 40 }) { return ( Jata Negara — Lambang Kerajaan Malaysia ); } function GovLockup() { return ( ); } function UtilBar() { return (
Portal Rasmi Pejabat Penapisan Filem · Kementerian Dalam Negeri Malaysia
FAQ Hubungi Maklum Balas Peta Laman | BM / EN OKU
); } function BrandLockup({ href = "index.html" }) { return ( iLPF PejabatPenapisan Filem ); } function NavDropdown({ label, href, active, items }) { const [open, setOpen] = React.useState(false); const ref = React.useRef(null); const closeT = React.useRef(null); const handleEnter = () => {clearTimeout(closeT.current);setOpen(true);}; const handleLeave = () => {closeT.current = setTimeout(() => setOpen(false), 140);}; React.useEffect(() => { if (!open) return; const onDoc = (e) => {if (!ref.current?.contains(e.target)) setOpen(false);}; document.addEventListener("click", onDoc); return () => document.removeEventListener("click", onDoc); }, [open]); return (
{e.preventDefault();setOpen((v) => !v);}}> {label}
{items.map((it, i) => {it.t} {it.d} )}
); } function SiteHeader({ current = "" }) { const [loginOpen, setLoginOpen] = React.useState(false); // close login dropdown on outside click React.useEffect(() => { if (!loginOpen) return; const close = (e) => { if (!e.target.closest(".login-dd")) setLoginOpen(false); }; document.addEventListener("click", close); return () => document.removeEventListener("click", close); }, [loginOpen]); const profilItems = [ { i: "user", t: "Mesej Pengarah PPF", d: "Perutusan daripada Pengarah", h: "profil.html#mesej" }, { i: "history", t: "Latar Belakang", d: "Sejarah LPF sejak 1908", h: "profil.html#latar" }, { i: "target", t: "Misi, Visi & Objektif", d: "Apa yang kami perjuangkan", h: "profil.html#visi" }, { i: "gavel", t: "Peranan PPF", d: "Fungsi di bawah Akta 620", h: "profil.html#peranan" }, { i: "git-branch", t: "Carta Organisasi ALPF", d: "Struktur Lembaga & Urus Setia", h: "profil.html#carta" }, { i: "award", t: "Pengerusi", d: "Latar belakang dan kerjaya", h: "profil.html#pengerusi" }]; const perkhidmatanItems = [ { i: "search", t: "Senarai Filem", d: "Cari filem yang telah ditapis", h: "senarai-filem.html" }, { i: "shield-check", t: "Klasifikasi Filem", d: "U · P12 · 13 · 16 · 18", h: "klasifikasi.html" }, { i: "calculator", t: "Kalkulator Yuran", d: "Anggaran yuran tapisan", h: "kalkulator.html" }, { i: "scroll-text", t: "Piagam Pelanggan", d: "Komitmen kami, disukat dalam hari", h: "piagam-pelanggan.html" }, { i: "user-plus", t: "Daftar Akaun Pengedar", d: "Untuk pengedar filem dan stesen TV", h: "daftar.html" }, { i: "gavel", t: "Permohonan ALPF", d: "Mohon menjadi Ahli Lembaga", h: "permohonan-alpf.html" }]; return (
Langkau ke kandungan utama
Hubungi
Pengedar Filem Distributor · stesen TV PPF & ALPF Pegawai · Ahli Lembaga
); } function SiteFooter() { return ( ); } window.UtilBar = UtilBar; window.BrandLockup = BrandLockup; window.SiteHeader = SiteHeader; window.SiteFooter = SiteFooter; window.JataNegara = JataNegara; window.GovLockup = GovLockup;