mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2026-02-23 16:45:27 +01:00
#95 fix
This commit is contained in:
@@ -33,7 +33,16 @@ enum AppShellFuncType {
|
||||
case AppShellFuncType.status:
|
||||
return statusCmds.join(_cmdDivider);
|
||||
case AppShellFuncType.docker:
|
||||
return dockerCmds.join(_cmdDivider);
|
||||
return '''
|
||||
# If the cmd result contains "permission denied", try to use `sudo`
|
||||
result=\$(docker version 2>&1)
|
||||
deniedStr="permission denied"
|
||||
containStr=\$(echo \$result | grep "\${deniedStr}")
|
||||
if [[ \$containStr != "" ]]; then
|
||||
${dockerCmds.join(_cmdDivider)}
|
||||
else
|
||||
${dockerCmds.map((e) => "sudo -S $e").join(_cmdDivider)}
|
||||
fi''';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ class DockerProvider extends BusyProvider {
|
||||
try {
|
||||
final statsLines = statsRaw.split('\n');
|
||||
statsLines.removeWhere((element) => element.isEmpty);
|
||||
statsLines.removeAt(0);
|
||||
if (statsLines.isNotEmpty) statsLines.removeAt(0);
|
||||
for (var item in items!) {
|
||||
final statsLine = statsLines.firstWhere(
|
||||
(element) => element.contains(item.containerId),
|
||||
@@ -148,6 +148,7 @@ class DockerProvider extends BusyProvider {
|
||||
}
|
||||
|
||||
Future<void> _onPwd(String event, StreamSink<Uint8List> stdin) async {
|
||||
print(event);
|
||||
if (isRequestingPwd) return;
|
||||
isRequestingPwd = true;
|
||||
if (event.contains('[sudo] password for ')) {
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
class BuildData {
|
||||
static const String name = "ServerBox";
|
||||
static const int build = 426;
|
||||
static const int build = 446;
|
||||
static const String engine = "3.10.6";
|
||||
static const String buildAt = "2023-08-06 16:29:23.492978";
|
||||
static const String buildAt = "2023-08-07 18:34:12.547300";
|
||||
static const int modifications = 4;
|
||||
}
|
||||
|
||||
@@ -261,10 +261,8 @@ class _DockerManagePageState extends State<DockerManagePage> {
|
||||
final items = <Widget>[
|
||||
_buildLoading(),
|
||||
_buildVersion(),
|
||||
_buildPsHeader(),
|
||||
_buildPsItems(),
|
||||
_buildImageHeader(),
|
||||
_buildImageItems(),
|
||||
_buildPs(),
|
||||
_buildImage(),
|
||||
_buildEditHost(),
|
||||
].map((e) => RoundRectCard(e));
|
||||
return ListView(
|
||||
@@ -273,21 +271,18 @@ class _DockerManagePageState extends State<DockerManagePage> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildImageHeader() {
|
||||
return ListTile(
|
||||
title: Text(_s.imagesList),
|
||||
subtitle: Text(
|
||||
_s.dockerImagesFmt(_docker.images!.length),
|
||||
style: grey,
|
||||
Widget _buildImage() {
|
||||
final items = <Widget>[
|
||||
ListTile(
|
||||
title: Text(_s.imagesList),
|
||||
subtitle: Text(
|
||||
_s.dockerImagesFmt(_docker.images!.length),
|
||||
style: grey,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildImageItems() {
|
||||
if (_docker.images == null) {
|
||||
return nil;
|
||||
}
|
||||
return Column(children: _docker.images!.map(_buildImageItem).toList());
|
||||
];
|
||||
items.addAll(_docker.images!.map(_buildImageItem));
|
||||
return Column(children: items);
|
||||
}
|
||||
|
||||
Widget _buildImageItem(DockerImage e) {
|
||||
@@ -395,20 +390,17 @@ class _DockerManagePageState extends State<DockerManagePage> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildPsHeader() {
|
||||
return ListTile(
|
||||
title: Text(_s.containerStatus),
|
||||
subtitle: Text(_buildPsCardSubtitle(_docker.items!), style: grey),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildPsItems() {
|
||||
if (_docker.items == null) {
|
||||
return nil;
|
||||
}
|
||||
Widget _buildPs() {
|
||||
final items = <Widget>[
|
||||
ListTile(
|
||||
title: Text(_s.containerStatus),
|
||||
subtitle: Text(_buildPsCardSubtitle(_docker.items!), style: grey),
|
||||
),
|
||||
];
|
||||
items.addAll(_docker.items!.map(_buildPsItem));
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: _docker.items!.map(_buildPsItem).toList(),
|
||||
children: items,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user