fix: Disabling switching router layouts after setting (#191)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2024-12-27 14:37:46 +01:00 committed by GitHub
parent c845184c53
commit 473e817e0f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -137,7 +137,7 @@ class AdaptiveLayoutBuilder extends ConsumerStatefulWidget {
class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> { class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> {
late LayoutState layout = widget.fallBack; late LayoutState layout = widget.fallBack;
late ScreenLayout size = ScreenLayout.single; late ScreenLayout size = ScreenLayout.single;
late AutoRouter router = AutoRouter(layout: size, ref: ref); AutoRouter? router;
late TargetPlatform currentPlatform = defaultTargetPlatform; late TargetPlatform currentPlatform = defaultTargetPlatform;
late ScrollController controller = ScrollController(); late ScrollController controller = ScrollController();
@ -177,10 +177,7 @@ class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> {
} else { } else {
newSize = ScreenLayout.dual; newSize = ScreenLayout.dual;
} }
if (size != newSize) { size = newSize;
size = newSize;
router = AutoRouter(layout: size, ref: ref);
}
} }
@override @override
@ -197,7 +194,7 @@ class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> {
inputDevice: (isDesktop || kIsWeb) ? InputDevice.pointer : InputDevice.touch, inputDevice: (isDesktop || kIsWeb) ? InputDevice.pointer : InputDevice.touch,
platform: currentPlatform, platform: currentPlatform,
isDesktop: isDesktop, isDesktop: isDesktop,
router: router, router: router ??= AutoRouter(layout: size, ref: ref),
posterDefaults: switch (layout) { posterDefaults: switch (layout) {
LayoutState.phone => const PosterDefaults(size: 300, ratio: 0.55), LayoutState.phone => const PosterDefaults(size: 300, ratio: 0.55),
LayoutState.tablet => const PosterDefaults(size: 350, ratio: 0.55), LayoutState.tablet => const PosterDefaults(size: 350, ratio: 0.55),