mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Add single page viewer
This commit is contained in:
@@ -19,6 +19,7 @@ import 'logs/file.dart';
|
||||
import 'set_server.dart';
|
||||
import 'settings.dart';
|
||||
import 'utils.dart';
|
||||
import 'viewer/single.dart';
|
||||
|
||||
final _routerLog = Logger("Router");
|
||||
|
||||
@@ -83,7 +84,7 @@ final _router = GoRouter(
|
||||
return null;
|
||||
} catch (e) {
|
||||
_routerLog.warning("Failed to parse gid:", e);
|
||||
return "/";
|
||||
return "/gallery";
|
||||
}
|
||||
}),
|
||||
GoRoute(
|
||||
@@ -106,6 +107,33 @@ final _router = GoRouter(
|
||||
return "/";
|
||||
}
|
||||
}),
|
||||
GoRoute(
|
||||
path: SinglePageViewer.routeName,
|
||||
builder: (context, state) {
|
||||
final extra = state.extra as SinglePageViewerExtra?;
|
||||
return SinglePageViewer(
|
||||
gid: int.parse(state.pathParameters["gid"]!),
|
||||
index: int.parse(state.pathParameters["index"]!),
|
||||
key: state.pageKey,
|
||||
data: extra?.data,
|
||||
files: extra?.files,
|
||||
);
|
||||
},
|
||||
redirect: (context, state) {
|
||||
try {
|
||||
int.parse(state.pathParameters["gid"]!);
|
||||
} catch (e) {
|
||||
_routerLog.warning("Failed to parse gid:", e);
|
||||
return "/gallery";
|
||||
}
|
||||
try {
|
||||
int.parse(state.pathParameters["index"]!);
|
||||
return null;
|
||||
} catch (e) {
|
||||
_routerLog.warning("Failed to parse index:", e);
|
||||
return "/gallery/${state.pathParameters["gid"]}";
|
||||
}
|
||||
}),
|
||||
],
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user