corrrigi team_stats_page
This commit is contained in:
@@ -6,6 +6,7 @@ import '../widgets/stats_widgets.dart';
|
||||
|
||||
class TeamStatsPage extends StatelessWidget {
|
||||
final Team team;
|
||||
// Agora este controller já tem o método getMembers
|
||||
final StatsController _controller = StatsController();
|
||||
|
||||
TeamStatsPage({super.key, required this.team});
|
||||
@@ -16,16 +17,26 @@ class TeamStatsPage extends StatelessWidget {
|
||||
backgroundColor: const Color(0xFFF5F7FA),
|
||||
body: Column(
|
||||
children: [
|
||||
StatsHeader(team: team),
|
||||
// Certifica-te que tens o StatsHeader no ficheiro stats_widgets.dart
|
||||
StatsHeader(team: team),
|
||||
Expanded(
|
||||
child: StreamBuilder<List<Person>>(
|
||||
// AGORA ISTO VAI FUNCIONAR:
|
||||
stream: _controller.getMembers(team.id),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||
return const Center(child: CircularProgressIndicator());
|
||||
}
|
||||
|
||||
if (snapshot.hasError) {
|
||||
return Center(child: Text('Erro: ${snapshot.error}'));
|
||||
}
|
||||
|
||||
final members = snapshot.data ?? [];
|
||||
if (members.isEmpty) {
|
||||
return const Center(child: Text("Sem membros nesta equipa."));
|
||||
}
|
||||
|
||||
final coaches = members.where((m) => m.type == 'Treinador').toList();
|
||||
final players = members.where((m) => m.type == 'Jogador').toList();
|
||||
|
||||
@@ -34,13 +45,17 @@ class TeamStatsPage extends StatelessWidget {
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const SummaryCard(),
|
||||
const SummaryCard(), // Confirma se tens este widget
|
||||
const SizedBox(height: 30),
|
||||
_buildSectionTitle("Treinadores"),
|
||||
...coaches.map((c) => _buildPersonCard(context, c, isCoach: true)),
|
||||
const SizedBox(height: 30),
|
||||
_buildSectionTitle("Jogadores"),
|
||||
...players.map((p) => _buildPersonCard(context, p, isCoach: false)),
|
||||
if (coaches.isNotEmpty) ...[
|
||||
_buildSectionTitle("Treinadores"),
|
||||
...coaches.map((c) => _buildPersonCard(context, c, isCoach: true)),
|
||||
const SizedBox(height: 30),
|
||||
],
|
||||
if (players.isNotEmpty) ...[
|
||||
_buildSectionTitle("Jogadores"),
|
||||
...players.map((p) => _buildPersonCard(context, p, isCoach: false)),
|
||||
],
|
||||
const SizedBox(height: 80),
|
||||
],
|
||||
),
|
||||
@@ -58,7 +73,6 @@ class TeamStatsPage extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
// CORREÇÃO: Adicionado BuildContext context como argumento
|
||||
Widget _buildPersonCard(BuildContext context, Person person, {required bool isCoach}) {
|
||||
return Card(
|
||||
margin: const EdgeInsets.only(top: 12),
|
||||
@@ -125,7 +139,4 @@ class TeamStatsPage extends StatelessWidget {
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class StatsController {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user