pharmacy_mobile/lib/auth/auth_gate.dart
2025-02-14 17:12:46 +08:00

34 lines
1,020 B
Dart

import 'package:flutter/material.dart';
import 'package:pharmacy_mobile/pages/index_page.dart';
import 'package:pharmacy_mobile/pages/login_page.dart';
import 'package:pharmacy_mobile/pages/main_page.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
class AuthGate extends StatelessWidget {
const AuthGate({super.key});
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: Supabase.instance.client.auth.onAuthStateChange,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Scaffold(
body: Center(
child: CircularProgressIndicator(
color: Colors.green,
),
),
);
}
final session = snapshot.hasData ? snapshot.data!.session : null;
if (session != null) {
return MainPage();
} else {
return IndexPage();
}
});
}
}