/* Shared building blocks for platform/contact pages */
function PageHero({ eyebrow, title, italic, lead, primary, secondary, micro, signals, aside, crumb, basePath = "../" }) {
useReveal();
return (
{eyebrow}
{title}{italic && <> {italic}>}
{lead}
{micro &&
{micro}
}
{aside}
{signals && (
{signals.map((s,i)=>(
))}
)}
);
}
function SectionHeader({ eyebrow, title, italic, lead, center, actions }) {
return (
{eyebrow &&
{eyebrow}
}
{title}{italic && <> {italic}>}
{lead &&
{lead}
}
{actions &&
{actions}
}
);
}
function FinalCTASection({ title, italic, body, primary, secondary, micro }) {
useReveal();
return (
{title}{italic && <> {italic}>}
{body &&
{body}
}
{micro &&
{micro}
}
);
}
function Benefits({ items }) {
useReveal();
return (
{[0,1].map(row => (
{items.slice(row*2, row*2+2).map((b,i)=>(
{b.title}
{b.body}
{b.callout &&
{b.callout}
}
))}
))}
);
}
function FitSplit({ good, bad }) {
useReveal();
return (
);
}
function UseCases({ items }) {
useReveal();
return (
{items.map((u,i)=>(
0{i+1}
PROBLEM
{u.title}
{u.problem}
TRANSPARENT RESOLUTION
{u.solution}
))}
);
}
function PhaseList({ phases }) {
useReveal();
return (
{phases.map((p,i)=>(
PHASE {p.num}
{p.title}
{p.body}
))}
);
}
/* ==========================================================
* NEW BUILDING BLOCKS — Solutions / Capabilities / About
* Additive only; does not modify existing components.
* ========================================================== */
/* Problem / Resolution narrative block — used by Solutions pages */
function ProblemResolution({ problem, resolution }) {
useReveal();
return (
{problem.eyebrow || "THE PROBLEM"}
{problem.title}
{problem.points.map((p, i) => (
-
0{i+1}
{p}
))}
{resolution.eyebrow || "HOW AUCTERA HELPS"}
{resolution.title}
{resolution.points.map((p, i) => - {p}
)}
);
}
/* Capability blocks — 4-up with supporting detail.
Used by Capabilities pages + Solutions "What you get" sections. */
function CapabilityBlocks({ items, columns = 2 }) {
useReveal();
return (
{items.map((it, i) => {
const col = i % columns;
const row = Math.floor(i / columns);
return (
0 ? "1px solid var(--line)" : "none"
}}>
0{i+1}
{it.tag || "CAPABILITY"}
{it.title}
{it.body}
{it.detail && (
)}
{it.callout && !it.detail && (
{it.callout}
)}
);
})}
);
}
/* Numbered steps — used in "How It Works" sections within Solutions/Capabilities pages */
function NumberedSteps({ steps, compact = false }) {
useReveal();
return (
{steps.map((s, i) => (
0{i+1}
{i < steps.length - 1 && (
)}
{s.title}
{s.body}
))}
);
}
/* Stages list — e.g. Growing Brands / Mid-Market / Enterprise in advertisers */
function StageCards({ stages }) {
useReveal();
return (
{stages.map((s, i) => (
STAGE 0{i+1}
{s.title}
{s.body}
{s.points && (
{s.points.map((p, j) => (
-
◆
{p}
))}
)}
))}
);
}
/* Pill / chip cloud — segment lists */
function ChipCloud({ items, eyebrow }) {
useReveal();
return (
{items.map((it, i) => (
{it}
))}
);
}
/* Feature group grid — 3 groups with bulleted features each */
function FeatureGroups({ groups }) {
useReveal();
return (
{groups.map((g, i) => (
GROUP 0{i+1}
{g.title}
{g.items.map((it, j) => (
-
{String(j+1).padStart(2,"0")}
{it}
))}
))}
);
}
/* Principles grid — 6 numbered brand principles (About page) */
function PrincipleGrid({ principles }) {
useReveal();
return (
{principles.map((p, i) => {
const col = i % 3, row = Math.floor(i / 3);
return (
0 ? "1px solid var(--line)" : "none"
}}>
0{i+1}
{p.title}
{p.body}
);
})}
);
}
/* Problem + italic quote pairs — About page "Why we built this" */
function QuoteProblems({ items }) {
useReveal();
return (
{items.map((it, i) => (
0{i+1}
OPERATOR NOTE
"{it.quote}"
))}
);
}
/* Outcome stats — 3-up or 4-up large stat row used on Solutions pages */
function OutcomeStats({ stats }) {
useReveal();
return (
{stats.map((s, i) => (
{s.label}
{s.value}
{s.sub &&
{s.sub}
}
))}
);
}
/* Toggle audience / comparison (reusable two-sided) */
function AudienceToggle({ options, value, onChange }) {
return (
{options.map(o => (
))}
);
}
/* Related / see-also cross-links strip */
function RelatedLinks({ items, basePath = "" }) {
useReveal();
return (
);
}
function LogoCloud() {
const logos = [
{ name: "Walmart", src: "walmart.png" },
{ name: "Nike", src: "nike.png" },
{ name: "Samsung", src: "samsung.png" },
{ name: "Uber", src: "uber.png" },
{ name: "Agoda", src: "agoda.svg" },
{ name: "Decathlon", src: "decathlon.png" },
{ name: "Nespresso", src: "nespresso.png" },
{ name: "Forever 21", src: "forever21.png" },
{ name: "Lotto", src: "lotto.jpg" },
{ name: "Bershka", src: "bershka.jpg" },
{ name: "Mango", src: "mango.png" },
{ name: "Samsonite", src: "samsonite.jpg" },
{ name: "Motorola", src: "motorola.png" },
{ name: "Psafe", src: "psafe.jpg" },
{ name: "XT", src: "xt.jpg" },
{ name: "Movavi", src: "movavi.png" },
{ name: "Chicco", src: "chicco.jpg" },
{ name: "Electrolux", src: "electrolux.jpg" },
{ name: "Alibaba", src: "alibaba.jpg" },
{ name: "Bitgate", src: "bitgate.jpg" },
{ name: "LightInTheBox", src: "lightinthebox.jpg" },
{ name: "PatPat", src: "patpat.png" },
{ name: "Oziva", src: "oziva.jpg" },
{ name: "Vivo", src: "vivo.jpg" }
];
return (
Trusted by global commerce leaders
{logos.map((logo, i) => (
))}
);
}
function LegalContent({ sections }) {
return (
{sections.map((s, i) => (
))}
);
}
function ConferenceSection() {
const events = [
{ name: "Affiliate World Conferences", loc: "Global" },
{ name: "Affiliate Summit", loc: "Las Vegas / New York" },
{ name: "DMEXCO", loc: "Cologne" },
{ name: "Adtech", loc: "London / Tokyo" },
{ name: "Mobile World Congress", loc: "Barcelona" },
{ name: "GITEX", loc: "Dubai" },
{ name: "Token 2049", loc: "Singapore / Dubai" }
];
return (
Initialize offline connectivity
Meet Us In Person.
Attending TES or Affiliate World? Let's discuss performance architecture face-to-face. Secure your meeting slot below.
{events.map((e, i) => (
0{i + 1} · EVENT
{e.name}
{e.loc}
))}
);
}
Object.assign(window, {
PageHero, SectionHeader, FinalCTASection, Benefits, FitSplit, UseCases, PhaseList,
ProblemResolution, CapabilityBlocks, NumberedSteps, StageCards, ChipCloud, FeatureGroups,
PrincipleGrid, QuoteProblems, OutcomeStats, AudienceToggle, RelatedLinks, LogoCloud, LegalContent,
ConferenceSection
});