const WC_BLUE = '#3B6BFF', WC_VIOLET = '#B45CF7', WC_TEAL = '#2FD5DA';
/* Same vertical map as Tag.jsx / CaseArt.jsx. */
const WC_VERT = { igaming:'#7C7CFF', forex:'#2FD5DA', crypto:'#3B6BFF', ecommerce:'#B45CF7', nutra:'#8BB4FF' };
function wcPath(vals, w, h, pad) {
const max = Math.max(...vals), min = Math.min(...vals);
const span = max - min || 1;
const step = (w - pad * 2) / (vals.length - 1);
return vals.map((v, i) => {
const x = pad + i * step, y = pad + (h - pad * 2) * (1 - (v - min) / span);
return (i ? 'L' : 'M') + x.toFixed(1) + ' ' + y.toFixed(1);
}).join(' ');
}
function WCLegend({ items }) {
return (
{items.map(([c, l, dash]) => (
{l}
))}
);
}
function WCHead({ icon, title, sub }) {
return (
);
}
function WCTrajectory() {
const W = 1000, H = 260, P = 16;
const spend = [22,31,39,48,55,61,68,74,79,86,92,97];
const conv = [12,17,21,29,36,47,55,66,74,83,90,98];
const cpa = [88,84,80,77,71,66,62,57,54,50,47,44];
const months = ['JAN','MAR','MAI','JUL','SET','NOV'];
return (
{months.map(m => (
{m}
))}
);
}
function WCRanking() {
const rows = [
[L('iGaming · Brazil','iGaming · Brasil'), '9.4', 94, WC_VERT.igaming],
[L('Forex · LATAM & Europe','Forex · LATAM e Europa'), '8.7', 87, WC_VERT.forex],
[L('Crypto · Global','Cripto · Global'), '8.1', 81, WC_VERT.crypto],
[L('Ecommerce · LATAM · USA','Ecommerce · LATAM · EUA'), '7.6', 76, WC_VERT.ecommerce],
[L('Nutra · USA','Nutra · EUA'), '6.8', 68, WC_VERT.nutra],
];
return (
{rows.map(([name, val, pct, c]) => (
))}
);
}
function WCDonut() {
const slices = [
[L('iGaming','iGaming'), 42, WC_VERT.igaming],
[L('Forex','Forex'), 26, WC_VERT.forex],
[L('Crypto','Cripto'), 19, WC_VERT.crypto],
[L('Ecommerce','Ecommerce'), 13, WC_VERT.ecommerce],
];
const R = 62, C = 2 * Math.PI * R;
let acc = 0;
return (
{slices.map(([n, p, c]) => (
{n}
{p}%
))}
);
}
function WorkCharts() {
return (
);
}
Object.assign(window, { WorkCharts });