From 950612dc07b285c7c47cfcf9ca2166b28f1651f0 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sat, 25 Jan 2025 14:27:09 +0800 Subject: [PATCH] :bug: Fix error when went to publisher page from account page --- lib/main.dart | 2 +- lib/providers/config.dart | 24 ++++++++++++++++-------- lib/screens/account/profile_page.dart | 2 +- lib/widgets/link_preview.dart | 3 +-- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index d89d8f8..9e40b7b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -260,7 +260,7 @@ class _AppSplashScreenState extends State<_AppSplashScreen> { try { final cfg = context.read(); WidgetsBinding.instance.addPostFrameCallback((_) { - cfg.calcDrawerSize(context); + cfg.calcDrawerSize(context, withMediaQuery: true); }); final home = context.read(); await home.initialize(); diff --git a/lib/providers/config.dart b/lib/providers/config.dart index 0a888b2..4e940d4 100644 --- a/lib/providers/config.dart +++ b/lib/providers/config.dart @@ -41,14 +41,22 @@ class ConfigProvider extends ChangeNotifier { bool drawerIsCollapsed = false; bool drawerIsExpanded = false; - void calcDrawerSize(BuildContext context) { - final rpb = ResponsiveBreakpoints.of(context); - final newDrawerIsCollapsed = rpb.smallerOrEqualTo(MOBILE); - final newDrawerIsExpanded = rpb.largerThan(TABLET) - ? (prefs.getBool(kAppDrawerPreferCollapse) ?? false) - ? false - : true - : false; + void calcDrawerSize(BuildContext context, {bool withMediaQuery = false}) { + bool newDrawerIsCollapsed = false; + bool newDrawerIsExpanded = false; + if (withMediaQuery) { + newDrawerIsCollapsed = MediaQuery.of(context).size.width < 450; + newDrawerIsExpanded = MediaQuery.of(context).size.width >= 451; + } else { + final rpb = ResponsiveBreakpoints.of(context); + newDrawerIsCollapsed = rpb.smallerOrEqualTo(MOBILE); + newDrawerIsCollapsed = rpb.largerThan(TABLET) + ? (prefs.getBool(kAppDrawerPreferCollapse) ?? false) + ? false + : true + : false; + } + if (newDrawerIsExpanded != drawerIsExpanded || newDrawerIsCollapsed != drawerIsCollapsed) { drawerIsExpanded = newDrawerIsExpanded; drawerIsCollapsed = newDrawerIsCollapsed; diff --git a/lib/screens/account/profile_page.dart b/lib/screens/account/profile_page.dart index 360491b..59842af 100644 --- a/lib/screens/account/profile_page.dart +++ b/lib/screens/account/profile_page.dart @@ -596,7 +596,7 @@ class _UserScreenState extends State with SingleTickerProviderStateM subtitle: Text('@${ele.name}'), trailing: const Icon(Symbols.chevron_right), onTap: () { - GoRouter.of(context).pushNamed( + GoRouter.of(context).goNamed( 'postPublisher', pathParameters: {'name': ele.name}, ); diff --git a/lib/widgets/link_preview.dart b/lib/widgets/link_preview.dart index 735df27..f76c635 100644 --- a/lib/widgets/link_preview.dart +++ b/lib/widgets/link_preview.dart @@ -7,12 +7,11 @@ import 'package:marquee/marquee.dart'; import 'package:provider/provider.dart'; import 'package:responsive_framework/responsive_framework.dart'; import 'package:styled_widget/styled_widget.dart'; +import 'package:surface/providers/link_preview.dart'; import 'package:surface/types/link.dart'; import 'package:surface/widgets/universal_image.dart'; import 'package:url_launcher/url_launcher_string.dart'; -import '../providers/link_preview.dart'; - class LinkPreviewWidget extends StatefulWidget { final String text;