From a3e067776ebd620c48f01a56880b84625f33e7bb Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Mon, 3 Mar 2025 13:57:19 -0800 Subject: [PATCH] Splash Screen test --- {{cookiecutter.out_dir}}/lib/main.dart | 37 +++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.out_dir}}/lib/main.dart b/{{cookiecutter.out_dir}}/lib/main.dart index dd1c379..e60ad75 100644 --- a/{{cookiecutter.out_dir}}/lib/main.dart +++ b/{{cookiecutter.out_dir}}/lib/main.dart @@ -14,6 +14,13 @@ import 'package:window_manager/window_manager.dart'; import "python.dart"; +/* +{% import "_macros.jinja2" as macros %} + +{% set splash_screen = macros.get_value(cookiecutter.pyproject, "tool.flet.splash_screen") | default(True, true) %} +{% set splash_screen_text = macros.get_value(cookiecutter.pyproject, "tool.flet.splash_screen_text") | trim %} +*/ + {% for dep in cookiecutter.flutter.dependencies %} import 'package:{{ dep }}/{{ dep }}.dart' as {{ dep }}; {% endfor %} @@ -83,7 +90,7 @@ void main(List args) async { text: snapshot.error.toString())); } else { // loading - return const MaterialApp(home: BlankScreen()); + return const MaterialApp(home: {% if splash_screen "BlankScreen()" else "SplashScreen()" %}); } })); } @@ -294,6 +301,34 @@ class ErrorScreen extends StatelessWidget { } } +class SplashScreen extends StatelessWidget { + const SplashScreen({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return const Scaffold( + body: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + SizedBox( + width: 24, + height: 24, + child: CircularProgressIndicator(strokeWidth: 3), + ), + SizedBox( + height: 12, + ), + Text("Getting things ready…") + ], + ), + ), + ); + } +} + class BlankScreen extends StatelessWidget { const BlankScreen({ super.key,