58 lines
2.0 KiB
Dart
58 lines
2.0 KiB
Dart
/*import 'package:flutter/material.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(
|
|
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<String, dynamic>,
|
|
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);
|
|
},
|
|
),
|
|
);
|
|
},
|
|
),
|
|
);
|
|
}
|
|
}*/ |