diff --git a/assets/info-logo.png b/assets/info-logo.png new file mode 100644 index 00000000..5971387c Binary files /dev/null and b/assets/info-logo.png differ diff --git a/lib/pages/views/empty_page_view.dart b/lib/pages/views/empty_page_view.dart index 46d634a9..38b104fb 100644 --- a/lib/pages/views/empty_page_view.dart +++ b/lib/pages/views/empty_page_view.dart @@ -1,12 +1,36 @@ +import 'dart:math'; + import 'package:flutter/material.dart'; class EmptyPage extends StatelessWidget { - const EmptyPage({Key key}) : super(key: key); + final bool loading; + static const double _width = 200; + const EmptyPage({this.loading = false, Key key}) : super(key: key); @override Widget build(BuildContext context) { + final _width = min(MediaQuery.of(context).size.width, EmptyPage._width); return Scaffold( - body: Center( - child: Image.asset('assets/favicon.png', width: 100, height: 100), + body: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Center( + child: Hero( + tag: 'info-logo', + child: Image.asset( + 'assets/info-logo.png', + width: _width, + height: _width, + ), + ), + ), + if (loading) + Center( + child: SizedBox( + width: _width, + child: LinearProgressIndicator(), + ), + ), + ], ), ); } diff --git a/lib/widgets/layouts/loading_view.dart b/lib/widgets/layouts/loading_view.dart index de3ca8cb..117d69ef 100644 --- a/lib/widgets/layouts/loading_view.dart +++ b/lib/widgets/layouts/loading_view.dart @@ -1,3 +1,4 @@ +import 'package:fluffychat/pages/views/empty_page_view.dart'; import 'package:matrix/matrix.dart'; import 'package:vrouter/vrouter.dart'; import 'package:fluffychat/widgets/matrix.dart'; @@ -16,6 +17,6 @@ class LoadingView extends StatelessWidget { ), ); } - return Scaffold(body: Center(child: CircularProgressIndicator())); + return EmptyPage(loading: true); } } diff --git a/lib/widgets/layouts/wait_for_login.dart b/lib/widgets/layouts/wait_for_login.dart index 635f8f26..29a42f84 100644 --- a/lib/widgets/layouts/wait_for_login.dart +++ b/lib/widgets/layouts/wait_for_login.dart @@ -1,3 +1,4 @@ +import 'package:fluffychat/pages/views/empty_page_view.dart'; import 'package:matrix/matrix.dart'; import 'package:flutter/material.dart'; @@ -14,7 +15,7 @@ class WaitForInitPage extends StatelessWidget { stream: Matrix.of(context).client.onLoginStateChanged.stream, builder: (context, snapshot) { if (!snapshot.hasData) { - return Scaffold(body: Center(child: CircularProgressIndicator())); + return EmptyPage(loading: true); } return page; });