const { Button, Card, Badge, Callout } = window.LittleTwigletsDesignSystem_f6a0f6;
const { useState, useEffect, useRef } = React;
/* ---- Icon: renders a Lucide glyph inside a span React fully owns ---- */
function Icon({ name, size = 24, color = "currentColor", style = {} }) {
const ref = useRef(null);
useEffect(() => {
const el = ref.current;
if (!el || !window.lucide) return;
el.innerHTML = ``;
window.lucide.createIcons({ attrs: { width: size, height: size, "stroke-width": 2 } });
}, [name, size]);
return ;
}
const NAV = [
{ label: "Home", href: "#home" },
{ label: "About", href: "#about" },
{ label: "Book", href: "#book" },
{ label: "FAQs", href: "#faqs" },
{ label: "Contact", href: "#contact" },
];
function goTo(href) {
const el = document.querySelector(href);
if (el) el.scrollIntoView({ behavior: "smooth", block: "start" });
}
/* ============================ HEADER ============================ */
function Header() {
const [open, setOpen] = useState(false);
const [scrolled, setScrolled] = useState(false);
useEffect(() => {
const onScroll = () => setScrolled(window.scrollY > 12);
window.addEventListener("scroll", onScroll);
return () => window.removeEventListener("scroll", onScroll);
}, []);
const link = (n) => (
setOpen(false)}
style={{ fontFamily: "var(--font-ui)", fontWeight: 600, color: "var(--lt-cocoa)",
fontSize: "1rem", padding: "0.4rem 0", letterSpacing: "0.01em" }}>
{n.label}
);
return (
Warm, cosy Friday classes for little ones aged 1–5 and their grown-ups — right here in Lutterworth.
Add {name.split(" ")[0]}'s short bio here — a warm sentence or two about who they are and what
they love about Fridays with the Twiglets. [Placeholder — edit later.]
We're two qualified primary school teachers, parents ourselves, and firm believers that the early
years should be full of play. We started Little Twiglets to fill a gap for families near Lutterworth —
a warm, welcoming morning where your little one can explore and you can breathe out for a while, too.
{desc} [Placeholder — edit later.] Pick the session that suits your Twiglet — or make a morning of it and do both.
Check availability and book your spot below. Schedules, places and payment are handled securely by
our booking partner, Happity.
This box is a placeholder for the live Happity bookings widget. When you're ready, paste the embed
snippet from your Happity provider account into the
Places are limited each week — booking ahead is the surest way to secure your spot.
Easy to book, lovely to attend, hard to forget.
{name}
Meet Hannah & Jessie
{title}
Two classes, one cosy morning
Grab a Friday, we'll do the rest
Happity booking widget goes here
#happity-embed container and it will
show your real schedule, availability and checkout.
{a}
}Still wondering something? { e.preventDefault(); goTo("#contact"); }}>Get in touch — we're happy to help.
The Pavilion
On the recreation ground, Lutterworth, LE17 4RB