Skip to content
Snippets Groups Projects
Commit 9d5970af authored by RENAULT Juliette's avatar RENAULT Juliette
Browse files

modif profil pour afficher correctement les cartes BDX et president

parent 682feeeb
No related branches found
No related tags found
No related merge requests found
import 'package:atlub/Mods/Profil_assets/carte_club2.0.dart';
import 'package:atlub/Mods/Profil_assets/carte_associative2.0.dart';
import 'package:atlub/Services/database.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
......@@ -27,6 +28,7 @@ class _ProfilState extends State<Profil> {
@override
void initState() {
super.initState();
DatabaseService data = DatabaseService();
// Lecture du profil
widget.profil.then((profilData) {
if (profilData.isNotEmpty) {
......@@ -35,16 +37,35 @@ class _ProfilState extends State<Profil> {
prenom = profilData[0]['prenom'];
description = profilData[0]['description'];
userid = profilData[0]['uid'];
profil = profilData[0];
if(profilData[0]['statut']!= null){
if (profilData[0]['statut'] != null) {
BDX = (profilData[0]['statut']['BDX'] ?? []).cast<String>();
president = (profilData[0]['statut']['president'] ?? []).cast<String>();
president =
(profilData[0]['statut']['president'] ?? []).cast<String>();
}
profil = profilData[0]; // Déplacer cette ligne ici
});
// Récupérer les BDX associés à l'utilisateur depuis la collection BDX
data.getBDXfromUid(userid).then((bdxList) {
setState(() {
BDX = bdxList;
});
});
data.getClubsfromUid(userid).then((clubIds) {
clubIds.forEach((clubId) {
data.getClubNom(clubId).then((clubName) {
setState(() {
president.add(clubName);
});
});
});
});
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
......@@ -77,6 +98,7 @@ class _ProfilState extends State<Profil> {
],
),
// Crée une AssoCard pour chaque élément de BDX si BDX n'est pas vide
if (BDX.isNotEmpty)
Column(
......
......@@ -902,8 +902,8 @@ class DatabaseService {
}
Future<Map<String, dynamic>> getClubsfromUid(String userId) async {
Map<String, dynamic> clubdata = {};
Future<List<String>> getClubsfromUid(String userId) async {
List<String> clubIds = [];
QuerySnapshot<Map<String, dynamic>> querySnapshot = await FirebaseFirestore.instance
.collection('Presidents')
......@@ -912,17 +912,17 @@ class DatabaseService {
if (querySnapshot.docs.isNotEmpty) {
for (var document in querySnapshot.docs) {
String clubid = document['idClub'].id;
String type = document['type'];
clubdata[clubid] = {'type': type};
String clubId = document['idClub'].id;
clubIds.add(clubId);
}
} else {
throw Exception("L'utilisateur n'est président d'aucun club.");
}
return clubdata;
return clubIds;
}
Future<List<String>> getBDXfromUid(String userId) async {
List<String> BDXnames = [];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment