// Hero — abstract logo-shape illustration
const Hero = ({ headlineIdx = 0, headlines }) => {
const [parallax, setParallax] = React.useState(0);
const HEAD = headlines && headlines[headlineIdx] ? headlines[headlineIdx] : null;
React.useEffect(() => {
const onScroll = () => setParallax(window.scrollY);
window.addEventListener('scroll', onScroll, { passive: true });
return () => window.removeEventListener('scroll', onScroll);
}, []);
return (
{/* Decorative stamped shapes echoing the logo */}
Now onboarding schools in Karachi
{HEAD || <>Every parent, every teacher,one place. >}
School Connect is the portal & app that ties classrooms, admin offices
and families together — fees, homework, updates, and gallery, all in
one warm, quiet place.
);
};
// Interactive phone mock
const PhoneMock = () => {
const [tab, setTab] = React.useState(0);
const [paid, setPaid] = React.useState(false);
const tabs = ['Feed', 'Fees', 'Gallery'];
React.useEffect(() => {
const timer = setInterval(() => {
setTab(t => {
const next = (t + 1) % tabs.length;
if (next !== 1) setPaid(false);
return next;
});
}, 3000);
return () => clearInterval(timer);
}, []);
React.useEffect(() => {
if (tab === 1) {
const t = setTimeout(() => setPaid(true), 1200);
return () => clearTimeout(t);
}
}, [tab]);
return (
{tabs.map((t, i) => (
setTab(i)}
>
{t}
))}
{tab === 0 && }
{tab === 1 && }
{tab === 2 && }
);
};
const FeedView = () => (
Sports Day — Friday 24th
Kindly send sneakers & a water bottle. Parents welcome from 9am.
Ms. Sana · Grade 2
Urdu — Poem recitation
Practice Allama Iqbal's poem; recite in class on Monday.
📎 urdu-poem.pdf
Parent-teacher meeting · Sat 10am
);
const FeesView = ({ paid, setPaid }) => {
return (
April 2026 · Tuition
PKR
24,500
{paid ? 'Paid on April 18' : 'Due April 25'}
setPaid(p => !p)}
>
{paid ? '✓ Receipt sent' : 'Pay now — 1 tap'}
March 2026 Paid
February 2026 Paid
January 2026 Paid
);
};
const GalleryView = () => (
);
window.Hero = Hero;