mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-18 15:54:35 +01:00
#42 new: docker logs
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
|
||||
class BuildData {
|
||||
static const String name = "ServerBox";
|
||||
static const int build = 310;
|
||||
static const int build = 313;
|
||||
static const String engine = "3.10.0";
|
||||
static const String buildAt = "2023-05-14 17:02:42.374273";
|
||||
static const int modifications = 20;
|
||||
static const String buildAt = "2023-05-16 17:56:08.999957";
|
||||
static const int modifications = 6;
|
||||
}
|
||||
|
||||
@@ -1,45 +1,105 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
import '../../view/widget/dropdown_menu.dart';
|
||||
enum ServerTabMenuType {
|
||||
sftp,
|
||||
snippet,
|
||||
pkg,
|
||||
docker,
|
||||
edit;
|
||||
|
||||
class ServerTabMenuItems {
|
||||
static const List<DropdownBtnItem> firstItems = [sftp, snippet, pkg, docker];
|
||||
static const List<DropdownBtnItem> secondItems = [edit];
|
||||
|
||||
static const sftp =
|
||||
DropdownBtnItem(text: 'SFTP', icon: Icons.insert_drive_file);
|
||||
static const snippet = DropdownBtnItem(text: 'Snippet', icon: Icons.code);
|
||||
static const pkg =
|
||||
DropdownBtnItem(text: 'Pkg', icon: Icons.system_security_update);
|
||||
static const docker =
|
||||
DropdownBtnItem(text: 'Docker', icon: Icons.view_agenda);
|
||||
static const edit = DropdownBtnItem(text: 'Edit', icon: Icons.edit);
|
||||
}
|
||||
|
||||
class DockerMenuItems {
|
||||
static const rm = DropdownBtnItem(text: 'Remove', icon: Icons.delete);
|
||||
static const start = DropdownBtnItem(text: 'Start', icon: Icons.play_arrow);
|
||||
static const stop = DropdownBtnItem(text: 'Stop', icon: Icons.stop);
|
||||
static const restart =
|
||||
DropdownBtnItem(text: 'Restart', icon: Icons.restart_alt);
|
||||
}
|
||||
|
||||
String getDropdownBtnText(S s, String text) {
|
||||
switch (text) {
|
||||
case 'Snippet':
|
||||
return s.snippet;
|
||||
case 'Pkg':
|
||||
return s.pkg;
|
||||
case 'Remove':
|
||||
return s.delete;
|
||||
case 'Start':
|
||||
return s.start;
|
||||
case 'Stop':
|
||||
return s.stop;
|
||||
case 'Edit':
|
||||
return s.edit;
|
||||
default:
|
||||
return text;
|
||||
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),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user