mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-08 23:18:16 -07:00
[Feature] Replace go_router with auto_route
This commit is contained in:
parent
b31cc86ae8
commit
144c8faf70
42 changed files with 1181 additions and 980 deletions
|
|
@ -1,11 +1,10 @@
|
|||
import 'package:fladder/util/poster_defaults.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import 'package:fladder/routes/app_routes.dart';
|
||||
import 'package:fladder/routes/auto_router.dart';
|
||||
import 'package:fladder/util/poster_defaults.dart';
|
||||
|
||||
enum LayoutState {
|
||||
phone,
|
||||
|
|
@ -65,8 +64,9 @@ class AdaptiveLayout extends InheritedWidget {
|
|||
final InputDevice inputDevice;
|
||||
final TargetPlatform platform;
|
||||
final bool isDesktop;
|
||||
final GoRouter router;
|
||||
final AutoRouter router;
|
||||
final PosterDefaults posterDefaults;
|
||||
final ScrollController controller;
|
||||
|
||||
const AdaptiveLayout({
|
||||
super.key,
|
||||
|
|
@ -77,6 +77,7 @@ class AdaptiveLayout extends InheritedWidget {
|
|||
required this.isDesktop,
|
||||
required this.router,
|
||||
required this.posterDefaults,
|
||||
required this.controller,
|
||||
required super.child,
|
||||
});
|
||||
|
||||
|
|
@ -94,7 +95,7 @@ class AdaptiveLayout extends InheritedWidget {
|
|||
return result!.posterDefaults;
|
||||
}
|
||||
|
||||
static GoRouter routerOf(BuildContext context) {
|
||||
static AutoRouter routerOf(BuildContext context) {
|
||||
final AdaptiveLayout? result = maybeOf(context);
|
||||
return result!.router;
|
||||
}
|
||||
|
|
@ -104,6 +105,11 @@ class AdaptiveLayout extends InheritedWidget {
|
|||
return result!;
|
||||
}
|
||||
|
||||
static ScrollController scrollOf(BuildContext context) {
|
||||
final AdaptiveLayout? result = maybeOf(context);
|
||||
return result!.controller;
|
||||
}
|
||||
|
||||
@override
|
||||
bool updateShouldNotify(AdaptiveLayout oldWidget) {
|
||||
return layout != oldWidget.layout ||
|
||||
|
|
@ -128,8 +134,9 @@ class AdaptiveLayoutBuilder extends ConsumerStatefulWidget {
|
|||
class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> {
|
||||
late LayoutState layout = widget.fallBack;
|
||||
late ScreenLayout size = ScreenLayout.single;
|
||||
late GoRouter router = AppRoutes.routes(ref: ref, screenLayout: size);
|
||||
late AutoRouter router = AutoRouter(layout: size, ref: ref);
|
||||
late TargetPlatform currentPlatform = defaultTargetPlatform;
|
||||
late ScrollController controller = ScrollController();
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
|
|
@ -169,7 +176,7 @@ class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> {
|
|||
}
|
||||
if (size != newSize) {
|
||||
size = newSize;
|
||||
router = AppRoutes.routes(ref: ref, screenLayout: size);
|
||||
router = AutoRouter(layout: size, ref: ref);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -177,6 +184,7 @@ class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> {
|
|||
Widget build(BuildContext context) {
|
||||
return AdaptiveLayout(
|
||||
layout: layout,
|
||||
controller: controller,
|
||||
size: size,
|
||||
inputDevice: (isDesktop || kIsWeb) ? InputDevice.pointer : InputDevice.touch,
|
||||
platform: currentPlatform,
|
||||
|
|
@ -191,3 +199,10 @@ class _AdaptiveLayoutBuilderState extends ConsumerState<AdaptiveLayoutBuilder> {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
double? get topPadding {
|
||||
return switch (defaultTargetPlatform) {
|
||||
TargetPlatform.linux || TargetPlatform.windows || TargetPlatform.macOS => 35,
|
||||
_ => null
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue