import 'package:flutter/material.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:playmaker/controllers/team_controllers.dart'; import '../models/team_model.dart'; import '../widgets/team_widgets.dart'; class TeamsPage extends StatelessWidget { const TeamsPage({super.key}); @override Widget build(BuildContext context) { // Instância única do controlador para esta página final TeamController controller = TeamController(); return Scaffold( body: StreamBuilder( stream: controller.teamsStream, builder: (context, snapshot) { if (snapshot.hasError) return const Center(child: Text('Erro ao carregar')); if (snapshot.connectionState == ConnectionState.waiting) { return const Center(child: CircularProgressIndicator()); } final docs = snapshot.data!.docs; if (docs.isEmpty) return const Center(child: Text('Nenhuma equipa criada.')); return ListView.builder( padding: const EdgeInsets.all(16), itemCount: docs.length, itemBuilder: (context, index) { final team = Team.fromFirestore( docs[index].data() as Map, docs[index].id ); // CORREÇÃO 1: Passar o team E o controller para o Card return TeamCard(team: team, controller: controller); }, ); }, ), floatingActionButton: FloatingActionButton( backgroundColor: const Color(0xFFE74C3C), child: const Icon(Icons.add, color: Colors.white), onPressed: () { showDialog( context: context, builder: (context) => CreateTeamDialog( // CORREÇÃO 2: Receber os 3 parâmetros do formulário onConfirm: (name, season, imageUrl) { // Passar os 3 para a função do controlador controller.createTeam(name, season, imageUrl); }, ), ); }, ), ); } }