espero que nao presisse mudar.

This commit is contained in:
2026-06-11 09:52:06 +01:00
parent 947e119dba
commit 29e887cb14
4 changed files with 128 additions and 68 deletions

View File

@@ -1,8 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; // Para as orientações
import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:playmaker/classe/theme.dart';
import 'package:playmaker/classe/theme.dart';
import 'pages/login.dart';
import 'utils/session_manager.dart';
// Variável global para controlar o Tema
final ValueNotifier<ThemeMode> themeNotifier = ValueNotifier(ThemeMode.system);
@@ -25,9 +26,41 @@ void main() async {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) async {
super.didChangeAppLifecycleState(state);
// Quando a app for para background/terminar, se houver sessão em progresso, desliga a sessão
if (state == AppLifecycleState.paused || state == AppLifecycleState.detached) {
final inProgress = await SessionManager.isInProgress();
if (inProgress) {
try {
await Supabase.instance.client.auth.signOut();
await SessionManager.clear();
} catch (_) {}
}
}
}
@override
Widget build(BuildContext context) {
return ValueListenableBuilder<ThemeMode>(