mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
opt.: servers list -> map
This commit is contained in:
@@ -48,7 +48,7 @@ class _DockerManagePageState extends State<DockerManagePage> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
final client = locator<ServerProvider>().getServer(widget.spi.id).client;
|
||||
final client = locator<ServerProvider>().servers[widget.spi.id]?.client;
|
||||
if (client == null) {
|
||||
showSnackBar(context, Text(_s.noClient));
|
||||
context.pop();
|
||||
|
||||
@@ -84,7 +84,7 @@ class _MyHomePageState extends State<MyHomePage>
|
||||
|
||||
switch (state) {
|
||||
case AppLifecycleState.resumed:
|
||||
if (isIOS) {
|
||||
if (!_serverProvider.isAutoRefreshOn) {
|
||||
_serverProvider.startAutoRefresh();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -156,7 +156,7 @@ class _PingPageState extends State<PingPage>
|
||||
}
|
||||
|
||||
try {
|
||||
await Future.wait(_serverProvider.servers.map((e) async {
|
||||
await Future.wait(_serverProvider.servers.values.map((e) async {
|
||||
if (e.client == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -49,8 +49,8 @@ class _PkgManagePageState extends State<PkgManagePage>
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
final si = locator<ServerProvider>().getServer(widget.spi.id);
|
||||
if (si.client == null) {
|
||||
final si = locator<ServerProvider>().servers[widget.spi.id];
|
||||
if (si == null || si.client == null) {
|
||||
showSnackBar(context, Text(_s.waitConnection));
|
||||
context.pop();
|
||||
return;
|
||||
|
||||
@@ -40,9 +40,15 @@ class _ServerDetailPageState extends State<ServerDetailPage>
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Consumer<ServerProvider>(builder: (_, provider, __) {
|
||||
return _buildMainPage(
|
||||
provider.getServer(widget.id),
|
||||
);
|
||||
final s = provider.servers[widget.id];
|
||||
if (s == null) {
|
||||
return Scaffold(
|
||||
body: Center(
|
||||
child: Text(_s.noClient),
|
||||
),
|
||||
);
|
||||
}
|
||||
return _buildMainPage(s);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ class _ServerPageState extends State<ServerPage>
|
||||
),
|
||||
);
|
||||
}
|
||||
final keys = pro.servers.keys.toList();
|
||||
return ListView.separated(
|
||||
padding: const EdgeInsets.all(7),
|
||||
controller: ScrollController(),
|
||||
@@ -83,9 +84,9 @@ class _ServerPageState extends State<ServerPage>
|
||||
if (idx == pro.servers.length) {
|
||||
return SizedBox(height: _media.padding.bottom);
|
||||
}
|
||||
return _buildEachServerCard(pro.servers[idx]);
|
||||
return _buildEachServerCard(pro.servers[keys[idx]]);
|
||||
},
|
||||
itemCount: pro.servers.length + 1,
|
||||
itemCount: pro.servers.length,
|
||||
separatorBuilder: (_, __) => const SizedBox(
|
||||
height: 3,
|
||||
),
|
||||
@@ -105,7 +106,10 @@ class _ServerPageState extends State<ServerPage>
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildEachServerCard(Server si) {
|
||||
Widget _buildEachServerCard(Server? si) {
|
||||
if (si == null) {
|
||||
return const SizedBox();
|
||||
}
|
||||
return RoundRectCard(
|
||||
InkWell(
|
||||
onLongPress: () => AppRoute(
|
||||
|
||||
@@ -53,7 +53,7 @@ class _SFTPPageState extends State<SFTPPage> {
|
||||
void initState() {
|
||||
super.initState();
|
||||
final serverProvider = locator<ServerProvider>();
|
||||
_si = serverProvider.getServer(widget.spi.id);
|
||||
_si = serverProvider.servers[widget.spi.id];
|
||||
_client = _si?.client;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user