import 'package:flutter/material.dart'; import 'package:mymuseum_visitapp/Components/loading_common.dart'; import 'package:mymuseum_visitapp/Helpers/instanceImages.dart'; import 'package:mymuseum_visitapp/constants.dart'; class SplashScreen extends StatelessWidget { const SplashScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: kSplashBackground, // Le splash s'affiche pendant le boot, avant tout appel API : il ne peut // lire que ce qu'un lancement précédent a mis en cache. Au tout premier // démarrage, le logo retombe donc sur l'image du flavor. body: FutureBuilder( future: InstanceImages.restore(), builder: (context, _) { return Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ ClipRRect( borderRadius: BorderRadius.circular(32), child: InstanceImages.main != null ? Image.file(InstanceImages.main!, width: 160, height: 160, fit: BoxFit.contain) : Image.asset( kSplashLogoAsset, width: 160, height: 160, fit: BoxFit.contain, errorBuilder: (_, __, ___) => const Icon( Icons.museum_outlined, size: 100, color: kMainColor1, ), ), ), const SizedBox(height: 24), const Text( kAppTitle, style: TextStyle( color: Colors.white, fontSize: 18, fontWeight: FontWeight.w600), ), const SizedBox(height: 40), RotatingLoader(file: InstanceImages.loader, size: 64), ], ), ); }, ), ); } }