mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
new: customCmds tips
This commit is contained in:
@@ -660,7 +660,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -670,7 +670,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
@@ -796,7 +796,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -806,7 +806,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
@@ -824,7 +824,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -834,7 +834,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
@@ -855,7 +855,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -868,7 +868,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
@@ -894,7 +894,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -907,7 +907,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -930,7 +930,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -943,7 +943,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -966,7 +966,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -978,7 +978,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
@@ -1007,7 +1007,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1019,7 +1019,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
PRODUCT_NAME = ServerBox;
|
PRODUCT_NAME = ServerBox;
|
||||||
@@ -1045,7 +1045,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1057,7 +1057,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
PRODUCT_NAME = ServerBox;
|
PRODUCT_NAME = ServerBox;
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ abstract final class BioAuth {
|
|||||||
localizedReason: l10n.authRequired,
|
localizedReason: l10n.authRequired,
|
||||||
options: const AuthenticationOptions(
|
options: const AuthenticationOptions(
|
||||||
biometricOnly: true,
|
biometricOnly: true,
|
||||||
|
stickyAuth: true,
|
||||||
),
|
),
|
||||||
authMessages: [
|
authMessages: [
|
||||||
AndroidAuthMessages(
|
AndroidAuthMessages(
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ extension ServerX on Server {
|
|||||||
case ServerState.disconnected:
|
case ServerState.disconnected:
|
||||||
return l10n.disconnected;
|
return l10n.disconnected;
|
||||||
case ServerState.finished:
|
case ServerState.finished:
|
||||||
final cmdTemp = status.customCmds['temperature'];
|
final cmdTemp = status.customCmds['server_card_top_right'];
|
||||||
final temp = status.temps.first;
|
final temp = status.temps.first;
|
||||||
final sensorTemp = SensorItem.findPreferTempVal(status.sensors);
|
final sensorTemp = SensorItem.findPreferTempVal(status.sensors);
|
||||||
final temperatureVal = () {
|
final temperatureVal = () {
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
class BuildData {
|
class BuildData {
|
||||||
static const String name = "ServerBox";
|
static const String name = "ServerBox";
|
||||||
static const int build = 827;
|
static const int build = 829;
|
||||||
static const String engine = "3.19.4";
|
static const String engine = "3.19.4";
|
||||||
static const String buildAt = "2024-03-27 09:52:08";
|
static const String buildAt = "2024-03-30 12:01:58";
|
||||||
static const int modifications = 7;
|
static const int modifications = 5;
|
||||||
static const int script = 42;
|
static const int script = 42;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "Ordner erstellen",
|
"createFolder": "Ordner erstellen",
|
||||||
"cursorType": "Cursor-Typ",
|
"cursorType": "Cursor-Typ",
|
||||||
"customCmd": "Benutzerdefinierte Befehle",
|
"customCmd": "Benutzerdefinierte Befehle",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"Befehlsname\": \"Befehl\"",
|
"customCmdHint": "\"Befehlsname\": \"Befehl\"",
|
||||||
"dark": "Dunkel",
|
"dark": "Dunkel",
|
||||||
"day": "Tag",
|
"day": "Tag",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "Pfad für Datenträger ignorieren",
|
"diskIgnorePath": "Pfad für Datenträger ignorieren",
|
||||||
"displayName": "Name anzeigen",
|
"displayName": "Name anzeigen",
|
||||||
"dl2Local": "Datei \"{fileName}\" herunterladen?",
|
"dl2Local": "Datei \"{fileName}\" herunterladen?",
|
||||||
|
"doc": "Dokumentation",
|
||||||
"dockerEditHost": "DOCKER_HOST bearbeiten",
|
"dockerEditHost": "DOCKER_HOST bearbeiten",
|
||||||
"dockerEmptyRunningItems": "Es gibt keine laufenden Container.\nDas könnte daran liegen:\n- Der Docker-Installationsbenutzer ist nicht mit dem in der App konfigurierten Benutzernamen identisch.\n- Die Umgebungsvariable DOCKER_HOST wurde nicht korrekt gelesen. Sie können sie ermitteln, indem Sie `echo $DOCKER_HOST` im Terminal ausführen.",
|
"dockerEmptyRunningItems": "Es gibt keine laufenden Container.\nDas könnte daran liegen:\n- Der Docker-Installationsbenutzer ist nicht mit dem in der App konfigurierten Benutzernamen identisch.\n- Die Umgebungsvariable DOCKER_HOST wurde nicht korrekt gelesen. Sie können sie ermitteln, indem Sie `echo $DOCKER_HOST` im Terminal ausführen.",
|
||||||
"dockerImagesFmt": "{count} Image(s)",
|
"dockerImagesFmt": "{count} Image(s)",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "Create folder",
|
"createFolder": "Create folder",
|
||||||
"cursorType": "Cursor type",
|
"cursorType": "Cursor type",
|
||||||
"customCmd": "Custom commands",
|
"customCmd": "Custom commands",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"Command Name\": \"Command\"",
|
"customCmdHint": "\"Command Name\": \"Command\"",
|
||||||
"dark": "Dark",
|
"dark": "Dark",
|
||||||
"day": "Day",
|
"day": "Day",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "Ignore path for disk",
|
"diskIgnorePath": "Ignore path for disk",
|
||||||
"displayName": "Display name",
|
"displayName": "Display name",
|
||||||
"dl2Local": "Download {fileName} to local?",
|
"dl2Local": "Download {fileName} to local?",
|
||||||
|
"doc": "Documentation",
|
||||||
"dockerEditHost": "Edit DOCKER_HOST",
|
"dockerEditHost": "Edit DOCKER_HOST",
|
||||||
"dockerEmptyRunningItems": "There are no running containers.\nThis could be because:\n- The Docker installation user is not the same as the username configured within the App.\n- The environment variable DOCKER_HOST was not read correctly. You can get it by running `echo $DOCKER_HOST` in the terminal.",
|
"dockerEmptyRunningItems": "There are no running containers.\nThis could be because:\n- The Docker installation user is not the same as the username configured within the App.\n- The environment variable DOCKER_HOST was not read correctly. You can get it by running `echo $DOCKER_HOST` in the terminal.",
|
||||||
"dockerImagesFmt": "{count} images",
|
"dockerImagesFmt": "{count} images",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "Crear carpeta",
|
"createFolder": "Crear carpeta",
|
||||||
"cursorType": "Tipo de cursor",
|
"cursorType": "Tipo de cursor",
|
||||||
"customCmd": "Comandos personalizados",
|
"customCmd": "Comandos personalizados",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"Nombre del comando\": \"Comando\"",
|
"customCmdHint": "\"Nombre del comando\": \"Comando\"",
|
||||||
"dark": "Oscuro",
|
"dark": "Oscuro",
|
||||||
"day": "Día",
|
"day": "Día",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "Rutas de disco ignoradas",
|
"diskIgnorePath": "Rutas de disco ignoradas",
|
||||||
"displayName": "Nombre a mostrar",
|
"displayName": "Nombre a mostrar",
|
||||||
"dl2Local": "¿Descargar {fileName} a local?",
|
"dl2Local": "¿Descargar {fileName} a local?",
|
||||||
|
"doc": "Documentación",
|
||||||
"dockerEditHost": "Editar DOCKER_HOST",
|
"dockerEditHost": "Editar DOCKER_HOST",
|
||||||
"dockerEmptyRunningItems": "No hay contenedores en ejecución.\nEsto podría deberse a que:\n- El usuario con el que se instaló Docker es diferente al configurado en la app\n- La variable de entorno DOCKER_HOST no se ha leído correctamente. Puedes obtenerla ejecutando `echo $DOCKER_HOST` en el terminal.",
|
"dockerEmptyRunningItems": "No hay contenedores en ejecución.\nEsto podría deberse a que:\n- El usuario con el que se instaló Docker es diferente al configurado en la app\n- La variable de entorno DOCKER_HOST no se ha leído correctamente. Puedes obtenerla ejecutando `echo $DOCKER_HOST` en el terminal.",
|
||||||
"dockerImagesFmt": "Total de {count} imágenes",
|
"dockerImagesFmt": "Total de {count} imágenes",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "Créer un dossier",
|
"createFolder": "Créer un dossier",
|
||||||
"cursorType": "Type de curseur",
|
"cursorType": "Type de curseur",
|
||||||
"customCmd": "Commandes personnalisées",
|
"customCmd": "Commandes personnalisées",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"Nom de la commande\": \"Commande\"",
|
"customCmdHint": "\"Nom de la commande\": \"Commande\"",
|
||||||
"dark": "Sombre",
|
"dark": "Sombre",
|
||||||
"day": "Jour",
|
"day": "Jour",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "Ignorer le chemin pour le disque",
|
"diskIgnorePath": "Ignorer le chemin pour le disque",
|
||||||
"displayName": "Nom affiché",
|
"displayName": "Nom affiché",
|
||||||
"dl2Local": "Télécharger {fileName} en local?",
|
"dl2Local": "Télécharger {fileName} en local?",
|
||||||
|
"doc": "Documentation",
|
||||||
"dockerEditHost": "Modifier DOCKER_HOST",
|
"dockerEditHost": "Modifier DOCKER_HOST",
|
||||||
"dockerEmptyRunningItems": "Il n'y a pas de conteneurs en cours d'exécution.\nCela peut être dû au fait que :\n- L'utilisateur de l'installation Docker n'est pas le même que le nom d'utilisateur configuré dans l'App.\n- La variable d'environnement DOCKER_HOST n'a pas été lue correctement. Vous pouvez l'obtenir en exécutant `echo $DOCKER_HOST` dans le terminal.",
|
"dockerEmptyRunningItems": "Il n'y a pas de conteneurs en cours d'exécution.\nCela peut être dû au fait que :\n- L'utilisateur de l'installation Docker n'est pas le même que le nom d'utilisateur configuré dans l'App.\n- La variable d'environnement DOCKER_HOST n'a pas été lue correctement. Vous pouvez l'obtenir en exécutant `echo $DOCKER_HOST` dans le terminal.",
|
||||||
"dockerImagesFmt": "{count} images",
|
"dockerImagesFmt": "{count} images",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "Membuat folder",
|
"createFolder": "Membuat folder",
|
||||||
"cursorType": "Jenis kursor",
|
"cursorType": "Jenis kursor",
|
||||||
"customCmd": "Perintah kustom",
|
"customCmd": "Perintah kustom",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"Nama Perintah\": \"Perintah\"",
|
"customCmdHint": "\"Nama Perintah\": \"Perintah\"",
|
||||||
"dark": "Gelap",
|
"dark": "Gelap",
|
||||||
"day": "Hari",
|
"day": "Hari",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "Abaikan jalan untuk disk",
|
"diskIgnorePath": "Abaikan jalan untuk disk",
|
||||||
"displayName": "Nama tampilan",
|
"displayName": "Nama tampilan",
|
||||||
"dl2Local": "Unduh {fileName} ke lokal?",
|
"dl2Local": "Unduh {fileName} ke lokal?",
|
||||||
|
"doc": "Dokumentasi",
|
||||||
"dockerEditHost": "Edit Docker_host",
|
"dockerEditHost": "Edit Docker_host",
|
||||||
"dockerEmptyRunningItems": "Tidak ada wadah yang sedang berjalan.\nHal ini dapat terjadi karena:\n- Pengguna instalasi Docker tidak sama dengan nama pengguna yang dikonfigurasi di dalam Aplikasi.\n- Variabel lingkungan DOCKER_HOST tidak terbaca dengan benar. Anda bisa mendapatkannya dengan menjalankan `echo $DOCKER_HOST` di terminal.",
|
"dockerEmptyRunningItems": "Tidak ada wadah yang sedang berjalan.\nHal ini dapat terjadi karena:\n- Pengguna instalasi Docker tidak sama dengan nama pengguna yang dikonfigurasi di dalam Aplikasi.\n- Variabel lingkungan DOCKER_HOST tidak terbaca dengan benar. Anda bisa mendapatkannya dengan menjalankan `echo $DOCKER_HOST` di terminal.",
|
||||||
"dockerImagesFmt": "{count} gambar",
|
"dockerImagesFmt": "{count} gambar",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "フォルダーを作成",
|
"createFolder": "フォルダーを作成",
|
||||||
"cursorType": "カーソルタイプ",
|
"cursorType": "カーソルタイプ",
|
||||||
"customCmd": "カスタムコマンド",
|
"customCmd": "カスタムコマンド",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"コマンド名\": \"コマンド\"",
|
"customCmdHint": "\"コマンド名\": \"コマンド\"",
|
||||||
"dark": "ダーク",
|
"dark": "ダーク",
|
||||||
"day": "日",
|
"day": "日",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "無視されたディスクパス",
|
"diskIgnorePath": "無視されたディスクパス",
|
||||||
"displayName": "表示名",
|
"displayName": "表示名",
|
||||||
"dl2Local": "{fileName}をローカルにダウンロードしますか?",
|
"dl2Local": "{fileName}をローカルにダウンロードしますか?",
|
||||||
|
"doc": "ドキュメント",
|
||||||
"dockerEditHost": "DOCKER_HOSTを編集",
|
"dockerEditHost": "DOCKER_HOSTを編集",
|
||||||
"dockerEmptyRunningItems": "実行中のコンテナがありません。\nこれは次の理由による可能性があります:\n- Dockerのインストールユーザーとアプリ内の設定されたユーザー名が異なる\n- 環境変数DOCKER_HOSTが正しく読み込まれていない。ターミナルで`echo $DOCKER_HOST`を実行して取得できます。",
|
"dockerEmptyRunningItems": "実行中のコンテナがありません。\nこれは次の理由による可能性があります:\n- Dockerのインストールユーザーとアプリ内の設定されたユーザー名が異なる\n- 環境変数DOCKER_HOSTが正しく読み込まれていない。ターミナルで`echo $DOCKER_HOST`を実行して取得できます。",
|
||||||
"dockerImagesFmt": "合計{count}イメージ",
|
"dockerImagesFmt": "合計{count}イメージ",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "Criar pasta",
|
"createFolder": "Criar pasta",
|
||||||
"cursorType": "Tipo de cursor",
|
"cursorType": "Tipo de cursor",
|
||||||
"customCmd": "Comandos personalizados",
|
"customCmd": "Comandos personalizados",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"Nome do comando\": \"Comando\"",
|
"customCmdHint": "\"Nome do comando\": \"Comando\"",
|
||||||
"dark": "Escuro",
|
"dark": "Escuro",
|
||||||
"day": "Dia",
|
"day": "Dia",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "Caminhos de disco ignorados",
|
"diskIgnorePath": "Caminhos de disco ignorados",
|
||||||
"displayName": "Nome de exibição",
|
"displayName": "Nome de exibição",
|
||||||
"dl2Local": "Baixar {fileName} para o local?",
|
"dl2Local": "Baixar {fileName} para o local?",
|
||||||
|
"doc": "Documentação",
|
||||||
"dockerEditHost": "Editar DOCKER_HOST",
|
"dockerEditHost": "Editar DOCKER_HOST",
|
||||||
"dockerEmptyRunningItems": "Não há contêineres em execução.\nIsso pode ser porque:\n- O usuário que instalou o Docker difere do usuário configurado no app\n- A variável de ambiente DOCKER_HOST não foi lida corretamente. Você pode verificar isso executando `echo $DOCKER_HOST` no terminal.",
|
"dockerEmptyRunningItems": "Não há contêineres em execução.\nIsso pode ser porque:\n- O usuário que instalou o Docker difere do usuário configurado no app\n- A variável de ambiente DOCKER_HOST não foi lida corretamente. Você pode verificar isso executando `echo $DOCKER_HOST` no terminal.",
|
||||||
"dockerImagesFmt": "Total de {count} imagens",
|
"dockerImagesFmt": "Total de {count} imagens",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "создать папку",
|
"createFolder": "создать папку",
|
||||||
"cursorType": "Тип курсора",
|
"cursorType": "Тип курсора",
|
||||||
"customCmd": "Пользовательские команды",
|
"customCmd": "Пользовательские команды",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki#custom-commands",
|
||||||
"customCmdHint": "\"Имя команды\": \"Команда\"",
|
"customCmdHint": "\"Имя команды\": \"Команда\"",
|
||||||
"dark": "темная",
|
"dark": "темная",
|
||||||
"day": "День",
|
"day": "День",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "путь игнорирования диска",
|
"diskIgnorePath": "путь игнорирования диска",
|
||||||
"displayName": "отображаемое имя",
|
"displayName": "отображаемое имя",
|
||||||
"dl2Local": "Загрузить {fileName} на локальный диск?",
|
"dl2Local": "Загрузить {fileName} на локальный диск?",
|
||||||
|
"doc": "Документация",
|
||||||
"dockerEditHost": "редактировать DOCKER_HOST",
|
"dockerEditHost": "редактировать DOCKER_HOST",
|
||||||
"dockerEmptyRunningItems": "Нет запущенных контейнеров.\nЭто может быть из-за:\n- пользователя Docker, отличного от пользователя, настроенного в приложении\n- переменной окружения DOCKER_HOST, которая не была правильно считана. Вы можете выполнить `echo $DOCKER_HOST` в терминале, чтобы увидеть ее значение.",
|
"dockerEmptyRunningItems": "Нет запущенных контейнеров.\nЭто может быть из-за:\n- пользователя Docker, отличного от пользователя, настроенного в приложении\n- переменной окружения DOCKER_HOST, которая не была правильно считана. Вы можете выполнить `echo $DOCKER_HOST` в терминале, чтобы увидеть ее значение.",
|
||||||
"dockerImagesFmt": "Всего {count} образов",
|
"dockerImagesFmt": "Всего {count} образов",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "创建文件夹",
|
"createFolder": "创建文件夹",
|
||||||
"cursorType": "光标类型",
|
"cursorType": "光标类型",
|
||||||
"customCmd": "自定义命令",
|
"customCmd": "自定义命令",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki/主页#自定义命令",
|
||||||
"customCmdHint": "\"命令名称\": \"命令\"",
|
"customCmdHint": "\"命令名称\": \"命令\"",
|
||||||
"dark": "暗",
|
"dark": "暗",
|
||||||
"day": "天",
|
"day": "天",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "忽略的磁盘路径",
|
"diskIgnorePath": "忽略的磁盘路径",
|
||||||
"displayName": "显示名称",
|
"displayName": "显示名称",
|
||||||
"dl2Local": "下载 {fileName} 到本地?",
|
"dl2Local": "下载 {fileName} 到本地?",
|
||||||
|
"doc": "文档",
|
||||||
"dockerEditHost": "编辑 DOCKER_HOST",
|
"dockerEditHost": "编辑 DOCKER_HOST",
|
||||||
"dockerEmptyRunningItems": "没有正在运行的容器。\n这可能是因为:\n- Docker 安装用户与 App 内配置的用户名不同\n- 环境变量 DOCKER_HOST 没有被正确读取。你可以通过在终端内运行 `echo $DOCKER_HOST` 来获取。",
|
"dockerEmptyRunningItems": "没有正在运行的容器。\n这可能是因为:\n- Docker 安装用户与 App 内配置的用户名不同\n- 环境变量 DOCKER_HOST 没有被正确读取。你可以通过在终端内运行 `echo $DOCKER_HOST` 来获取。",
|
||||||
"dockerImagesFmt": "共 {count} 个镜像",
|
"dockerImagesFmt": "共 {count} 个镜像",
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
"createFolder": "創建文件夾",
|
"createFolder": "創建文件夾",
|
||||||
"cursorType": "光標類型",
|
"cursorType": "光標類型",
|
||||||
"customCmd": "自定義命令",
|
"customCmd": "自定義命令",
|
||||||
|
"customCmdDocUrl": "https://github.com/lollipopkit/flutter_server_box/wiki/主页#自定义命令",
|
||||||
"customCmdHint": "\"命令名稱\": \"命令\"",
|
"customCmdHint": "\"命令名稱\": \"命令\"",
|
||||||
"dark": "暗",
|
"dark": "暗",
|
||||||
"day": "日",
|
"day": "日",
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
"diskIgnorePath": "忽略的磁盤路徑",
|
"diskIgnorePath": "忽略的磁盤路徑",
|
||||||
"displayName": "顯示名稱",
|
"displayName": "顯示名稱",
|
||||||
"dl2Local": "下載 {fileName} 到本地?",
|
"dl2Local": "下載 {fileName} 到本地?",
|
||||||
|
"doc": "文檔",
|
||||||
"dockerEditHost": "編輯 DOCKER_HOST",
|
"dockerEditHost": "編輯 DOCKER_HOST",
|
||||||
"dockerEmptyRunningItems": "沒有正在運行的容器。\n這可能是因為:\n- Docker 安裝使用者與 App 內配置的使用者名稱不同\n- 環境變量 DOCKER_HOST 沒有被正確讀取。你可以通過在終端內運行 `echo $DOCKER_HOST` 來獲取。",
|
"dockerEmptyRunningItems": "沒有正在運行的容器。\n這可能是因為:\n- Docker 安裝使用者與 App 內配置的使用者名稱不同\n- 環境變量 DOCKER_HOST 沒有被正確讀取。你可以通過在終端內運行 `echo $DOCKER_HOST` 來獲取。",
|
||||||
"dockerImagesFmt": "共 {count} 個鏡像",
|
"dockerImagesFmt": "共 {count} 個鏡像",
|
||||||
|
|||||||
@@ -14,10 +14,8 @@ import 'package:toolbox/core/utils/sync/icloud.dart';
|
|||||||
import 'package:toolbox/core/utils/platform/base.dart';
|
import 'package:toolbox/core/utils/platform/base.dart';
|
||||||
import 'package:toolbox/core/utils/share.dart';
|
import 'package:toolbox/core/utils/share.dart';
|
||||||
import 'package:toolbox/core/utils/sync/webdav.dart';
|
import 'package:toolbox/core/utils/sync/webdav.dart';
|
||||||
import 'package:toolbox/core/utils/ui.dart';
|
|
||||||
import 'package:toolbox/data/model/app/backup.dart';
|
import 'package:toolbox/data/model/app/backup.dart';
|
||||||
import 'package:toolbox/data/model/server/server_private_info.dart';
|
import 'package:toolbox/data/model/server/server_private_info.dart';
|
||||||
import 'package:toolbox/data/res/color.dart';
|
|
||||||
import 'package:toolbox/data/res/logger.dart';
|
import 'package:toolbox/data/res/logger.dart';
|
||||||
import 'package:toolbox/data/res/path.dart';
|
import 'package:toolbox/data/res/path.dart';
|
||||||
import 'package:toolbox/data/res/store.dart';
|
import 'package:toolbox/data/res/store.dart';
|
||||||
@@ -27,6 +25,7 @@ import 'package:toolbox/view/widget/appbar.dart';
|
|||||||
import 'package:toolbox/view/widget/expand_tile.dart';
|
import 'package:toolbox/view/widget/expand_tile.dart';
|
||||||
import 'package:toolbox/view/widget/cardx.dart';
|
import 'package:toolbox/view/widget/cardx.dart';
|
||||||
import 'package:toolbox/view/widget/input_field.dart';
|
import 'package:toolbox/view/widget/input_field.dart';
|
||||||
|
import 'package:toolbox/view/widget/markdown.dart';
|
||||||
import 'package:toolbox/view/widget/store_switch.dart';
|
import 'package:toolbox/view/widget/store_switch.dart';
|
||||||
|
|
||||||
class BackupPage extends StatelessWidget {
|
class BackupPage extends StatelessWidget {
|
||||||
@@ -225,15 +224,11 @@ class BackupPage extends StatelessWidget {
|
|||||||
return CardX(
|
return CardX(
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
title: Text(l10n.bulkImportServers),
|
title: Text(l10n.bulkImportServers),
|
||||||
subtitle: MarkdownBody(
|
subtitle: SimpleMarkdown(
|
||||||
data: l10n.bulkImportServersTip(Urls.appWiki),
|
data: l10n.bulkImportServersTip(Urls.appWiki),
|
||||||
styleSheet: MarkdownStyleSheet(
|
styleSheet: MarkdownStyleSheet(
|
||||||
p: UIs.textGrey,
|
p: UIs.textGrey,
|
||||||
a: TextStyle(color: primaryColor),
|
|
||||||
),
|
),
|
||||||
onTapLink: (text, href, title) {
|
|
||||||
if (href != null) openUrl(href);
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
leading: const Icon(Icons.import_export),
|
leading: const Icon(Icons.import_export),
|
||||||
onTap: () => _onBulkImportServers(context),
|
onTap: () => _onBulkImportServers(context),
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import 'dart:convert';
|
|||||||
import 'package:after_layout/after_layout.dart';
|
import 'package:after_layout/after_layout.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:flutter_markdown/flutter_markdown.dart';
|
|
||||||
import 'package:get_it/get_it.dart';
|
import 'package:get_it/get_it.dart';
|
||||||
import 'package:toolbox/core/channel/bg_run.dart';
|
import 'package:toolbox/core/channel/bg_run.dart';
|
||||||
import 'package:toolbox/core/channel/home_widget.dart';
|
import 'package:toolbox/core/channel/home_widget.dart';
|
||||||
@@ -13,11 +12,11 @@ import 'package:toolbox/core/persistant_store.dart';
|
|||||||
import 'package:toolbox/core/update.dart';
|
import 'package:toolbox/core/update.dart';
|
||||||
import 'package:toolbox/core/utils/platform/auth.dart';
|
import 'package:toolbox/core/utils/platform/auth.dart';
|
||||||
import 'package:toolbox/core/utils/platform/base.dart';
|
import 'package:toolbox/core/utils/platform/base.dart';
|
||||||
import 'package:toolbox/data/res/color.dart';
|
|
||||||
import 'package:toolbox/data/res/github_id.dart';
|
import 'package:toolbox/data/res/github_id.dart';
|
||||||
import 'package:toolbox/data/res/logger.dart';
|
import 'package:toolbox/data/res/logger.dart';
|
||||||
import 'package:toolbox/data/res/provider.dart';
|
import 'package:toolbox/data/res/provider.dart';
|
||||||
import 'package:toolbox/data/res/store.dart';
|
import 'package:toolbox/data/res/store.dart';
|
||||||
|
import 'package:toolbox/view/widget/markdown.dart';
|
||||||
|
|
||||||
import '../../core/route.dart';
|
import '../../core/route.dart';
|
||||||
import '../../core/utils/ui.dart';
|
import '../../core/utils/ui.dart';
|
||||||
@@ -47,6 +46,7 @@ class _HomePageState extends State<HomePage>
|
|||||||
final _selectIndex = ValueNotifier(0);
|
final _selectIndex = ValueNotifier(0);
|
||||||
|
|
||||||
bool _switchingPage = false;
|
bool _switchingPage = false;
|
||||||
|
bool _shouldAuth = false;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
@@ -82,13 +82,16 @@ class _HomePageState extends State<HomePage>
|
|||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case AppLifecycleState.resumed:
|
case AppLifecycleState.resumed:
|
||||||
|
if (_shouldAuth) {
|
||||||
|
BioAuth.go().then((_) => _shouldAuth = false);
|
||||||
|
}
|
||||||
if (!Pros.server.isAutoRefreshOn) {
|
if (!Pros.server.isAutoRefreshOn) {
|
||||||
Pros.server.startAutoRefresh();
|
Pros.server.startAutoRefresh();
|
||||||
}
|
}
|
||||||
HomeWidgetMC.update();
|
HomeWidgetMC.update();
|
||||||
break;
|
break;
|
||||||
case AppLifecycleState.paused:
|
case AppLifecycleState.paused:
|
||||||
BioAuth.go();
|
_shouldAuth = true;
|
||||||
// Keep running in background on Android device
|
// Keep running in background on Android device
|
||||||
if (isAndroid && Stores.setting.bgRun.fetch()) {
|
if (isAndroid && Stores.setting.bgRun.fetch()) {
|
||||||
// Keep this if statement single
|
// Keep this if statement single
|
||||||
@@ -271,13 +274,7 @@ class _HomePageState extends State<HomePage>
|
|||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
width: MediaQuery.of(context).size.width * 0.8,
|
width: MediaQuery.of(context).size.width * 0.8,
|
||||||
child: MarkdownBody(
|
child: SimpleMarkdown(
|
||||||
styleSheet: MarkdownStyleSheet(a: TextStyle(color: primaryColor)),
|
|
||||||
onTapLink: (text, href, title) {
|
|
||||||
if (href != null) {
|
|
||||||
openUrl(href);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data: '''
|
data: '''
|
||||||
${l10n.madeWithLove('[lollipopkit](${Urls.myGithub})')}
|
${l10n.madeWithLove('[lollipopkit](${Urls.myGithub})')}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:icons_plus/icons_plus.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:toolbox/core/extension/context/common.dart';
|
import 'package:toolbox/core/extension/context/common.dart';
|
||||||
import 'package:toolbox/core/extension/context/dialog.dart';
|
import 'package:toolbox/core/extension/context/dialog.dart';
|
||||||
@@ -8,6 +9,7 @@ import 'package:toolbox/core/extension/context/locale.dart';
|
|||||||
import 'package:toolbox/core/extension/context/snackbar.dart';
|
import 'package:toolbox/core/extension/context/snackbar.dart';
|
||||||
import 'package:toolbox/core/extension/stringx.dart';
|
import 'package:toolbox/core/extension/stringx.dart';
|
||||||
import 'package:toolbox/core/extension/widget.dart';
|
import 'package:toolbox/core/extension/widget.dart';
|
||||||
|
import 'package:toolbox/core/utils/ui.dart';
|
||||||
import 'package:toolbox/data/model/app/shell_func.dart';
|
import 'package:toolbox/data/model/app/shell_func.dart';
|
||||||
import 'package:toolbox/data/model/server/custom.dart';
|
import 'package:toolbox/data/model/server/custom.dart';
|
||||||
import 'package:toolbox/data/res/provider.dart';
|
import 'package:toolbox/data/res/provider.dart';
|
||||||
@@ -198,7 +200,7 @@ class _ServerEditPageState extends State<ServerEditPage> {
|
|||||||
onSubmitted: (_) => _focusScope.requestFocus(_ipFocus),
|
onSubmitted: (_) => _focusScope.requestFocus(_ipFocus),
|
||||||
hint: l10n.exampleName,
|
hint: l10n.exampleName,
|
||||||
label: l10n.name,
|
label: l10n.name,
|
||||||
icon: Icons.info,
|
icon: BoxIcons.bx_rename,
|
||||||
obscureText: false,
|
obscureText: false,
|
||||||
autoCorrect: true,
|
autoCorrect: true,
|
||||||
suggestiion: true,
|
suggestiion: true,
|
||||||
@@ -209,7 +211,7 @@ class _ServerEditPageState extends State<ServerEditPage> {
|
|||||||
onSubmitted: (_) => _focusScope.requestFocus(_portFocus),
|
onSubmitted: (_) => _focusScope.requestFocus(_portFocus),
|
||||||
node: _ipFocus,
|
node: _ipFocus,
|
||||||
label: l10n.host,
|
label: l10n.host,
|
||||||
icon: Icons.computer,
|
icon: BoxIcons.bx_server,
|
||||||
hint: 'example.com',
|
hint: 'example.com',
|
||||||
),
|
),
|
||||||
Input(
|
Input(
|
||||||
@@ -218,7 +220,7 @@ class _ServerEditPageState extends State<ServerEditPage> {
|
|||||||
node: _portFocus,
|
node: _portFocus,
|
||||||
onSubmitted: (_) => _focusScope.requestFocus(_usernameFocus),
|
onSubmitted: (_) => _focusScope.requestFocus(_usernameFocus),
|
||||||
label: l10n.port,
|
label: l10n.port,
|
||||||
icon: Icons.format_list_numbered,
|
icon: Bootstrap.number_123,
|
||||||
hint: '22',
|
hint: '22',
|
||||||
),
|
),
|
||||||
Input(
|
Input(
|
||||||
@@ -235,7 +237,7 @@ class _ServerEditPageState extends State<ServerEditPage> {
|
|||||||
type: TextInputType.url,
|
type: TextInputType.url,
|
||||||
node: _alterUrlFocus,
|
node: _alterUrlFocus,
|
||||||
label: l10n.alterUrl,
|
label: l10n.alterUrl,
|
||||||
icon: Icons.computer,
|
icon: MingCute.link_line,
|
||||||
hint: 'user@ip:port',
|
hint: 'user@ip:port',
|
||||||
),
|
),
|
||||||
TagEditor(
|
TagEditor(
|
||||||
@@ -361,10 +363,12 @@ class _ServerEditPageState extends State<ServerEditPage> {
|
|||||||
Input(
|
Input(
|
||||||
controller: _pveAddrCtrl,
|
controller: _pveAddrCtrl,
|
||||||
type: TextInputType.url,
|
type: TextInputType.url,
|
||||||
|
icon: MingCute.web_line,
|
||||||
label: l10n.addr,
|
label: l10n.addr,
|
||||||
hint: 'https://example.com:8006',
|
hint: 'https://example.com:8006',
|
||||||
),
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
|
leading: const Icon(MingCute.certificate_line),
|
||||||
title: Text(l10n.ignoreCert),
|
title: Text(l10n.ignoreCert),
|
||||||
subtitle: Text(l10n.pveIgnoreCertTip, style: UIs.text12Grey),
|
subtitle: Text(l10n.pveIgnoreCertTip, style: UIs.text12Grey),
|
||||||
trailing: ListenableBuilder(
|
trailing: ListenableBuilder(
|
||||||
@@ -382,13 +386,24 @@ class _ServerEditPageState extends State<ServerEditPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildCustomCmd() {
|
Widget _buildCustomCmd() {
|
||||||
return Input(
|
return ExpandTile(
|
||||||
|
title: Text(l10n.customCmd),
|
||||||
|
children: [
|
||||||
|
Input(
|
||||||
controller: _customCmdCtrl,
|
controller: _customCmdCtrl,
|
||||||
type: TextInputType.text,
|
type: TextInputType.text,
|
||||||
maxLines: 3,
|
maxLines: 3,
|
||||||
label: l10n.customCmd,
|
label: 'Json',
|
||||||
icon: Icons.code,
|
icon: Icons.code,
|
||||||
hint: '{${l10n.customCmdHint}}',
|
hint: '{${l10n.customCmdHint}}',
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
leading: const Icon(MingCute.doc_line),
|
||||||
|
title: Text(l10n.doc),
|
||||||
|
trailing: const Icon(Icons.open_in_new, size: 17),
|
||||||
|
onTap: () => openUrl(l10n.customCmdDocUrl),
|
||||||
|
).card,
|
||||||
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import 'package:toolbox/core/extension/context/snackbar.dart';
|
|||||||
import 'package:toolbox/data/res/provider.dart';
|
import 'package:toolbox/data/res/provider.dart';
|
||||||
import 'package:toolbox/view/widget/cardx.dart';
|
import 'package:toolbox/view/widget/cardx.dart';
|
||||||
import 'package:toolbox/view/widget/input_field.dart';
|
import 'package:toolbox/view/widget/input_field.dart';
|
||||||
|
import 'package:toolbox/view/widget/markdown.dart';
|
||||||
|
|
||||||
import '../../../data/model/server/snippet.dart';
|
import '../../../data/model/server/snippet.dart';
|
||||||
import '../../../data/res/ui.dart';
|
import '../../../data/res/ui.dart';
|
||||||
@@ -196,7 +197,7 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
|||||||
return CardX(
|
return CardX(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(13),
|
padding: const EdgeInsets.all(13),
|
||||||
child: MarkdownBody(
|
child: SimpleMarkdown(
|
||||||
data: '''
|
data: '''
|
||||||
📌 ${l10n.supportFmtArgs}
|
📌 ${l10n.supportFmtArgs}
|
||||||
|
|
||||||
|
|||||||
37
lib/view/widget/markdown.dart
Normal file
37
lib/view/widget/markdown.dart
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_markdown/flutter_markdown.dart';
|
||||||
|
import 'package:toolbox/core/extension/context/locale.dart';
|
||||||
|
import 'package:toolbox/core/extension/context/snackbar.dart';
|
||||||
|
import 'package:toolbox/core/utils/ui.dart';
|
||||||
|
import 'package:toolbox/data/res/color.dart';
|
||||||
|
|
||||||
|
final class SimpleMarkdown extends StatelessWidget {
|
||||||
|
const SimpleMarkdown({
|
||||||
|
super.key,
|
||||||
|
required this.data,
|
||||||
|
this.styleSheet,
|
||||||
|
});
|
||||||
|
|
||||||
|
final String data;
|
||||||
|
final MarkdownStyleSheet? styleSheet;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return MarkdownBody(
|
||||||
|
data: data,
|
||||||
|
onTapLink: (text, href, title) {
|
||||||
|
if (href != null && href.isNotEmpty) {
|
||||||
|
openUrl(href);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
context.showSnackBar(l10n.failed);
|
||||||
|
},
|
||||||
|
styleSheet: styleSheet?.copyWith(
|
||||||
|
a: TextStyle(color: primaryColor),
|
||||||
|
) ??
|
||||||
|
MarkdownStyleSheet(
|
||||||
|
a: TextStyle(color: primaryColor),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -471,7 +471,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -608,7 +608,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
||||||
@@ -618,7 +618,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -638,7 +638,7 @@
|
|||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 827;
|
CURRENT_PROJECT_VERSION = 829;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6;
|
"DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
@@ -649,7 +649,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.827;
|
MARKETING_VERSION = 1.0.829;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user