// Nav, Hero, Trust/logos, Stats, Services, WhyUs, Testimonials, FinalCTA, Footer const Nav = ({ onToggleMobile, mobileOpen }) => { const [scrolled, setScrolled] = React.useState(false); React.useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 8); window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, []); return ( ); }; const MobileSheet = ({ open, onClose }) => (
{['Services', 'Work', 'Process', 'Clients', 'Why us'].map(l => ( {l} ))} { e.preventDefault(); onClose(); window.__openBooking?.(); }}>Book a free consultation
); const Hero = () => (
UK-based · Trusted by 80+ small businesses

Affordable websites & digital growth for UK businesses.

We help electricians, care homes, restaurants and local SMEs launch professional websites, improve visibility, and generate more enquiries — without the huge upfront costs.

{ e.preventDefault(); window.__openBooking?.(); }}>Book free consultation View our work
No huge upfront costs Cancel anytime UK-based support
Warmonks hero
); const HeroDashboard = () => (
warmonks.co.uk/dashboard
Overview · Last 30 days
Bramley Electrical, Manchester
Site live
Enquiries
142
↑ 24%
Visitors
3,418
↑ 38%
Calls
61
↑ 12%
Enquiries by week This month Last
L
New form submission · Leeds
2m ago
B
Phone call · Birmingham
14m ago
M
WhatsApp enquiry · Manchester
38m ago
); const DashChart = () => { // Build a clean two-series chart const points = [22, 38, 30, 52, 44, 68, 58, 82]; const prev = [18, 26, 24, 32, 30, 38, 36, 44]; const w = 360, h = 86, pad = 6; const max = 100; const toPath = (arr) => arr.map((v, i) => { const x = pad + (i * (w - pad * 2)) / (arr.length - 1); const y = h - pad - (v / max) * (h - pad * 2); return `${i === 0 ? 'M' : 'L'} ${x.toFixed(1)} ${y.toFixed(1)}`; }).join(' '); const toArea = (arr) => { const line = arr.map((v, i) => { const x = pad + (i * (w - pad * 2)) / (arr.length - 1); const y = h - pad - (v / max) * (h - pad * 2); return `${i === 0 ? 'M' : 'L'} ${x.toFixed(1)} ${y.toFixed(1)}`; }).join(' '); return `${line} L ${w - pad} ${h - pad} L ${pad} ${h - pad} Z`; }; return ( {points.map((v, i) => { const x = pad + (i * (w - pad * 2)) / (points.length - 1); const y = h - pad - (v / max) * (h - pad * 2); return ; })} ); }; const TrustLogos = () => { const logos = [ { src: 'images/beelovera.png', alt: 'Beelovera' }, { src: 'images/gamex.png', alt: 'GameX' }, { src: 'images/ideal-care.png', alt: 'Ideal Care' }, { src: 'images/ideal-live-n-care.png', alt: 'Ideal Live N Care' }, { src: 'images/rbs-auditors.png', alt: 'RBS Auditors' }, ]; const pairs = []; for (let i = 0; i < logos.length; i += 2) pairs.push(logos.slice(i, i + 2)); return (
Trusted by UK small businesses across the country
{pairs.map((pair, idx) => (
{pair.map(logo => (
{logo.alt}
))}
))}
); }; const Stats = () => { const items = [ { v: '120', plus: '+', l: 'Projects delivered for UK businesses' }, { v: '80', plus: '+', l: 'Active UK clients on monthly plans' }, { v: '14', plus: ' days', l: 'Typical launch time, start to finish' }, { v: '4.9', plus: '/5', l: 'Average client rating · 60 reviews' }, ]; return (
{items.map((s, i) => (
{s.v}{s.plus}
{s.l}
))}
); }; const ServiceDrawer = ({ service, open, onClose }) => ( <>
Service {service.tag}

{service.title}

{service.detail}

{ e.preventDefault(); onClose(); window.__openBooking?.(); }}> Book a free consultation WhatsApp us
); const Services = () => { const items = [ { ic: 'laptop', tag: '01', title: 'Business websites', body: 'Fast, modern websites designed to convert visitors into enquiries — built to reflect your trade.', detail: `We build fast, mobile-first websites on proven stacks — WordPress, custom HTML/CSS, or headless — designed around your customers' search intent and trust signals. Every site is GDPR compliant, includes on-page SEO from day one, and is built to convert visitors into real enquiries. We handle design, copywriting direction, and launch — you just approve and go live.`, }, { ic: 'refresh', tag: '02', title: 'Subscription plans', body: 'Launch from £12 a month. Hosting, updates and small changes included. No huge upfront cost.', detail: `No large upfront bill and no surprise invoices. Your monthly subscription covers UK-based hosting, an SSL certificate, security patches, plugin updates, and up to an hour of small content changes each month. Plans start from £12/month and you can scale up, pause, or cancel with 30 days' notice — your domain always stays yours, no lock-in.`, }, { ic: 'seo', tag: '03', title: 'Local SEO', body: 'Rank for the searches your customers actually type — "electrician near me", "care home Leeds".', detail: `We research the exact phrases your local customers type into Google, then optimise your pages, meta titles, schema markup, and internal links so you consistently rank above national chains that don't understand your area. You'll receive plain-English monthly reports showing exactly where you've climbed, with clear next steps.`, }, { ic: 'pin', tag: '04', title: 'Google Business Profile', body: 'Get found on Google Maps. We set up, optimise and manage your profile for steady local enquiries.', detail: 'Most local searches end at the Maps result — before anyone visits a website. We claim or clean up your Google Business Profile, upload professional photos, write keyword-rich service descriptions, and set up a reliable process for gathering five-star reviews. Monthly maintenance keeps your listing accurate and signals to Google that your business is active and trusted.', }, { ic: 'chat', tag: '05', title: 'Social media management', body: 'Posts, replies and ad campaigns that build trust on Instagram, Facebook and LinkedIn.', detail: 'Consistent, on-brand posting across Instagram, Facebook, and LinkedIn — written in your voice, not agency-speak. We handle content creation, scheduling, comment replies, and targeted ad campaigns within your budget. A monthly analytics summary shows reach, engagement, and leads generated, without drowning you in dashboards.', }, { ic: 'cart', tag: '06', title: 'Ecommerce development', body: 'Sell online with a clean, fast Shopify or WooCommerce store — wired up to Stripe and Royal Mail.', detail: 'We build and configure Shopify or WooCommerce stores optimised for UK conversion — Stripe and PayPal payments, Royal Mail and courier shipping integrations, and VAT-ready product pages. Every store is tested on mobile and across browsers before launch, and includes a 60-day post-launch support window to handle real-world tweaks once customers start buying.', }, ]; const [active, setActive] = React.useState(null); const [open, setOpen] = React.useState(false); const openDrawer = React.useCallback((item) => setActive(item), []); const closeDrawer = React.useCallback(() => { setOpen(false); setTimeout(() => setActive(null), 320); }, []); React.useEffect(() => { window.__openService = (title) => { const svc = items.find(s => s.title === title); if (svc) openDrawer(svc); }; return () => { delete window.__openService; }; }, [openDrawer]); React.useEffect(() => { if (!active) return; const raf = requestAnimationFrame(() => setOpen(true)); return () => cancelAnimationFrame(raf); }, [active]); React.useEffect(() => { if (!open) return; const onKey = (e) => { if (e.key === 'Escape') closeDrawer(); }; window.addEventListener('keydown', onKey); document.body.style.overflow = 'hidden'; return () => { window.removeEventListener('keydown', onKey); document.body.style.overflow = ''; }; }, [open, closeDrawer]); return (
Services

Everything a UK small business needs to grow online.

View our work
{items.map((s) => (
openDrawer(s)}> {s.tag}

{s.title}

{s.body}

Learn more
))}
{active && }
); }; const WhyUs = () => { const items = [ { ic: 'gbp', t: 'Affordable pricing', d: 'Honest fixed monthly fees from £12. No surprise invoices, no agency rates.' }, { ic: 'shield', t: 'UK focused support', d: 'Based in the UK, working UK hours. We understand your customers and your council.' }, { ic: 'bolt', t: 'Fast delivery', d: 'Most starter sites are live in under 14 days. We move at small-business speed.' }, { ic: 'refresh', t: 'Flexible monthly plans', d: 'Scale up or down whenever the business changes. Cancel anytime, your domain stays yours.' }, { ic: 'chat', t: 'Friendly communication', d: 'One named contact, plain English, replies on WhatsApp or email within a working day.' }, { ic: 'sparkle', t: 'Ongoing support', d: `We don't disappear after launch. Updates, fixes and small changes included on every plan.` }, ]; return (
Why Warmonks

Built for the realities of a UK small business.

We're a small team that does the work ourselves — no offshoring, no junior account handlers, no padded retainers.

{items.map((it, i) => (

{it.t}

{it.d}

))}
); }; const VideoModal = ({ onClose }) => { React.useEffect(() => { const onKey = (e) => { if (e.key === 'Escape') onClose(); }; document.addEventListener('keydown', onKey); return () => document.removeEventListener('keydown', onKey); }, [onClose]); return (
e.stopPropagation()} >