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

description updated et reliée à la base de données

parent e3973b97
No related branches found
No related tags found
No related merge requests found
......@@ -9,30 +9,12 @@ import '../Theme_colors/colors.dart';
import 'package:atlub/Services/groupesMessagerie.dart';
import 'package:firebase_auth/firebase_auth.dart';
/**ListView.builder(
itemCount: clubsData.length,
itemBuilder: (context, index) {
final clubId = clubsData.keys.elementAt(index);
final clubData = clubsData[clubId];
return Club(
key: Key(clubId), // Use clubId as the key for each club
clubData: clubData,
); // Passage des données du club à Club widget
},
),**/
class Club extends StatelessWidget {
final Map<String, dynamic>? clubData; // Les données du club
final String clubid;
const Club({Key? key, required this.clubData, required this.clubid});
@override
Widget build(BuildContext context) {
DatabaseService db = DatabaseService();
......@@ -45,31 +27,33 @@ class Club extends StatelessWidget {
return Padding(
padding: const EdgeInsets.all(12.0),
child: Container(
padding: EdgeInsets.all(5),
decoration: BoxDecoration(
color: Color(0x806ebebf),
borderRadius: BorderRadius.circular(10),
//border: Border.all(color: AppTheme.colors.deepBlue, width: 2)
),
child: ExpansionTile(
title: Text(clubData?['nom'] ?? '', style: TextStyle(color: AppColor.violetBlue, fontWeight: FontWeight.bold, fontSize: 20)),
title: Text(
clubData?['nom'] ?? '',
style: TextStyle(color: AppColor.violetBlue, fontWeight: FontWeight.bold, fontSize: 20),
),
subtitle: FutureBuilder<String?>(
future: db.getPresidentClubnom(clubid, "current"),
builder: (context, snapshot) {
return RichText(text: TextSpan(
return RichText(
text: TextSpan(
text: 'Président: ',
style: const TextStyle(color: AppColor.black, fontWeight: FontWeight.bold),
children: [
TextSpan(
text: snapshot.data ?? '',
style: const TextStyle(color: AppColor.darkBlue, fontWeight: FontWeight.w600),
)
]
));
}
),
],
),
);
},
),
children: [
Padding(
......@@ -81,36 +65,46 @@ class Club extends StatelessWidget {
child: FutureBuilder<String?>(
future: db.getPresidentClubnom(clubid, "co"),
builder: (context, snapshot) {
return RichText(text: TextSpan(
return RichText(
text: TextSpan(
text: 'Co-président: ',
style: const TextStyle(color: AppColor.black, fontWeight: FontWeight.bold),
children: [
TextSpan(
text: snapshot.data ?? '',
style: const TextStyle(color: AppColor.darkBlue, fontWeight: FontWeight.w600),
)
]
));
}
),
],
),
);
},
),
),
const SizedBox(height: 10,),
const Align(
const SizedBox(height: 10),
Align(
alignment: Alignment.centerLeft,
child: Text(
'Description :',
style: TextStyle(
color: AppColor.black,
fontSize: 15,
fontWeight: FontWeight.bold
child: FutureBuilder<String?>(
future: db.getClubDescription(clubid),
builder: (context, snapshot) {
return RichText(
text: TextSpan(
text: 'Description: ',
style: const TextStyle(color: AppColor.black, fontWeight: FontWeight.bold),
children: [
TextSpan(
text: snapshot.data ?? '',
style: const TextStyle(color: AppColor.darkBlue, fontWeight: FontWeight.w600),
),
],
),
);
},
),
),
const Text('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.')
const SizedBox(height: 10),
],
),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
......@@ -164,7 +158,7 @@ class Club extends StatelessWidget {
),
],
),
]
],
),
),
);
......
......@@ -546,6 +546,19 @@ class DatabaseService {
}
}
// Récupérer la description d'un club à partir de son ID
Future<String> getClubDescription(String clubId) async {
Map<String, Map<String, dynamic>> clubs = await getClubs();
if (clubs.containsKey(clubId)) {
Map<String, dynamic> clubData = clubs[clubId]!;
return clubData['description'];
} else {
throw Exception(
"L'id du club n'a pas été trouvé dans la base de données.");
}
}
// Récupérer la liste des posts
Future<Map<String, Map<String, dynamic>>> getPosts() async {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment