🐛 Fix error when went to publisher page from account page

This commit is contained in:
LittleSheep 2025-01-25 14:27:09 +08:00
parent cbd1eaf1af
commit 950612dc07
4 changed files with 19 additions and 12 deletions

View File

@ -260,7 +260,7 @@ class _AppSplashScreenState extends State<_AppSplashScreen> {
try { try {
final cfg = context.read<ConfigProvider>(); final cfg = context.read<ConfigProvider>();
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
cfg.calcDrawerSize(context); cfg.calcDrawerSize(context, withMediaQuery: true);
}); });
final home = context.read<HomeWidgetProvider>(); final home = context.read<HomeWidgetProvider>();
await home.initialize(); await home.initialize();

View File

@ -41,14 +41,22 @@ class ConfigProvider extends ChangeNotifier {
bool drawerIsCollapsed = false; bool drawerIsCollapsed = false;
bool drawerIsExpanded = false; bool drawerIsExpanded = false;
void calcDrawerSize(BuildContext context) { void calcDrawerSize(BuildContext context, {bool withMediaQuery = false}) {
final rpb = ResponsiveBreakpoints.of(context); bool newDrawerIsCollapsed = false;
final newDrawerIsCollapsed = rpb.smallerOrEqualTo(MOBILE); bool newDrawerIsExpanded = false;
final newDrawerIsExpanded = rpb.largerThan(TABLET) if (withMediaQuery) {
? (prefs.getBool(kAppDrawerPreferCollapse) ?? false) newDrawerIsCollapsed = MediaQuery.of(context).size.width < 450;
? false newDrawerIsExpanded = MediaQuery.of(context).size.width >= 451;
: true } else {
: false; 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) { if (newDrawerIsExpanded != drawerIsExpanded || newDrawerIsCollapsed != drawerIsCollapsed) {
drawerIsExpanded = newDrawerIsExpanded; drawerIsExpanded = newDrawerIsExpanded;
drawerIsCollapsed = newDrawerIsCollapsed; drawerIsCollapsed = newDrawerIsCollapsed;

View File

@ -596,7 +596,7 @@ class _UserScreenState extends State<UserScreen> with SingleTickerProviderStateM
subtitle: Text('@${ele.name}'), subtitle: Text('@${ele.name}'),
trailing: const Icon(Symbols.chevron_right), trailing: const Icon(Symbols.chevron_right),
onTap: () { onTap: () {
GoRouter.of(context).pushNamed( GoRouter.of(context).goNamed(
'postPublisher', 'postPublisher',
pathParameters: {'name': ele.name}, pathParameters: {'name': ele.name},
); );

View File

@ -7,12 +7,11 @@ import 'package:marquee/marquee.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:responsive_framework/responsive_framework.dart'; import 'package:responsive_framework/responsive_framework.dart';
import 'package:styled_widget/styled_widget.dart'; import 'package:styled_widget/styled_widget.dart';
import 'package:surface/providers/link_preview.dart';
import 'package:surface/types/link.dart'; import 'package:surface/types/link.dart';
import 'package:surface/widgets/universal_image.dart'; import 'package:surface/widgets/universal_image.dart';
import 'package:url_launcher/url_launcher_string.dart'; import 'package:url_launcher/url_launcher_string.dart';
import '../providers/link_preview.dart';
class LinkPreviewWidget extends StatefulWidget { class LinkPreviewWidget extends StatefulWidget {
final String text; final String text;