You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.6 KiB
79 lines
2.6 KiB
import 'package:flutter/material.dart';
|
|
import 'package:path_provider/path_provider.dart';
|
|
import 'dart:io';
|
|
|
|
import 'Views/ErreurPage.dart';
|
|
import 'Views/loginPage.dart';
|
|
|
|
class MyApp extends StatelessWidget {
|
|
const MyApp({Key? key}) : super(key: key);
|
|
|
|
static bool isRegisterOpen = false;
|
|
static DateTime? startDate;
|
|
static late String path;
|
|
|
|
static const Gradient primaryGradient = LinearGradient(
|
|
colors: [
|
|
Colors.white,
|
|
const Color.fromARGB(255, 4, 54, 95),
|
|
],
|
|
begin: Alignment.topLeft,
|
|
end: Alignment.bottomRight,
|
|
);
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: 'Flutter Demo',
|
|
debugShowCheckedModeBanner: false,
|
|
theme: ThemeData(
|
|
canvasColor: Colors.transparent,
|
|
),
|
|
home: Builder(
|
|
builder: (context) {
|
|
return FutureBuilder<bool>(
|
|
future:
|
|
checkLocalDatabasesExist(), // Appel à la fonction de vérification
|
|
builder: (context, snapshot) {
|
|
if (snapshot.connectionState == ConnectionState.waiting) {
|
|
// Affichez un indicateur de chargement si nécessaire
|
|
return const CircularProgressIndicator();
|
|
} else if (snapshot.hasError || !(snapshot.data ?? false)) {
|
|
// S'il y a une erreur ou si les bases de données n'existent pas
|
|
return ErreurPage(
|
|
dbPath:
|
|
path); // Redirigez vers la page d'erreur en affichant le chemin de la base de données
|
|
} else {
|
|
// Si les bases de données existent, affichez la page d'accueil normalement
|
|
return Container(
|
|
decoration: const BoxDecoration(
|
|
gradient: MyApp.primaryGradient,
|
|
),
|
|
child: const LoginPage(),
|
|
);
|
|
}
|
|
},
|
|
);
|
|
},
|
|
),
|
|
);
|
|
}
|
|
|
|
Future<bool> checkLocalDatabasesExist() async {
|
|
final documentsDirectory = await getApplicationDocumentsDirectory();
|
|
final dbPath = documentsDirectory.path;
|
|
path = dbPath;
|
|
|
|
// Vérifier si le fichier de base de données products2.db existe
|
|
final productsDBFile = File('$dbPath/products2.db');
|
|
final productsDBExists = await productsDBFile.exists();
|
|
|
|
// Vérifier si le fichier de base de données auth.db existe
|
|
final authDBFile = File('$dbPath/usersDb.db');
|
|
final authDBExists = await authDBFile.exists();
|
|
|
|
// Vérifier si d'autres bases de données nécessaires existent, le cas échéant
|
|
|
|
return productsDBExists && authDBExists;
|
|
}
|
|
}
|
|
|