♻️ Fab menu overhaul
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
@@ -9,6 +10,7 @@ import 'package:island/widgets/alert.dart';
|
||||
import 'package:island/widgets/app_scaffold.dart';
|
||||
import 'package:island/widgets/content/cloud_files.dart';
|
||||
import 'package:island/widgets/content/sheet.dart';
|
||||
import 'package:island/widgets/navigation/fab_menu.dart';
|
||||
import 'package:island/widgets/response.dart';
|
||||
import 'package:material_symbols_icons/symbols.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
@@ -41,6 +43,20 @@ class RealmListScreen extends HookConsumerWidget {
|
||||
final realms = ref.watch(realmsJoinedProvider);
|
||||
final realmInvites = ref.watch(realmInvitesProvider);
|
||||
|
||||
useEffect(() {
|
||||
// Set FAB type to realm
|
||||
final fabMenuNotifier = ref.read(fabMenuTypeProvider.notifier);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
fabMenuNotifier.state = FabMenuType.realm;
|
||||
});
|
||||
return () {
|
||||
// Clean up: reset FAB type to main
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
fabMenuNotifier.state = FabMenuType.main;
|
||||
});
|
||||
};
|
||||
}, []);
|
||||
|
||||
return AppScaffold(
|
||||
isNoBackground: false,
|
||||
appBar: AppBar(
|
||||
@@ -78,17 +94,7 @@ class RealmListScreen extends HookConsumerWidget {
|
||||
const Gap(8),
|
||||
],
|
||||
),
|
||||
floatingActionButton: FloatingActionButton(
|
||||
heroTag: const Key("realms-page-fab"),
|
||||
child: const Icon(Symbols.add),
|
||||
onPressed: () {
|
||||
context.pushNamed('realmNew').then((value) {
|
||||
if (value != null) {
|
||||
ref.invalidate(realmsJoinedProvider);
|
||||
}
|
||||
});
|
||||
},
|
||||
),
|
||||
floatingActionButton: const FabMenu(),
|
||||
body: ExtendedRefreshIndicator(
|
||||
child: realms.when(
|
||||
data:
|
||||
|
||||
Reference in New Issue
Block a user