import 'package:flutter/material.dart'; import 'package:insparkspokalen_ui/models/teamModel.dart'; import 'createTeamsButton.dart'; import 'showTeams.dart'; import 'package:insparkspokalen_ui/services/teamService.dart'; import 'package:provider/provider.dart'; class TeamPage extends StatefulWidget { const TeamPage({super.key}); @override State createState() => TeamPageState(); } class TeamPageState extends State { late TeamService groupService; List groups = []; final TextEditingController _controller = TextEditingController(); final TextEditingController maxMembersController = TextEditingController(); @override void initState() { groupService = Provider.of(context, listen: false); // <-- Hämtar den injicerade instansen super.initState(); _loadGroups(); // Ladda grupper när sidan öppnas } Future _loadGroups() async { final result = await groupService.showTeams(); setState(() { groups = result; //isLoading = false; }); } // Öppna dialog för att skapa lag void _openDialog() { showDialog( context: context, builder: (_) => CreateTeamsButton( controller: _controller, onTeamCreated: (newGroup) { setState(() { groups.add(newGroup); }); }, ), ); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: const Color(0xFF2E2E2E), body: Column( children: [ const SizedBox(height: 32), const Text( 'Tillgängliga lag', style: TextStyle(color: Colors.amber, fontSize: 26), ), Expanded( child: ListView.builder( itemCount: groups.length, itemBuilder: (context, index) { final group = groups[index]; return TeamCard( group: group, onJoin: () { ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('Du gick med i ${group.name}')), ); }, ); }, ), ), ElevatedButton( onPressed: _openDialog, style: ElevatedButton.styleFrom( backgroundColor: Colors.grey, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(40), ), ), child: const Text( 'Skapa nytt lag', style: TextStyle(color: Colors.white), ), ), const SizedBox(height: 16), const Text( 'Studentkåren DISK', style: TextStyle(color: Colors.white70), ), ], ), ); } }