/* Small icon set used across the app. Stroke-based, matches Intersport DS.
Names ending in "-cat" render an SVG file from Content/ via CSS mask so it
inherits currentColor (white on the blue category tiles). */
const MASKED_ICONS = {
'running': 'Content/running-gym-svgrepo-com.svg',
'treadmills-cat': 'Content/TREADMILLS.svg?v=2',
'bikes-cat': 'Content/EXERCISE BIKES.svg',
'ellipticals-cat': 'Content/ELLIPTICALS.svg',
'rowing-cat': 'Content/ROWING MACHINES.svg',
'steppers-cat': 'Content/steppers.svg',
'benches-cat': 'Content/BENCHES AND MULTIBENCH.svg',
'yoga-cat': 'Content/YOGA PILATES.svg',
'functional-cat': 'Content/Functional Training.svg',
'strength-cat': 'Content/Functional Training.svg',
'other-cat': 'Content/bottle.svg',
'exercise-ball': 'Content/exercise-ball-svgrepo-com.svg',
};
const Icon = ({ name, size = 24, className = '' }) => {
const maskUrl = MASKED_ICONS[name];
if (maskUrl) {
const url = `url("${encodeURI(maskUrl)}")`;
return (
);
}
const s = { width: size, height: size, fill: 'none', stroke: 'currentColor', strokeWidth: 1.75, strokeLinecap: 'round', strokeLinejoin: 'round' };
const paths = {
arrowRight: ,
arrowLeft: ,
chevronRight: ,
chevronDown: ,
home: <>>,
close: ,
play: ,
check: ,
qr: <>>,
map: <>>,
help: <>>,
plus: ,
dumbbell: <>>,
bolt: ,
treadmill: <>>,
bike: <>>,
elliptical: <>>,
rower: <>>,
stepper: <>>,
weight: <>>,
grid: <>>,
scale: <>>,
user: <>>,
shield: <>>,
speed: <>>,
flame: ,
'box-s': ,
'box-m': ,
'box-l': ,
spark: ,
spark2: <>>,
spark3: <>>,
leaf: <>>,
'circle-arrows': <>>,
gloves: <>>,
store: <>>,
};
return ;
};
window.Icon = Icon;