MIF_E31222389/lib/utils/wrapper.dart

48 lines
1.4 KiB
Dart

import 'dart:developer';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:permainan_kata_anak_sd/auth/login.dart';
import 'package:permainan_kata_anak_sd/auth/verification.dart';
import 'package:permainan_kata_anak_sd/landing_page.dart';
class Wrapper extends StatelessWidget {
const Wrapper({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (context, snapshot) {
log("wrapper");
if (snapshot.connectionState == ConnectionState.waiting) {
return const Center(
child: CircularProgressIndicator(),
);
} else if (snapshot.hasError) {
return const Center(
child: Text("Error"),
);
} else {
if (snapshot.data == null) {
return const LoginPage();
} else {
if (snapshot.data!.emailVerified == true) {
return LandingPage(
onStart: () {},
onStats: () {},
);
} else {
return VerificationPage(
user: snapshot.data!,
);
}
}
}
},
),
);
}
}