function InfosPratiques() { const w = useW(); const isMobile = w < 600; const [tab, setTab] = React.useState('pharmacies'); const tabs = [ { id: 'pharmacies', label: '🏥 Pharmacies' }, { id: 'sante', label: '🩺 Santé' }, { id: 'securite', label: '🚔 Sécurité' }, { id: 'hotels', label: '🏨 Hôtels' }, { id: 'restaurants', label: '🍽 Restaurants' }, { id: 'commerces', label: '🛒 Commerces' }, ]; const pharmacies = [ { nom: 'Pharmacie de la Gare', garde: true }, { nom: 'Grande Pharmacie du Sud-Ouest', garde: false }, { nom: 'Pharmacie de la Mairie de Soubré', garde: false }, { nom: "Pharmacie de l'Immaculée", garde: false }, { nom: 'Pharmacie du Sud Ouest', tel: '27 34 72 32 19', mobile: '07 08 72 81 74', mail: 'gbohoussou@hotmail.com', garde: false }, { nom: 'Pharmacie de la Mosquée', tel: '07 07 89 95 83', mobile: '07 67 25 98 65', mail: 'phciedmosque18@gmail.com', garde: false }, ]; const hotels = [ { nom: 'MARINA', mobile: '07 18 62 66 55', mail: 'mohamedmoghnieh@gmail.com' }, { nom: 'BERGE RIVE', mobile: '05 76 15 71 71', mail: 'bergerivehotel@gmail.com' }, { nom: 'COMPLEXE HOTELIER ANOUAZE', tel: '27 34 72 26 58', mobile: '07 47 14 60 41', whatsapp: '07 58 06 09 23', mail: 'hotelanouaze@gmail.com' }, ]; const commerces = [ { nom: 'NUMER ONE', mobile: '07 06 70 00 00' }, { nom: 'SUPER MARCHE MARINA', mobile: '07 13 39 34 97' }, { nom: 'SUPER MARCHE BON PRIX', mobile: '07 87 30 11 50' }, ]; const restaurants = [{ nom: 'MARINA', mobile: '07 00 24 88 86' }]; const sante = [ { nom: 'PHARMACIE DE LA MOSQUEE', tel: '07 07 89 95 83', mobile: '07 67 25 98 65', whatsapp: '07 67 25 98 65', mail: 'phciedmosque18@gmail.com' }, { nom: 'PHARMACIE SUD-OUEST', tel: '27 34 72 32 19', mobile: '07 08 72 81 74', whatsapp: '07 08 72 81 74', mail: 'gbohoussou@hotmail.com' }, ]; const ContactTable = ({ rows }) => ( isMobile ? (
{rows.map((r, i) => (
{r.nom}
{r.tel &&
📞 {r.tel}
} {r.mobile &&
📱 {r.mobile}
} {r.whatsapp &&
💬 {r.whatsapp}
} {r.mail && ✉ {r.mail}}
))}
) : (
{['Service', 'Téléphone', 'Mobile', 'WhatsApp', 'Email'].map(h => ( ))} {rows.map((r, i) => ( ))}
{h}
{r.nom} {r.tel || '—'} {r.mobile || '—'} {r.whatsapp || '—'} {r.mail ? {r.mail} : '—'}
) ); const pharmacyGrid = isMobile ? '1fr 1fr' : w < 960 ? '1fr 1fr' : 'repeat(3, 1fr)'; return (
{tabs.map(t => ( ))}
{tab === 'pharmacies' && (
🏥
Pharmacie de garde actuellement
Pharmacie de la Gare

Liste des pharmacies

{pharmacies.map((p, i) => (
{p.garde &&
DE GARDE
}
{p.nom}
{p.mobile &&
{p.mobile}
} {p.mail && {p.mail}}
))}
)} {tab === 'sante' && (

Contacts Santé

)} {tab === 'securite' && (
🚔
Les contacts des services de sécurité seront disponibles prochainement.
En cas d'urgence : 110 (Police) — 111 (Gendarmerie)
)} {tab === 'hotels' && (

Établissements Hôteliers

)} {tab === 'restaurants' && (

Restaurants

)} {tab === 'commerces' && (

Établissements Commerciaux

)}
); } function Actualites() { const w = useW(); const isMobile = w < 700; const articles = [ { date: '03 Mai 2025', titre: 'Remise de clés de trois salles de classe à EPP Djoutoubo', cat: 'Éducation', img: 'assets/image2.jpg', resume: "Le Sénateur-Maire TRAORÉ Lassina a procédé à la remise officielle des clés de trois nouvelles salles de classe à l'École Primaire Publique de Djoutoubo, renforçant l'infrastructure éducative de la commune." }, { date: '15 Avril 2025', titre: 'Le Sénateur-Maire reçoit le prix du Meilleur Maire', cat: 'Distinction', img: 'assets/image5.png', resume: "La commune de Soubré est à l'honneur : TRAORÉ Lassina a été distingué Meilleur Maire de Côte d'Ivoire, récompensant son action exemplaire au service des citoyens." }, { date: '02 Avril 2025', titre: 'Inauguration de nouvelles infrastructures communales', cat: 'Infrastructure', img: 'assets/image2.jpg', resume: "La Mairie de Soubré a procédé à l'inauguration de nouvelles infrastructures dans plusieurs quartiers, améliorant les conditions de vie des habitants." }, { date: '20 Mars 2025', titre: 'Lancement du programme Emploi pour Tous', cat: 'Emploi', img: 'assets/image1.png', resume: "La Mairie de Soubré lance une nouvelle session de son programme « Emploi pour Tous », visant à favoriser l'insertion professionnelle des jeunes de la commune." }, ]; return (
{articles.map((a, i) => (
{ e.currentTarget.style.transform = 'translateY(-4px)'; e.currentTarget.style.boxShadow = '0 12px 32px rgba(0,0,0,0.1)'; }} onMouseLeave={e => { e.currentTarget.style.transform = ''; e.currentTarget.style.boxShadow = '0 2px 8px rgba(0,0,0,0.05)'; }}>
{a.titre}
{a.cat} {a.date}

{a.titre}

{a.resume}

))}
); } function Galerie() { const w = useW(); const isMobile = w < 600; const imgs = ['assets/image1.png','assets/image2.jpg','assets/image3.jpg','assets/image5.png','assets/image7.jpeg','assets/image17.jpg','assets/image11.jpg','assets/image13.jpg']; const [lightbox, setLightbox] = React.useState(null); return (
{imgs.map((src, i) => (
setLightbox(i)} style={{ breakInside: 'avoid', marginBottom: 12, cursor: 'pointer', borderRadius: 8, overflow: 'hidden' }}> {`Photo e.target.style.transform = 'scale(1.04)'} onMouseLeave={e => e.target.style.transform = ''} />
))}
{lightbox !== null && (
setLightbox(null)} style={{ position: 'fixed', inset: 0, background: 'rgba(0,0,0,0.92)', zIndex: 9999, display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 16, cursor: 'zoom-out' }}>
)}
); } function Contact() { const w = useW(); const isMobile = w < 700; const [form, setForm] = React.useState({ nom: '', tel: '', email: '', sujet: '', message: '' }); const [sent, setSent] = React.useState(false); return (

Coordonnées

{[ { icon: '📞', label: 'Téléphone', lines: ['22 52 73 59 93 / 93 930'] }, { icon: '📱', label: 'Mobile / WhatsApp', lines: ['05 04 98 76 72'] }, { icon: '✉️', label: 'Email', lines: ['mairiedesoubre1@gmail.com'] }, { icon: '🌐', label: 'Site web', lines: ['www.mairiesoubre.net'] }, ].map((c, i) => (
{c.icon}
{c.label}
{c.lines.map((l, j) =>
{l}
)}
))}
Secrétariat Général
Lundi — Vendredi
7h30–12h30 / 14h30–17h30
Secrétariat

Envoyez-nous un message

{sent ? (
Message envoyé avec succès !
Merci de nous avoir contactés. Notre équipe vous répondra dans les plus brefs délais.
) : (
{[{ label: 'Nom et Prénoms', key: 'nom', type: 'text', placeholder: 'Votre nom complet', req: true }, { label: 'Téléphone', key: 'tel', type: 'tel', placeholder: 'Votre numéro', req: true }].map(f => (
setForm({ ...form, [f.key]: e.target.value })} style={{ width: '100%', padding: '11px 14px', border: '1.5px solid #ddd', borderRadius: 6, fontSize: 14, boxSizing: 'border-box', fontFamily: "'Source Sans 3', sans-serif" }} />
))}
{[{ label: 'Adresse e-mail', key: 'email', type: 'email', placeholder: 'votre@email.com' }].map(f => (
setForm({ ...form, [f.key]: e.target.value })} style={{ width: '100%', padding: '11px 14px', border: '1.5px solid #ddd', borderRadius: 6, fontSize: 14, boxSizing: 'border-box', fontFamily: "'Source Sans 3', sans-serif" }} />
))}