mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 15:53:32 +00:00
Merge branch 'notifications-refresh-refactor' into 'main'
Notifications refresh refactoring See merge request mysocialportal/relatica!51
This commit is contained in:
commit
e1781bd468
2 changed files with 37 additions and 11 deletions
|
@ -11,9 +11,13 @@ final getIt = GetIt.instance;
|
||||||
|
|
||||||
String randomId() => const Uuid().v4().toString();
|
String randomId() => const Uuid().v4().toString();
|
||||||
|
|
||||||
final platformHasCamera = Platform.isIOS || Platform.isAndroid;
|
final platformIsMobile = Platform.isIOS || Platform.isAndroid;
|
||||||
|
|
||||||
final useImagePicker = kIsWeb || Platform.isAndroid || Platform.isIOS;
|
final platformHasCamera = platformIsMobile;
|
||||||
|
|
||||||
|
final platformIsDesktop = !platformIsMobile;
|
||||||
|
|
||||||
|
final useImagePicker = kIsWeb || platformIsMobile;
|
||||||
|
|
||||||
const usePhpDebugging = false;
|
const usePhpDebugging = false;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,9 @@ import 'package:logging/logging.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import '../controls/app_bottom_nav_bar.dart';
|
import '../controls/app_bottom_nav_bar.dart';
|
||||||
|
import '../controls/linear_status_indicator.dart';
|
||||||
import '../controls/notifications_control.dart';
|
import '../controls/notifications_control.dart';
|
||||||
|
import '../controls/padding.dart';
|
||||||
import '../controls/responsive_max_width.dart';
|
import '../controls/responsive_max_width.dart';
|
||||||
import '../controls/standard_app_drawer.dart';
|
import '../controls/standard_app_drawer.dart';
|
||||||
import '../controls/standard_appbar.dart';
|
import '../controls/standard_appbar.dart';
|
||||||
|
@ -36,6 +38,7 @@ class NotificationsScreen extends StatelessWidget {
|
||||||
managerResult.match(onSuccess: (manager) {
|
managerResult.match(onSuccess: (manager) {
|
||||||
final notifications = manager.notifications;
|
final notifications = manager.notifications;
|
||||||
actions = [
|
actions = [
|
||||||
|
if (platformIsDesktop)
|
||||||
StatusAndRefreshButton(
|
StatusAndRefreshButton(
|
||||||
valueListenable: nss.notificationsUpdateStatus,
|
valueListenable: nss.notificationsUpdateStatus,
|
||||||
refreshFunction: () async => update(manager),
|
refreshFunction: () async => update(manager),
|
||||||
|
@ -52,10 +55,20 @@ class NotificationsScreen extends StatelessWidget {
|
||||||
update(manager);
|
update(manager);
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
child: const Center(
|
child: Center(
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
Center(child: Text('No notifications')),
|
children: nss.notificationsUpdateStatus.value
|
||||||
|
? [
|
||||||
|
const Center(child: Text('Loading Notifications')),
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
const Center(child: Text('No notifications')),
|
||||||
|
const VerticalPadding(),
|
||||||
|
ElevatedButton(
|
||||||
|
onPressed: () => update(manager),
|
||||||
|
child: const Text('Load Notifications'),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
);
|
);
|
||||||
|
@ -131,7 +144,16 @@ class NotificationsScreen extends StatelessWidget {
|
||||||
actions: actions,
|
actions: actions,
|
||||||
),
|
),
|
||||||
drawer: const StandardAppDrawer(),
|
drawer: const StandardAppDrawer(),
|
||||||
body: body,
|
body: Center(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
StandardLinearProgressIndicator(nss.notificationsUpdateStatus),
|
||||||
|
Expanded(
|
||||||
|
child: ResponsiveMaxWidth(child: body),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
bottomNavigationBar: const AppBottomNavBar(
|
bottomNavigationBar: const AppBottomNavBar(
|
||||||
currentButton: NavBarButtons.notifications,
|
currentButton: NavBarButtons.notifications,
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in a new issue