♻️ Refactor the bottom nav display

This commit is contained in:
2025-10-01 16:35:41 +08:00
parent ac2951479b
commit 3bfc0b8181
12 changed files with 47 additions and 103 deletions

View File

@@ -4,7 +4,6 @@ import 'package:gap/gap.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/pods/network.dart';
import 'package:island/screens/account/me/settings_connections.dart';
import 'package:island/services/responsive.dart';
import 'package:island/widgets/alert.dart';
import 'package:island/widgets/content/sheet.dart';
import 'package:easy_localization/easy_localization.dart';
@@ -50,7 +49,6 @@ class RestorePurchaseSheet extends HookConsumerWidget {
return SheetScaffold(
titleText: 'restorePurchase'.tr(),
child: SingleChildScrollView(
padding: getTabbedPadding(context),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [

View File

@@ -10,6 +10,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/pods/config.dart';
import 'package:island/pods/userinfo.dart';
import 'package:island/pods/websocket.dart';
import 'package:island/screens/tabs.dart';
import 'package:island/services/responsive.dart';
import 'package:material_symbols_icons/material_symbols_icons.dart';
import 'package:path_provider/path_provider.dart';
@@ -292,7 +293,7 @@ class AppScaffold extends HookConsumerWidget {
endDrawer: endDrawer,
floatingActionButton: floatingActionButton,
floatingActionButtonAnimator: floatingActionButtonAnimator,
floatingActionButtonLocation: floatingActionButtonLocation,
floatingActionButtonLocation: TabbedFabLocation(context),
onDrawerChanged: onDrawerChanged,
onEndDrawerChanged: onEndDrawerChanged,
),

View File

@@ -5,6 +5,7 @@ import 'package:island/models/file.dart';
import 'package:island/models/post.dart';
import 'package:island/screens/posts/compose.dart';
import 'package:island/services/compose_storage_db.dart';
import 'package:island/services/responsive.dart';
import 'package:island/widgets/post/compose_card.dart';
/// A dialog that wraps PostComposeCard for easy use in dialogs.
@@ -36,6 +37,7 @@ class PostComposeDialog extends HookConsumerWidget {
final drafts = ref.watch(composeStorageNotifierProvider);
final restoredInitialState = useState<PostComposeInitialState?>(null);
final prompted = useState(false);
final isWide = isWideScreen(context);
useEffect(() {
if (!prompted.value && originalPost == null && drafts.isNotEmpty) {
@@ -48,9 +50,12 @@ class PostComposeDialog extends HookConsumerWidget {
}, [drafts, prompted.value]);
return Dialog(
insetPadding: const EdgeInsets.all(16),
insetPadding: isWide ? const EdgeInsets.all(16) : EdgeInsets.zero,
child: ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 600, maxHeight: 700),
constraints:
isWide
? const BoxConstraints(maxWidth: 600)
: const BoxConstraints.expand(),
child: PostComposeCard(
originalPost: originalPost,
initialState: restoredInitialState.value ?? initialState,