/* Pricing + Contact sections for ZenTag */ // ============ PRICING ============ function Pricing() { const cfg = (typeof window !== 'undefined' && window.ZENTAG) || { urls: { signup: '/login', order: '/login' } }; // Aligned with App\Models\CardOrder::TIERS — one-time card purchases. const tiers = [ { id: 'profile', name: 'Digital Profile', tagline: 'Your card lives here. Free forever.', price: 0, currency: 'GH₵', priceNote: 'free', cta: 'Create profile', ctaHref: cfg.urls.signup, featured: false, includes: [ 'Apple-style contact page', 'Photo, banner & custom links', 'Snapchat, X, Threads & custom socials', 'Downloadable vCard', 'Activated after card order', ], }, { id: 'essential', name: 'ZenTag Essential', tagline: 'The last business card you’ll ever need.', price: 300, currency: 'GH₵', priceNote: 'one-time', cta: 'Order Essential', ctaHref: cfg.urls.order, featured: false, includes: [ 'Pre-designed ZenTag card', 'Light or dark finish', 'Your URL encoded & ready to tap', 'Ships across Ghana', 'Lifetime card warranty', ], }, { id: 'infinite', name: 'ZenTag Infinite', tagline: 'Personalise it. Make an impression.', price: 500, currency: 'GH₵', priceNote: 'one-time', cta: 'Order Infinite', ctaHref: cfg.urls.order, featured: true, includes: [ 'Your name on the card', 'Optional logo placement', 'Premium feel', 'Light or dark finish', 'Most popular pick', ], }, { id: 'custom', name: 'ZenTag Custom', tagline: 'Your brand, no limits.', price: 650, currency: 'GH₵', priceNote: 'one-time', cta: 'Order Custom', ctaHref: cfg.urls.order, featured: false, includes: [ 'Fully bespoke design', 'Submit print-ready artwork', 'Premium finish options', 'Our team reviews & confirms', 'Volume orders for teams', ], }, ]; return (
{/* Tier cards */}
{tiers.map((t, i) => (
{t.featured && (
Most popular
)} {/* Header */}
{t.name}
{t.tagline}
{/* Price */}
{t.currency} {t.price.toLocaleString()} {t.priceNote && {t.priceNote}}
{t.id === 'profile' &&
Forever. No credit card.
} {t.id === 'essential' &&
Includes free profile.
} {t.id === 'infinite' &&
Includes free profile.
} {t.id === 'custom' &&
Includes free profile.
} {/* CTA */} {t.cta} {/* Divider */}
{/* Features */}
    {t.includes.map(line => (
  • {line}
  • ))}
))}
{/* Below-tier callouts */}
{[ { i: , t: 'Admin-reviewed', d: 'Every card is reviewed before activation.' }, { i: , t: 'Ships across Ghana', d: 'Pickup or delivery — we’ll coordinate.' }, { i: , t: 'Team orders', d: 'Bulk discounts for teams of 10+.' }, ].map(c => (
{c.i}
{c.t}
{c.d}
))}
); } // ============ CONTACT FORM ============ function Contact() { const [form, setForm] = React.useState({ name: '', email: '', company: '', interest: 'personal', message: '', }); const [sent, setSent] = React.useState(false); const interests = [ { id: 'personal', label: 'A personal card' }, { id: 'team', label: 'Cards for my team' }, { id: 'enterprise', label: 'Enterprise rollout' }, { id: 'press', label: 'Press / partnerships' }, ]; const update = (k) => (e) => setForm(f => ({ ...f, [k]: e.target.value })); const handleSubmit = async (e) => { e.preventDefault(); if (!form.name || !form.email) return; try { const csrf = document.querySelector('meta[name="csrf-token"]')?.content; const res = await fetch('/contact', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-CSRF-TOKEN': csrf, 'X-Requested-With': 'XMLHttpRequest', }, body: JSON.stringify(form), }); if (res.ok) { setSent(true); setForm({ name: '', email: '', company: '', interest: 'personal', message: '' }); setTimeout(() => setSent(false), 7000); } else { const err = await res.json().catch(() => ({})); alert(err.message || 'Could not send right now. Please try again.'); } } catch (err) { alert('Network error: ' + err.message); } }; return (
{/* Left: copy + Ghana offices */}
Get in touch

Let's build your network.

Tell us about your team. We'll get back within one business day — usually faster. For urgent rollouts, ring the Accra office.

{[ { t: 'Office · Accra', a: 'Pokuase - ACP, Accra', p: '+233 55 409 2060 / +233 55 979 3040' }, { t: 'Email', a: 'info@zentriosolutions.com', p: null }, ].map(o => (
{o.t}
{o.a}
{o.p &&
{o.p}
}
))}
{/* Right: form */}
Talk to ZenTag
We reply within 24 hours.
Online now
{interests.map(i => ( ))}