This commit is contained in:
lollipopkit
2023-05-26 17:01:52 +08:00
parent c1c009863d
commit 20ef9d4575
28 changed files with 126 additions and 149 deletions

View File

@@ -2,8 +2,8 @@
class BuildData {
static const String name = "ServerBox";
static const int build = 314;
static const String engine = "3.10.0";
static const String buildAt = "2023-05-18 22:09:44.404990";
static const int modifications = 2;
static const int build = 318;
static const String engine = "3.10.2";
static const String buildAt = "2023-05-26 13:49:02.698178";
static const int modifications = 6;
}

View File

@@ -1,28 +0,0 @@
enum ErrFrom {
unknown,
apt,
docker,
sftp,
ssh,
}
abstract class Err<T> {
final ErrFrom from;
final T type;
final String? message;
Err({required this.from, required this.type, this.message});
}
enum DockerErrType {
unknown,
noClient,
notInstalled,
invalidVersion,
cmdNoPrefix
}
class DockerErr extends Err<DockerErrType> {
DockerErr({required DockerErrType type, String? message})
: super(from: ErrFrom.docker, type: type, message: message);
}

View File

@@ -1,105 +0,0 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
enum ServerTabMenuType {
sftp,
snippet,
pkg,
docker,
edit;
IconData get icon {
switch (this) {
case ServerTabMenuType.sftp:
return Icons.insert_drive_file;
case ServerTabMenuType.snippet:
return Icons.code;
case ServerTabMenuType.pkg:
return Icons.system_security_update;
case ServerTabMenuType.docker:
return Icons.view_agenda;
case ServerTabMenuType.edit:
return Icons.edit;
}
}
String text(S s) {
switch (this) {
case ServerTabMenuType.sftp:
return 'SFTP';
case ServerTabMenuType.snippet:
return s.snippet;
case ServerTabMenuType.pkg:
return s.pkg;
case ServerTabMenuType.docker:
return 'Docker';
case ServerTabMenuType.edit:
return s.edit;
}
}
PopupMenuItem<ServerTabMenuType> build(S s) => _build(this, icon, text(s));
}
enum DockerMenuType {
start,
stop,
restart,
rm,
logs;
static List<DockerMenuType> items(bool running) {
if (running) {
return [stop, restart, rm, logs];
} else {
return [start, rm, logs];
}
}
IconData get icon {
switch (this) {
case DockerMenuType.start:
return Icons.play_arrow;
case DockerMenuType.stop:
return Icons.stop;
case DockerMenuType.restart:
return Icons.restart_alt;
case DockerMenuType.rm:
return Icons.delete;
case DockerMenuType.logs:
return Icons.logo_dev;
}
}
String text(S s) {
switch (this) {
case DockerMenuType.start:
return s.start;
case DockerMenuType.stop:
return s.stop;
case DockerMenuType.restart:
return s.restart;
case DockerMenuType.rm:
return s.delete;
case DockerMenuType.logs:
return s.log;
}
}
PopupMenuItem<DockerMenuType> build(S s) => _build(this, icon, text(s));
}
PopupMenuItem<T> _build<T>(T t, IconData icon, String text) {
return PopupMenuItem<T>(
value: t,
child: Row(
children: [
Icon(icon),
const SizedBox(
width: 10,
),
Text(text),
],
),
);
}

View File

@@ -47,8 +47,17 @@ ServerStatus get initStatus => ServerStatus(
mem: _initMemory,
sysVer: 'Loading...',
uptime: '',
disk: [DiskInfo('/', '/', 0, '0', '0', '0')],
tcp: ConnStatus(0, 0, 0, 0),
disk: [
DiskInfo(
path: '/',
loc: '/',
usedPercent: 0,
used: '0',
size: '0',
avail: '0',
)
],
tcp: ConnStatus(maxConn: 0, active: 0, passive: 0, fail: 0),
netSpeed: initNetSpeed,
swap: _initSwap,
temps: Temperatures(),