// wf/category.jsx — Four directions for a category page (Restaurants) // Helper: faux address list data const ADDRESSES = [ { name:'Tuba', kind:'Plage & cuisine de la mer', dist:'12 min · Goudes', rating:'4.6', emoji:'arch' }, { name:'AM par Alexandre Mazzia', kind:'★★★ · Cuisine du monde', dist:'8 min · 13008', rating:'4.8', emoji:'circle' }, { name:'Chez Étienne', kind:'Pizza marseillaise', dist:'15 min · Panier', rating:'4.5', emoji:'rect' }, { name:'Livingston', kind:'Cocktails · bistronomie', dist:'6 min · Préfecture', rating:'4.7', emoji:'circle' }, { name:'La Mercerie', kind:'Bistrot moderne', dist:'10 min · Noailles', rating:'4.6', emoji:'arch' }, ]; // ─── A · Liste verticale avec photos rondes ───────────────────────────── const CatList = () => (
Restaurants
mes adresses préférées
{ADDRESSES.map((a,i) => (
{a.name}
{a.kind}
{a.dist} {a.rating}
))}
); // ─── B · Magazine éditorial (alternating photo + texte) ───────────────── const CatMagazine = () => ( Carnet d'adresses · 01
Restaurants.
Cinq tables que j'aime, du comptoir simple
au grand restaurant.
{ADDRESSES.slice(0, 3).map((a, i) => (
0{i+1} · {a.kind.split(' · ')[0]}
{a.name}
S'Y RENDRE →
))}
); // ─── C · Carte + liste latérale ───────────────────────────────────────── const CatMap = () => (
Restaurants
{['Tout','Bistrot','Plage','Étoilé','Pizza'].map((p,i) => ( {p} ))}
{/* map placeholder */}
Carte Google · épingles
{/* pin dots */} {[[60,40],[140,80],[210,120],[100,160]].map(([x,y],i)=>(
))}
{/* scroll list */}
{ADDRESSES.slice(0,3).map((a,i) => (
{i+1}
{a.name}
{a.dist}
))}
); // ─── D · Mosaïque immersive (full-bleed images) ───────────────────────── const CatMosaic = () => ( Restaurants
Mes tables
préférées.
{/* asymmetric photo mosaic */}
{ADDRESSES.slice(0, 4).map((a, i) => { const tall = i === 0 || i === 3; return (
{a.name}
{a.dist.split(' · ')[1]}
); })}
15 adresses au total
); Object.assign(window, { CatList, CatMagazine, CatMap, CatMosaic });