34 lines
1,020 B
Dart
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();
|
|
}
|
|
});
|
|
}
|
|
}
|