feat: redirect agents to profile on login, update UI layouts, and add analytics dependencies.
This commit is contained in:
@@ -1,18 +1,20 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:real_estate_mobile/core/constants/app_colors.dart';
|
||||
import 'package:real_estate_mobile/features/auth/presentation/providers/auth_provider.dart';
|
||||
|
||||
class SplashScreen extends StatefulWidget {
|
||||
class SplashScreen extends ConsumerStatefulWidget {
|
||||
const SplashScreen({super.key});
|
||||
|
||||
@override
|
||||
State<SplashScreen> createState() => _SplashScreenState();
|
||||
ConsumerState<SplashScreen> createState() => _SplashScreenState();
|
||||
}
|
||||
|
||||
class _SplashScreenState extends State<SplashScreen>
|
||||
class _SplashScreenState extends ConsumerState<SplashScreen>
|
||||
with SingleTickerProviderStateMixin {
|
||||
late final AnimationController _controller;
|
||||
late final Animation<double> _fadeAnimation;
|
||||
@@ -43,11 +45,15 @@ class _SplashScreenState extends State<SplashScreen>
|
||||
final onboardingCompleted = prefs.getBool('onboarding_completed') ?? false;
|
||||
|
||||
if (!mounted) return;
|
||||
if (onboardingCompleted) {
|
||||
context.go('/home');
|
||||
} else {
|
||||
if (!onboardingCompleted) {
|
||||
context.go('/onboarding');
|
||||
return;
|
||||
}
|
||||
// Agents land on /profile (Edit Profile tab); everyone else on /home.
|
||||
final authState = ref.read(authProvider);
|
||||
final isAgent = authState.status == AuthStatus.authenticated &&
|
||||
authState.user?.role == 'AGENT';
|
||||
context.go(isAgent ? '/profile' : '/home');
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user