Browse Source

neon: refactor page loading

pull/390/head
Nikolas Rimikis 2 years ago
parent
commit
5779b2e079
No known key found for this signature in database
GPG Key ID: 85ED1DE9786A4FF2
  1. 1
      packages/neon/neon/lib/neon.dart
  2. 33
      packages/neon/neon/lib/src/pages/home.dart
  3. 16
      packages/neon/neon/lib/src/pages/no_apps.dart

1
packages/neon/neon/lib/neon.dart

@ -24,6 +24,7 @@ import 'package:neon/l10n/localizations.dart';
import 'package:neon/src/blocs/blocs.dart'; import 'package:neon/src/blocs/blocs.dart';
import 'package:neon/src/models/account.dart'; import 'package:neon/src/models/account.dart';
import 'package:neon/src/models/push_notification.dart'; import 'package:neon/src/models/push_notification.dart';
import 'package:neon/src/pages/no_apps.dart';
import 'package:neon/src/router.dart'; import 'package:neon/src/router.dart';
import 'package:neon/src/widgets/drawer.dart'; import 'package:neon/src/widgets/drawer.dart';
import 'package:neon/src/widgets/drawer_destination.dart'; import 'package:neon/src/widgets/drawer_destination.dart';

33
packages/neon/neon/lib/src/pages/home.dart

@ -277,28 +277,17 @@ class _HomePageState extends State<HomePage> {
); );
Widget body = Builder( Widget body = Builder(
builder: (final context) => Column( builder: (final context) {
children: [ if (appImplementations.data == null) {
if (appImplementations.data != null) ...[ return const SizedBox.shrink();
if (appImplementations.data!.isEmpty) ...[ }
Expanded(
child: Center( if (appImplementations.data!.isEmpty) {
child: Text( return const NoAppsPage();
AppLocalizations.of(context).errorNoCompatibleNextcloudAppsFound, }
textAlign: TextAlign.center,
), return appImplementations.data!.find(activeAppIDSnapshot.data!)!.page;
), },
),
] else ...[
if (activeAppIDSnapshot.hasData) ...[
Expanded(
child: appImplementations.data!.find(activeAppIDSnapshot.data!)!.page,
),
],
],
],
],
),
); );
body = MultiProvider( body = MultiProvider(

16
packages/neon/neon/lib/src/pages/no_apps.dart

@ -0,0 +1,16 @@
import 'package:flutter/material.dart';
import 'package:meta/meta.dart';
import 'package:neon/l10n/localizations.dart';
@internal
class NoAppsPage extends StatelessWidget {
const NoAppsPage({super.key});
@override
Widget build(final BuildContext context) => Center(
child: Text(
AppLocalizations.of(context).errorNoCompatibleNextcloudAppsFound,
textAlign: TextAlign.center,
),
);
}
Loading…
Cancel
Save