Unkown users

This commit is contained in:
Sylvain Duchesne
2026-01-26 15:58:42 +01:00
parent 9836a2c5fe
commit 21f33faf4a
14 changed files with 716 additions and 711 deletions
+10 -10
View File
@@ -1,17 +1,17 @@
# language: fr
@EVENT @priority-1
Fonctionnalité: US-13 Créer/Modifier/Supprimer un événement
Fonctionnalité: US-13 Relayer/Modifier/Supprimer un événement
En tant qu'utilisateur
Je peux créer/modifier/supprimer un événement
Je peux relayer/modifier/supprimer un événement
En choisissant les dates, horaires, lieu et thématique
Afin de créer/présenter le contenu de cet événement et le catégoriser
Afin de relayer/présenter le contenu de cet événement et le catégoriser
Contexte:
Étant donné que je suis connecté en tant qu'utilisateur
Scénario: Accéder à la création d'événement
Scénario: Accéder au formulaire de relai d'événement
Étant donné que je suis sur la page "accueil"
Quand je navigue vers "créer un événement"
Quand je navigue vers "relayer un événement"
Alors je vois l'écran "create-event"
Scénario: Vérifier les champs obligatoires du formulaire
@@ -23,12 +23,12 @@ Fonctionnalité: US-13 Créer/Modifier/Supprimer un événement
| Lieu |
| Thématique |
Scénario: Vérifier la présence du bouton de création
Étant donné que je suis sur la page "créer un événement"
Alors l'écran contient une section "Créer l'événement"
Scénario: Vérifier la présence du bouton de relai
Étant donné que je suis sur la page "relayer un événement"
Alors l'écran contient une section "Relayer l'événement"
Scénario: Pouvoir annuler la création d'événement
Étant donné que je suis sur la page "créer un événement"
Scénario: Pouvoir annuler le relai d'événement
Étant donné que je suis sur la page "relayer un événement"
Alors je peux annuler et revenir à l'écran précédent
Scénario: Modifier un événement
@@ -14,8 +14,8 @@ const screenNameMap: Record<string, string> = {
'découvrir': 'events',
'détail événement': 'event-detail',
'détail de l\'événement': 'event-detail',
'créer un événement': 'create-event',
'création d\'événement': 'create-event',
'relayer un événement': 'create-event',
'relai d\'événement': 'create-event',
'inviter des amis': 'invite',
'invitation': 'invite',
'mon profil': 'profile',
+4 -4
View File
@@ -2,23 +2,23 @@
@USER @priority-2
Fonctionnalité: US-26 Définir la portée d'un événement
En tant qu'utilisateur
Je peux créer/présenter le contenu d'un événement et le catégoriser par type/thématique
Je peux relayer/présenter le contenu d'un événement et le catégoriser par type/thématique
En indiquant son rayon d'intérêt en kilomètres
Afin de m'assurer que les utilisateurs qui habitent trop loin ne reçoivent pas de notification
Contexte:
Étant donné que je suis connecté en tant qu'utilisateur
Scénario: Accéder à la création d'événement
Scénario: Accéder au formulaire de relai d'événement
Étant donné que je suis sur la page "accueil"
Quand je navigue vers "créer un événement"
Quand je navigue vers "relayer un événement"
Alors je vois l'écran "create-event"
Scénario: Définir le rayon d'intérêt
* Scénario non implémenté
Scénario: Choisir une thématique
Étant donné que je suis sur la page "créer un événement"
Étant donné que je suis sur la page "relayer un événement"
Alors l'écran contient une section "Thématique"
Scénario: Vérifier les champs obligatoires
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+15 -15
View File
@@ -104,8 +104,8 @@ export const parsedFeatures: ParsedFeature[] = [
},
{
"id": "us-13",
"name": "US-13 Créer/Modifier/Supprimer un événement",
"description": "En tant qu'utilisateur Je peux créer/modifier/supprimer un événement En choisissant les dates, horaires, lieu et thématique Afin de créer/présenter le contenu de cet événement et le catégoriser",
"name": "US-13 Relayer/Modifier/Supprimer un événement",
"description": "En tant qu'utilisateur Je peux relayer/modifier/supprimer un événement En choisissant les dates, horaires, lieu et thématique Afin de relayer/présenter le contenu de cet événement et le catégoriser",
"tags": [
"@EVENT",
"@priority-1"
@@ -120,7 +120,7 @@ export const parsedFeatures: ParsedFeature[] = [
],
"scenarios": [
{
"name": "Accéder à la création d'événement",
"name": "Accéder au formulaire de relai d'événement",
"tags": [],
"steps": [
{
@@ -129,7 +129,7 @@ export const parsedFeatures: ParsedFeature[] = [
},
{
"keyword": "Quand",
"text": "je navigue vers \"créer un événement\""
"text": "je navigue vers \"relayer un événement\""
},
{
"keyword": "Alors",
@@ -152,26 +152,26 @@ export const parsedFeatures: ParsedFeature[] = [
]
},
{
"name": "Vérifier la présence du bouton de création",
"name": "Vérifier la présence du bouton de relai",
"tags": [],
"steps": [
{
"keyword": "Étant donné que ",
"text": "je suis sur la page \"créer un événement\""
"text": "je suis sur la page \"relayer un événement\""
},
{
"keyword": "Alors",
"text": "l'écran contient une section \"Créer l'événement\""
"text": "l'écran contient une section \"Relayer l'événement\""
}
]
},
{
"name": "Pouvoir annuler la création d'événement",
"name": "Pouvoir annuler le relai d'événement",
"tags": [],
"steps": [
{
"keyword": "Étant donné que ",
"text": "je suis sur la page \"créer un événement\""
"text": "je suis sur la page \"relayer un événement\""
},
{
"keyword": "Alors",
@@ -196,7 +196,7 @@ export const parsedFeatures: ParsedFeature[] = [
}
],
"filePath": "features/event/us-13-creer-evenement.feature",
"rawContent": "# language: fr\n@EVENT @priority-1\nFonctionnalité: US-13 Créer/Modifier/Supprimer un événement\n En tant qu'utilisateur\n Je peux créer/modifier/supprimer un événement\n En choisissant les dates, horaires, lieu et thématique\n Afin de créer/présenter le contenu de cet événement et le catégoriser\n\n Contexte:\n Étant donné que je suis connecté en tant qu'utilisateur\n\n Scénario: Accéder à la création d'événement\n Étant donné que je suis sur la page \"accueil\"\n Quand je navigue vers \"créer un événement\"\n Alors je vois l'écran \"create-event\"\n\n Scénario: Vérifier les champs obligatoires du formulaire\n Étant donné que l'écran \"create-event\" est affiché\n Alors le formulaire contient les champs obligatoires suivants:\n | Nom de l'événement |\n | Date de début |\n | Heure de début |\n | Lieu |\n | Thématique |\n\n Scénario: Vérifier la présence du bouton de création\n Étant donné que je suis sur la page \"créer un événement\"\n Alors l'écran contient une section \"Créer l'événement\"\n\n Scénario: Pouvoir annuler la création d'événement\n Étant donné que je suis sur la page \"créer un événement\"\n Alors je peux annuler et revenir à l'écran précédent\n\n Scénario: Modifier un événement\n * Scénario non implémenté\n\n Scénario: Supprimer un événement\n * Scénario non implémenté\n\n Scénario: Retirer une organisation (personne ou structure)\n * Scénario non implémenté\n",
"rawContent": "# language: fr\n@EVENT @priority-1\nFonctionnalité: US-13 Relayer/Modifier/Supprimer un événement\n En tant qu'utilisateur\n Je peux relayer/modifier/supprimer un événement\n En choisissant les dates, horaires, lieu et thématique\n Afin de relayer/présenter le contenu de cet événement et le catégoriser\n\n Contexte:\n Étant donné que je suis connecté en tant qu'utilisateur\n\n Scénario: Accéder au formulaire de relai d'événement\n Étant donné que je suis sur la page \"accueil\"\n Quand je navigue vers \"relayer un événement\"\n Alors je vois l'écran \"create-event\"\n\n Scénario: Vérifier les champs obligatoires du formulaire\n Étant donné que l'écran \"create-event\" est affiché\n Alors le formulaire contient les champs obligatoires suivants:\n | Nom de l'événement |\n | Date de début |\n | Heure de début |\n | Lieu |\n | Thématique |\n\n Scénario: Vérifier la présence du bouton de relai\n Étant donné que je suis sur la page \"relayer un événement\"\n Alors l'écran contient une section \"Relayer l'événement\"\n\n Scénario: Pouvoir annuler le relai d'événement\n Étant donné que je suis sur la page \"relayer un événement\"\n Alors je peux annuler et revenir à l'écran précédent\n\n Scénario: Modifier un événement\n * Scénario non implémenté\n\n Scénario: Supprimer un événement\n * Scénario non implémenté\n\n Scénario: Retirer une organisation (personne ou structure)\n * Scénario non implémenté\n",
"screenIds": [
"create-event",
"home"
@@ -1150,7 +1150,7 @@ export const parsedFeatures: ParsedFeature[] = [
{
"id": "us-26",
"name": "US-26 Définir la portée d'un événement",
"description": "En tant qu'utilisateur Je peux créer/présenter le contenu d'un événement et le catégoriser par type/thématique En indiquant son rayon d'intérêt en kilomètres Afin de m'assurer que les utilisateurs qui habitent trop loin ne reçoivent pas de notification",
"description": "En tant qu'utilisateur Je peux relayer/présenter le contenu d'un événement et le catégoriser par type/thématique En indiquant son rayon d'intérêt en kilomètres Afin de m'assurer que les utilisateurs qui habitent trop loin ne reçoivent pas de notification",
"tags": [
"@USER",
"@priority-2"
@@ -1165,7 +1165,7 @@ export const parsedFeatures: ParsedFeature[] = [
],
"scenarios": [
{
"name": "Accéder à la création d'événement",
"name": "Accéder au formulaire de relai d'événement",
"tags": [],
"steps": [
{
@@ -1174,7 +1174,7 @@ export const parsedFeatures: ParsedFeature[] = [
},
{
"keyword": "Quand",
"text": "je navigue vers \"créer un événement\""
"text": "je navigue vers \"relayer un événement\""
},
{
"keyword": "Alors",
@@ -1193,7 +1193,7 @@ export const parsedFeatures: ParsedFeature[] = [
"steps": [
{
"keyword": "Étant donné que ",
"text": "je suis sur la page \"créer un événement\""
"text": "je suis sur la page \"relayer un événement\""
},
{
"keyword": "Alors",
@@ -1217,7 +1217,7 @@ export const parsedFeatures: ParsedFeature[] = [
}
],
"filePath": "features/user/us-26-portee-evenement.feature",
"rawContent": "# language: fr\n@USER @priority-2\nFonctionnalité: US-26 Définir la portée d'un événement\n En tant qu'utilisateur\n Je peux créer/présenter le contenu d'un événement et le catégoriser par type/thématique\n En indiquant son rayon d'intérêt en kilomètres\n Afin de m'assurer que les utilisateurs qui habitent trop loin ne reçoivent pas de notification\n\n Contexte:\n Étant donné que je suis connecté en tant qu'utilisateur\n\n Scénario: Accéder à la création d'événement\n Étant donné que je suis sur la page \"accueil\"\n Quand je navigue vers \"créer un événement\"\n Alors je vois l'écran \"create-event\"\n\n Scénario: Définir le rayon d'intérêt\n * Scénario non implémenté\n\n Scénario: Choisir une thématique\n Étant donné que je suis sur la page \"créer un événement\"\n Alors l'écran contient une section \"Thématique\"\n\n Scénario: Vérifier les champs obligatoires\n Étant donné que l'écran \"create-event\" est affiché\n Alors le formulaire contient les champs obligatoires suivants:\n | Nom de l'événement |\n | Date de début |\n | Heure de début |\n | Lieu |\n | Thématique |\n",
"rawContent": "# language: fr\n@USER @priority-2\nFonctionnalité: US-26 Définir la portée d'un événement\n En tant qu'utilisateur\n Je peux relayer/présenter le contenu d'un événement et le catégoriser par type/thématique\n En indiquant son rayon d'intérêt en kilomètres\n Afin de m'assurer que les utilisateurs qui habitent trop loin ne reçoivent pas de notification\n\n Contexte:\n Étant donné que je suis connecté en tant qu'utilisateur\n\n Scénario: Accéder au formulaire de relai d'événement\n Étant donné que je suis sur la page \"accueil\"\n Quand je navigue vers \"relayer un événement\"\n Alors je vois l'écran \"create-event\"\n\n Scénario: Définir le rayon d'intérêt\n * Scénario non implémenté\n\n Scénario: Choisir une thématique\n Étant donné que je suis sur la page \"relayer un événement\"\n Alors l'écran contient une section \"Thématique\"\n\n Scénario: Vérifier les champs obligatoires\n Étant donné que l'écran \"create-event\" est affiché\n Alors le formulaire contient les champs obligatoires suivants:\n | Nom de l'événement |\n | Date de début |\n | Heure de début |\n | Lieu |\n | Thématique |\n",
"screenIds": [
"create-event",
"home"
+30 -30
View File
@@ -19,10 +19,10 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 4,
"failed": 0,
"skipped": 3,
"lastRun": "2026-01-26T14:41:44.044Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder à la création d'événement",
"name": "Accéder au formulaire de relai d'événement",
"status": "passed"
},
{
@@ -30,11 +30,11 @@ const rawResults: RawFeatureTestStatus[] = [
"status": "passed"
},
{
"name": "Vérifier la présence du bouton de création",
"name": "Vérifier la présence du bouton de relai",
"status": "passed"
},
{
"name": "Pouvoir annuler la création d'événement",
"name": "Pouvoir annuler le relai d'événement",
"status": "passed"
},
{
@@ -57,7 +57,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 3,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-26T14:41:44.044Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder aux détails d'un événement terminé",
@@ -79,7 +79,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 5,
"lastRun": "2026-01-26T14:41:44.044Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Voir les commentaires existants",
@@ -109,7 +109,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 2,
"failed": 0,
"skipped": 4,
"lastRun": "2026-01-26T14:41:44.044Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Consulter un événement avant inscription",
@@ -143,7 +143,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 8,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Consulter un macro-événement",
@@ -185,7 +185,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder aux points de rencontre",
@@ -211,7 +211,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 5,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Partager un événement auquel je participe",
@@ -241,7 +241,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 1,
"failed": 0,
"skipped": 3,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Configurer les notifications de nouveaux participants",
@@ -267,7 +267,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 3,
"failed": 0,
"skipped": 2,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Voir les événements à venir sur l'accueil",
@@ -297,7 +297,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 4,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder au profil d'un participant",
@@ -327,7 +327,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 3,
"failed": 0,
"skipped": 4,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder à la liste des événements depuis le profil",
@@ -365,7 +365,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 3,
"failed": 0,
"skipped": 2,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder à la liste des inscrits d'un événement",
@@ -395,7 +395,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 5,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder à mon profil",
@@ -429,7 +429,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 2,
"failed": 0,
"skipped": 3,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder aux paramètres de profil",
@@ -459,7 +459,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder au partage de profil",
@@ -489,7 +489,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder au partage depuis le profil",
@@ -519,7 +519,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 2,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder aux paramètres de notification",
@@ -541,7 +541,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 1,
"failed": 0,
"skipped": 2,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder aux paramètres de notification",
@@ -563,10 +563,10 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 3,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder à la création d'événement",
"name": "Accéder au formulaire de relai d'événement",
"status": "passed"
},
{
@@ -589,7 +589,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 4,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder au profil pour voir la photo",
@@ -619,7 +619,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 5,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder aux détails d'un événement terminé",
@@ -649,7 +649,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 3,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder au bilan consolidé",
@@ -671,7 +671,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 7,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder à la création d'atelier",
@@ -709,7 +709,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 5,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Accéder à la zone de notes personnelles",
@@ -739,7 +739,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 5,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Voir les commentaires existants d'un atelier",
@@ -769,7 +769,7 @@ const rawResults: RawFeatureTestStatus[] = [
"passed": 0,
"failed": 0,
"skipped": 4,
"lastRun": "2026-01-26T14:41:44.045Z",
"lastRun": "2026-01-26T14:56:32.333Z",
"scenarios": [
{
"name": "Voir les ateliers d'un événement",
+2 -2
View File
@@ -6,7 +6,7 @@ export function CreateEventScreen({ navigate }: ScreenProps) {
return (
<div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
<Header
title="Créer un événement"
title="Relayer un événement"
left={<span onClick={() => navigate('home')} style={{ cursor: 'pointer' }}></span>}
/>
@@ -96,7 +96,7 @@ export function CreateEventScreen({ navigate }: ScreenProps) {
style={{ width: '100%' }}
onClick={() => navigate('event-detail')}
>
Créer l'événement
Relayer l'événement
</Button>
</div>
</div>
+5 -6
View File
@@ -5,12 +5,11 @@ import type { ScreenProps } from './index';
export function EventDetailScreen({ navigate }: ScreenProps) {
const [isJoined, setIsJoined] = useState(false);
const attendees = [
const knownAttendees = [
{ initials: 'MD', name: 'Marie' },
{ initials: 'PD', name: 'Pierre' },
{ initials: 'SL', name: 'Sophie' },
{ initials: 'TM', name: 'Thomas' },
];
const unknownCount = 22;
return (
<div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
@@ -95,7 +94,7 @@ export function EventDetailScreen({ navigate }: ScreenProps) {
</div>
<div style={{ display: 'flex', gap: 12 }}>
{attendees.map((a, i) => (
{knownAttendees.map((a, i) => (
<div
key={i}
style={{ textAlign: 'center', cursor: 'pointer' }}
@@ -119,9 +118,9 @@ export function EventDetailScreen({ navigate }: ScreenProps) {
justifyContent: 'center',
fontSize: 12,
}}>
+20
+{unknownCount}
</div>
<Text style={{ margin: '4px 0 0 0', fontSize: 12 }}>autres</Text>
<Text style={{ margin: '4px 0 0 0', fontSize: 12, color: 'var(--sketch-gray)' }}>inconnus</Text>
</div>
</div>
</div>
+1 -1
View File
@@ -93,7 +93,7 @@ export function EventsScreen({ navigate }: ScreenProps) {
items={[
{ icon: '⌂', label: 'Accueil', onClick: () => navigate('home') },
{ icon: '◎', label: 'Découvrir', active: true },
{ icon: '+', label: 'Créer', onClick: () => navigate('create-event') },
{ icon: '+', label: 'Relayer', onClick: () => navigate('create-event') },
{ icon: '☺', label: 'Profil', onClick: () => navigate('profile') },
]}
/>
+2 -2
View File
@@ -64,7 +64,7 @@ export function HomeScreen({ navigate }: ScreenProps) {
<div style={{ marginTop: 24 }}>
<Button variant="primary" onClick={() => navigate('create-event')} style={{ width: '100%' }}>
+ Créer un événement
+ Relayer un événement
</Button>
</div>
</div>
@@ -74,7 +74,7 @@ export function HomeScreen({ navigate }: ScreenProps) {
items={[
{ icon: '⌂', label: 'Accueil', active: true },
{ icon: '◎', label: 'Découvrir', onClick: () => navigate('events') },
{ icon: '+', label: 'Créer', onClick: () => navigate('create-event') },
{ icon: '+', label: 'Relayer', onClick: () => navigate('create-event') },
{ icon: '☺', label: 'Profil', onClick: () => navigate('profile') },
]}
/>
+26 -20
View File
@@ -4,18 +4,18 @@ import type { ScreenProps } from './index';
export function ParticipantsListScreen({ navigate }: ScreenProps) {
const participants = [
{ initials: 'AM', name: 'Alice Martin', username: '@alice' },
{ initials: 'BM', name: 'Baptiste Morel', username: '@baptiste' },
{ initials: 'CD', name: 'Camille Dubois', username: '@camille' },
{ initials: 'DL', name: 'David Leroy', username: '@david' },
{ initials: 'EG', name: 'Emma Girard', username: '@emma' },
{ initials: 'FB', name: 'François Bernard', username: '@francois' },
{ initials: 'GM', name: 'Guillaume Mercier', username: '@guillaume' },
{ initials: 'HT', name: 'Hélène Thomas', username: '@helene' },
{ initials: 'MD', name: 'Marie Dupont', username: '@mariedupont' },
{ initials: 'PD', name: 'Pierre Durand', username: '@pierre' },
{ initials: 'SL', name: 'Sophie Lambert', username: '@sophie' },
{ initials: 'TM', name: 'Thomas Martin', username: '@thomas' },
{ initials: 'MD', name: 'Marie Dupont', username: '@mariedupont', known: true },
{ initials: 'TM', name: 'Thomas Martin', username: '@thomas', known: true },
{ known: false },
{ known: false },
{ known: false },
{ known: false },
{ known: false },
{ known: false },
{ known: false },
{ known: false },
{ known: false },
{ known: false },
];
return (
@@ -35,24 +35,30 @@ export function ParticipantsListScreen({ navigate }: ScreenProps) {
{participants.map((p, i) => (
<div
key={i}
onClick={() => navigate('user-profile')}
onClick={p.known ? () => navigate('user-profile') : undefined}
style={{
display: 'flex',
alignItems: 'center',
gap: 12,
padding: '12px 16px',
cursor: 'pointer',
cursor: p.known ? 'pointer' : 'default',
borderBottom: '1px solid var(--sketch-light-gray)',
}}
>
<Avatar initials={p.initials} size="sm" />
<Avatar initials={p.known ? p.initials : '?'} size="sm" />
<div style={{ flex: 1 }}>
<Text className="user-content" style={{ margin: 0, fontWeight: 'bold' }}>{p.name}</Text>
<Text className="user-content" style={{ margin: 0, fontSize: 13 }}>
{p.username}
</Text>
{p.known ? (
<>
<Text className="user-content" style={{ margin: 0, fontWeight: 'bold' }}>{p.name}</Text>
<Text className="user-content" style={{ margin: 0, fontSize: 13 }}>
{p.username}
</Text>
</>
) : (
<Text style={{ margin: 0, color: 'var(--sketch-gray)' }}>Participant inconnu</Text>
)}
</div>
<Text style={{ margin: 0, fontSize: 20, color: 'var(--sketch-gray)' }}></Text>
{p.known && <Text style={{ margin: 0, fontSize: 20, color: 'var(--sketch-gray)' }}></Text>}
</div>
))}
</div>
+2 -2
View File
@@ -72,7 +72,7 @@ export function ProfileScreen({ navigate }: ScreenProps) {
onClick={() => navigate('create-event')}
>
<span style={{ marginRight: 12 }}>+</span>
<Text style={{ margin: 0 }}>Créer un événement</Text>
<Text style={{ margin: 0 }}>Relayer un événement</Text>
</div>
<div className="sketchy-list-item" onClick={() => navigate('friends-list')}>
<span style={{ marginRight: 12 }}>👥</span>
@@ -90,7 +90,7 @@ export function ProfileScreen({ navigate }: ScreenProps) {
items={[
{ icon: '⌂', label: 'Accueil', onClick: () => navigate('home') },
{ icon: '◎', label: 'Découvrir', onClick: () => navigate('events') },
{ icon: '+', label: 'Créer', onClick: () => navigate('create-event') },
{ icon: '+', label: 'Relayer', onClick: () => navigate('create-event') },
{ icon: '☺', label: 'Profil', active: true },
]}
/>
+1 -1
View File
@@ -83,7 +83,7 @@ export function SettingsScreen({ navigate }: ScreenProps) {
items={[
{ icon: '', label: 'Accueil', onClick: () => navigate('home') },
{ icon: '', label: 'Découvrir', onClick: () => navigate('events') },
{ icon: '+', label: 'Créer', onClick: () => navigate('create-event') },
{ icon: '+', label: 'Relayer', onClick: () => navigate('create-event') },
{ icon: '', label: 'Profil', onClick: () => navigate('profile') },
]}
/>