Add location to events + improve examples

This commit is contained in:
Sylvain Duchesne
2026-01-26 15:15:36 +01:00
parent 157e04b859
commit 82b04c0258
12 changed files with 1216 additions and 1190 deletions
+11 -10
View File
@@ -26,17 +26,17 @@ export function EventDetailScreen({ navigate }: ScreenProps) {
<Placeholder height={180} label="Photo de couverture" />
<div style={{ padding: 16 }}>
<Title className="user-content" style={{ marginBottom: 8 }}>Barbecue d'été</Title>
<Title className="user-content" style={{ marginBottom: 8 }}>Résidence Reconnexion</Title>
<div style={{ display: 'flex', flexDirection: 'column', gap: 8, marginBottom: 16 }}>
<Text style={{ margin: 0, fontSize: 15 }}>
📅 <span className="user-content">Samedi 25 janvier 2025</span>
📅 <span className="user-content">Lundi 16 - Vendredi 20 février 2026</span>
</Text>
<Text style={{ margin: 0, fontSize: 15 }}>
🕓 <span className="user-content">16h00 - 21h00</span>
🕓 <span className="user-content">Semaine complète (arrivée dimanche possible)</span>
</Text>
<Text style={{ margin: 0, fontSize: 15 }}>
📍 <span className="user-content">Parc Central, Pelouse Ouest</span>
📍 <span className="user-content">Le Revel, Rogues (30)</span>
</Text>
</div>
@@ -64,9 +64,9 @@ export function EventDetailScreen({ navigate }: ScreenProps) {
{/* Host */}
<div style={{ display: 'flex', alignItems: 'center', gap: 12, marginBottom: 16 }}>
<Avatar initials="MD" />
<Avatar initials="RC" />
<div>
<Text className="user-content" style={{ margin: 0, fontWeight: 'bold' }}>Marie Dupont</Text>
<Text className="user-content" style={{ margin: 0, fontWeight: 'bold' }}>Reconnexion</Text>
<Text style={{ margin: 0, fontSize: 14, color: 'var(--sketch-gray)' }}>Organisateur</Text>
</div>
</div>
@@ -76,15 +76,16 @@ export function EventDetailScreen({ navigate }: ScreenProps) {
{/* Description */}
<Text style={{ fontWeight: 'bold', marginBottom: 8 }}>À propos</Text>
<Text className="user-content" style={{ lineHeight: 1.6 }}>
Rejoignez-nous pour un super barbecue d'é ! Au menu : burgers, saucisses, options végé
et plein de boissons. Apportez votre plat préféré à partager. Jeux et musique assurés !
Une semaine collaborative pour se rencontrer, co-créer et faire avancer le projet de Réseau Social Universel.
Au programme : sessions plénières en intelligence collective, ateliers en forum ouvert, et randonnée
au Cirque de Navacelles. Hébergement sur place au Revel, écolieu à Rogues dans le Gard.
</Text>
<Divider />
{/* Attendees */}
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 12 }}>
<Text style={{ fontWeight: 'bold', margin: 0 }}>Participants (12)</Text>
<Text style={{ fontWeight: 'bold', margin: 0 }}>Participants (24)</Text>
<Text
style={{ margin: 0, fontSize: 14, cursor: 'pointer' }}
onClick={() => navigate('participants-list')}
@@ -118,7 +119,7 @@ export function EventDetailScreen({ navigate }: ScreenProps) {
justifyContent: 'center',
fontSize: 12,
}}>
+8
+20
</div>
<Text style={{ margin: '4px 0 0 0', fontSize: 12 }}>autres</Text>
</div>
+22 -22
View File
@@ -52,38 +52,38 @@ export function EventsScreen({ navigate }: ScreenProps) {
{/* Content */}
<div style={{ flex: 1, padding: 16, overflow: 'auto' }}>
<EventCard
title="Barbecue d'été"
date="Sam. 25 jan. · 16h00"
location="Parc Central"
title="Résidence Reconnexion"
date="Lun. 16 - Ven. 20 fév."
location="Le Revel, Rogues (30)"
attendees={24}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Atelier low-tech"
date="Sam. 8 fév. · 14h00"
location="La Maison du Vélo, Lyon"
attendees={12}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Soirée jeux de société"
date="Ven. 31 jan. · 19h00"
location="Chez Joe"
attendees={8}
title="Forum Ouvert Transition"
date="Sam. 22 fév. · 9h00"
location="Tiers-lieu L'Hermitage"
attendees={45}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Randonnée"
date="Dim. 2 fév. · 9h00"
location="Sentier de montagne"
attendees={5}
title="Formation CNV"
date="Sam. 1 mars · 9h30"
location="MJC Montplaisir, Lyon"
attendees={16}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Marathon films"
date="Sam. 8 fév. · 18h00"
location="Chez Sarah"
attendees={6}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Yoga au parc"
date="Dim. 9 fév. · 8h00"
location="Parc Riverside"
attendees={15}
title="Rencontre des Colibris"
date="Mer. 12 fév. · 19h00"
location="La Maison de l'Environnement"
attendees={30}
onClick={() => navigate('event-detail')}
/>
</div>
+16 -12
View File
@@ -2,13 +2,14 @@ import React from 'react';
import { Button, Title, Text, Card, NavBar, Badge } from '../components/sketchy';
import type { ScreenProps } from './index';
function EventCard({ title, date, attendees, onClick }: { title: string; date: string; attendees: number; onClick: () => void }) {
function EventCard({ title, date, location, attendees, onClick }: { title: string; date: string; location: string; attendees: number; onClick: () => void }) {
return (
<Card onClick={onClick} style={{ marginBottom: 12 }}>
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}>
<div>
<Text className="user-content" style={{ margin: 0, fontWeight: 'bold' }}>{title}</Text>
<Text className="user-content" style={{ margin: '4px 0 0 0', fontSize: 14 }}>{date}</Text>
<Text style={{ margin: '2px 0 0 0', fontSize: 14 }}>📍 <span className="user-content">{location}</span></Text>
</div>
<Badge>{attendees} inscrits</Badge>
</div>
@@ -40,21 +41,24 @@ export function HomeScreen({ navigate }: ScreenProps) {
</div>
<EventCard
title="Barbecue d'été"
date="Sam. 25 jan. · 16h00"
title="Résidence Reconnexion"
date="Lun. 16 - Ven. 20 fév."
location="Le Revel, Rogues (30)"
attendees={24}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Atelier low-tech"
date="Sam. 8 fév. · 14h00"
location="La Maison du Vélo, Lyon"
attendees={12}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Soirée jeux de société"
date="Ven. 31 jan. · 19h00"
attendees={8}
onClick={() => navigate('event-detail')}
/>
<EventCard
title="Randonnée"
date="Dim. 2 fév. · 9h00"
attendees={5}
title="Forum Ouvert Transition"
date="Sam. 22 fév. · 9h00"
location="Tiers-lieu L'Hermitage"
attendees={45}
onClick={() => navigate('event-detail')}
/>