Update: 2026-05-07 13:47:48

This commit is contained in:
Hamza-Ayed
2026-05-07 13:47:48 +03:00
parent b8d9b3343e
commit f7aee80553
54 changed files with 714 additions and 53 deletions

View File

@@ -14,6 +14,8 @@ import '../../features/settings/controllers/settings_controller.dart';
import '../../features/subscription/views/subscription_view.dart';
import '../../features/subscription/views/payment_receipt_view.dart';
import '../../features/invoices/views/invoice_detail_view.dart';
import '../../features/onboarding/views/onboarding_view.dart';
import '../../features/onboarding/controllers/onboarding_controller.dart';
import '../../core/storage/secure_storage.dart';
part 'app_routes.dart';
@@ -32,18 +34,32 @@ class AppPages {
// User is already logged in, request Biometric unlock before dashboard
Get.offAllNamed(AppRoutes.BIOMETRIC_AUTH);
} else {
// New user, go to login
Get.offAllNamed(AppRoutes.PHONE_INPUT);
// Check if user has seen onboarding
final hasSeenOnboarding =
await SecureStorage().read('has_seen_onboarding');
if (hasSeenOnboarding == 'true') {
Get.offAllNamed(AppRoutes.PHONE_INPUT);
} else {
Get.offAllNamed(AppRoutes.ONBOARDING);
}
}
});
return const Scaffold(
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.security, size: 100, color: Color(0xFF0F4C81)),
SizedBox(height: 24),
CircularProgressIndicator(),
Image.asset(
'assets/images/logo.jpg',
height: 120,
errorBuilder: (context, error, stackTrace) => const Icon(
Icons.security,
size: 100,
color: Color(0xFF0F4C81),
),
),
const SizedBox(height: 24),
const CircularProgressIndicator(),
],
),
),
@@ -105,5 +121,12 @@ class AppPages {
name: AppRoutes.INVOICE_DETAIL,
page: () => const InvoiceDetailView(),
),
GetPage(
name: AppRoutes.ONBOARDING,
page: () => const OnboardingView(),
binding: BindingsBuilder(() {
Get.put(OnboardingController());
}),
),
];
}

View File

@@ -16,4 +16,5 @@ abstract class AppRoutes {
static const SUBSCRIPTION = '/subscription';
static const PAYMENT_RECEIPT = '/payment-receipt';
static const INVOICE_DETAIL = '/invoice-detail';
static const ONBOARDING = '/onboarding';
}