opt.: routes
This commit is contained in:
@@ -35,7 +35,7 @@ final class _AppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||
@override
|
||||
Size get preferredSize {
|
||||
final height = switch (Pfs.type) {
|
||||
Pfs.macos => paddingTop + (CustomAppBar.sysStatusBarHeight ?? 0),
|
||||
Pfs.macos => paddingTop + CustomAppBar.sysStatusBarHeight,
|
||||
_ => paddingTop,
|
||||
};
|
||||
return Size.fromHeight(height);
|
||||
|
||||
@@ -4,12 +4,24 @@ import 'package:server_box/core/extension/context/locale.dart';
|
||||
import 'package:server_box/core/route.dart';
|
||||
import 'package:server_box/data/model/server/server_private_info.dart';
|
||||
|
||||
class IPerfPage extends StatefulWidget {
|
||||
final class IPerfPageArgs {
|
||||
final Spi spi;
|
||||
const IPerfPage({super.key, required this.spi});
|
||||
|
||||
const IPerfPageArgs({required this.spi});
|
||||
}
|
||||
|
||||
class IPerfPage extends StatefulWidget {
|
||||
final IPerfPageArgs args;
|
||||
|
||||
const IPerfPage({super.key, required this.args});
|
||||
|
||||
@override
|
||||
State<IPerfPage> createState() => _IPerfPageState();
|
||||
|
||||
static const route = AppRouteArg<void, IPerfPageArgs>(
|
||||
page: IPerfPage.new,
|
||||
path: '/iperf',
|
||||
);
|
||||
}
|
||||
|
||||
class _IPerfPageState extends State<IPerfPage> {
|
||||
@@ -44,7 +56,7 @@ class _IPerfPageState extends State<IPerfPage> {
|
||||
return;
|
||||
}
|
||||
AppRoutes.ssh(
|
||||
spi: widget.spi,
|
||||
spi: widget.args.spi,
|
||||
initCmd: 'iperf -c ${_hostCtrl.text} -p ${_portCtrl.text}',
|
||||
).go(context);
|
||||
},
|
||||
|
||||
@@ -10,14 +10,22 @@ import 'package:server_box/data/res/store.dart';
|
||||
import 'package:server_box/view/widget/percent_circle.dart';
|
||||
import 'package:server_box/view/widget/two_line_text.dart';
|
||||
|
||||
final class PvePage extends StatefulWidget {
|
||||
final class PvePageArgs {
|
||||
final Spi spi;
|
||||
|
||||
const PvePageArgs({required this.spi});
|
||||
}
|
||||
|
||||
final class PvePage extends StatefulWidget {
|
||||
final PvePageArgs args;
|
||||
|
||||
const PvePage({
|
||||
super.key,
|
||||
required this.spi,
|
||||
required this.args,
|
||||
});
|
||||
|
||||
static const route = AppRouteArg<void, PvePageArgs>(page: PvePage.new, path: '/pve');
|
||||
|
||||
@override
|
||||
State<PvePage> createState() => _PvePageState();
|
||||
}
|
||||
@@ -25,7 +33,7 @@ final class PvePage extends StatefulWidget {
|
||||
const _kHorziPadding = 11.0;
|
||||
|
||||
final class _PvePageState extends State<PvePage> {
|
||||
late final _pve = PveProvider(spi: widget.spi);
|
||||
late final _pve = PveProvider(spi: widget.args.spi);
|
||||
late MediaQueryData _media;
|
||||
Timer? _timer;
|
||||
|
||||
@@ -53,7 +61,7 @@ final class _PvePageState extends State<PvePage> {
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: TwoLineText(up: 'PVE', down: widget.spi.name),
|
||||
title: TwoLineText(up: 'PVE', down: widget.args.spi.name),
|
||||
actions: [
|
||||
ValBuilder(
|
||||
listenable: _pve.err,
|
||||
|
||||
@@ -17,10 +17,9 @@ import 'package:server_box/data/model/server/sensors.dart';
|
||||
import 'package:server_box/data/model/server/server_private_info.dart';
|
||||
import 'package:server_box/data/model/server/system.dart';
|
||||
import 'package:server_box/data/res/store.dart';
|
||||
import 'package:server_box/view/page/pve.dart';
|
||||
import 'package:server_box/view/page/server/edit.dart';
|
||||
import 'package:server_box/view/widget/server_func_btns.dart';
|
||||
|
||||
import 'package:server_box/core/route.dart';
|
||||
import 'package:server_box/data/model/server/server.dart';
|
||||
|
||||
part 'misc.dart';
|
||||
@@ -865,7 +864,7 @@ class _ServerDetailPageState extends State<ServerDetailPage>
|
||||
title: const Text('PVE'),
|
||||
leading: const Icon(FontAwesome.server_solid, size: 17),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () => AppRoutes.pve(spi: si.spi).go(context),
|
||||
onTap: () => PvePage.route.go(context, PvePageArgs(spi: si.spi)),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ extension _Server on _AppSettingsPageState {
|
||||
return ListTile(
|
||||
title: Text(l10n.sequence),
|
||||
trailing: const Icon(Icons.keyboard_arrow_right),
|
||||
onTap: () => AppRoutes.serverFuncBtnsOrder().go(context),
|
||||
onTap: () => ServerFuncBtnsOrderPage.route.go(context),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import 'package:server_box/generated/l10n/l10n.dart';
|
||||
import 'package:icons_plus/icons_plus.dart';
|
||||
import 'package:server_box/core/extension/context/locale.dart';
|
||||
import 'package:server_box/data/res/github_id.dart';
|
||||
import 'package:server_box/data/res/rebuild.dart';
|
||||
import 'package:server_box/data/res/store.dart';
|
||||
import 'package:server_box/data/res/url.dart';
|
||||
|
||||
@@ -20,6 +19,7 @@ import 'package:server_box/data/res/build_data.dart';
|
||||
import 'package:server_box/view/page/backup.dart';
|
||||
import 'package:server_box/view/page/editor.dart';
|
||||
import 'package:server_box/view/page/private_key/list.dart';
|
||||
import 'package:server_box/view/page/setting/seq/srv_func_seq.dart';
|
||||
|
||||
part 'about.dart';
|
||||
part 'entries/app.dart';
|
||||
|
||||
@@ -9,6 +9,8 @@ class ServerFuncBtnsOrderPage extends StatefulWidget {
|
||||
|
||||
@override
|
||||
State<ServerFuncBtnsOrderPage> createState() => _ServerDetailOrderPageState();
|
||||
|
||||
static const route = AppRouteNoArg(page: ServerFuncBtnsOrderPage.new, path: '/setting/seq/srv_func');
|
||||
}
|
||||
|
||||
class _ServerDetailOrderPageState extends State<ServerFuncBtnsOrderPage> {
|
||||
|
||||
@@ -154,7 +154,7 @@ class SSHPageState extends State<SSHPage>
|
||||
_media.padding.top,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: widget.notFromTab ? CustomAppBar.sysStatusBarHeight ?? 0 : 0,
|
||||
top: widget.notFromTab ? CustomAppBar.sysStatusBarHeight : 0,
|
||||
left: _horizonPadding,
|
||||
right: _horizonPadding,
|
||||
),
|
||||
@@ -172,7 +172,7 @@ class SSHPageState extends State<SSHPage>
|
||||
showToolbar: isMobile,
|
||||
viewOffset: Offset(
|
||||
2 * _horizonPadding,
|
||||
CustomAppBar.sysStatusBarHeight ?? _media.padding.top,
|
||||
CustomAppBar.sysStatusBarHeight,
|
||||
),
|
||||
hideScrollBar: false,
|
||||
focusNode: widget.focusNode,
|
||||
|
||||
Reference in New Issue
Block a user