diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index defd1fb6..4a88d634 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -354,7 +354,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 143; + CURRENT_PROJECT_VERSION = 145; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -362,7 +362,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.143; + MARKETING_VERSION = 1.0.145; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -484,7 +484,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 143; + CURRENT_PROJECT_VERSION = 145; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -492,7 +492,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.143; + MARKETING_VERSION = 1.0.145; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -508,7 +508,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 143; + CURRENT_PROJECT_VERSION = 145; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -516,7 +516,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.143; + MARKETING_VERSION = 1.0.145; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 55355229..fdc113a9 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,9 +2,9 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 144; + static const int build = 145; static const String engine = "Flutter 3.0.1 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision fb57da5f94 (4 days ago) • 2022-05-19 15:50:29 -0700\nEngine • revision caaafc5604\nTools • Dart 2.17.1 • DevTools 2.12.2\n"; - static const String buildAt = "2022-05-24 13:07:20.629833"; - static const int modifications = 2; + static const String buildAt = "2022-05-24 13:29:00.556031"; + static const int modifications = 4; } diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 7a4efdf0..451c68ef 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -109,6 +109,9 @@ class MessageLookup extends MessageLookupByLibrary { "experimentalFeature": MessageLookupByLibrary.simpleMessage("Experimental feature"), "export": MessageLookupByLibrary.simpleMessage("Export"), + "feedback": MessageLookupByLibrary.simpleMessage("Feedback"), + "feedbackOnGithub": MessageLookupByLibrary.simpleMessage( + "If you have any questions, please feedback on Github."), "fieldMustNotEmpty": MessageLookupByLibrary.simpleMessage( "These fields must not be empty."), "files": MessageLookupByLibrary.simpleMessage("Files"), diff --git a/lib/generated/intl/messages_zh.dart b/lib/generated/intl/messages_zh.dart index 657a15e6..5781b7fc 100644 --- a/lib/generated/intl/messages_zh.dart +++ b/lib/generated/intl/messages_zh.dart @@ -101,6 +101,9 @@ class MessageLookup extends MessageLookupByLibrary { "exampleName": MessageLookupByLibrary.simpleMessage("名称示例"), "experimentalFeature": MessageLookupByLibrary.simpleMessage("实验性功能"), "export": MessageLookupByLibrary.simpleMessage("导出"), + "feedback": MessageLookupByLibrary.simpleMessage("反馈"), + "feedbackOnGithub": + MessageLookupByLibrary.simpleMessage("如果你有任何问题,请在GitHub反馈"), "fieldMustNotEmpty": MessageLookupByLibrary.simpleMessage("这些输入框不能为空。"), "files": MessageLookupByLibrary.simpleMessage("文件"), "foundNUpdate": m5, diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 272fc840..830e010e 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -1310,6 +1310,26 @@ class S { args: [], ); } + + /// `Feedback` + String get feedback { + return Intl.message( + 'Feedback', + name: 'feedback', + desc: '', + args: [], + ); + } + + /// `If you have any questions, please feedback on Github.` + String get feedbackOnGithub { + return Intl.message( + 'If you have any questions, please feedback on Github.', + name: 'feedbackOnGithub', + desc: '', + args: [], + ); + } } class AppLocalizationDelegate extends LocalizationsDelegate { diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 76465ce6..cb5a3774 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -124,5 +124,7 @@ "backupVersionNotMatch": "Backup version is not match.", "invalidJson": "Invalid JSON", "restoreSuccess": "Restore success. Restart app to apply.", - "clickSee": "Click here" + "clickSee": "Click here", + "feedback": "Feedback", + "feedbackOnGithub": "If you have any questions, please feedback on Github." } \ No newline at end of file diff --git a/lib/l10n/intl_zh.arb b/lib/l10n/intl_zh.arb index f5bfa7ed..733dd5c3 100644 --- a/lib/l10n/intl_zh.arb +++ b/lib/l10n/intl_zh.arb @@ -124,5 +124,7 @@ "backupVersionNotMatch": "备份版本不匹配,无法恢复", "invalidJson": "无效的json,存在格式问题", "restoreSuccess": "恢复成功,需要重启App来应用更改", - "clickSee": "点击查看" + "clickSee": "点击查看", + "feedback": "反馈", + "feedbackOnGithub": "如果你有任何问题,请在GitHub反馈" } \ No newline at end of file diff --git a/lib/view/page/backup.dart b/lib/view/page/backup.dart index 21c5d9ef..fec40757 100644 --- a/lib/view/page/backup.dart +++ b/lib/view/page/backup.dart @@ -70,18 +70,20 @@ class BackupPage extends StatelessWidget { child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(37), color: priColor), - width: 87, - height: 37, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon( - icon, - color: textColor, - ), - const SizedBox(width: 7), - Text(text, style: TextStyle(color: textColor)), - ], + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 7, horizontal: 17), + child: Row( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + icon, + color: textColor, + ), + const SizedBox(width: 7), + Text(text, style: TextStyle(color: textColor)), + ], + ), ), ), ); diff --git a/lib/view/page/home.dart b/lib/view/page/home.dart index acbbc0f2..ab55185f 100644 --- a/lib/view/page/home.dart +++ b/lib/view/page/home.dart @@ -1,5 +1,6 @@ import 'package:after_layout/after_layout.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_advanced_drawer/flutter_advanced_drawer.dart'; import 'package:get_it/get_it.dart'; import 'package:toolbox/core/analysis.dart'; @@ -247,6 +248,23 @@ class _MyHomePageState extends State onTap: () => AppRoute(BackupPage(), 'backup page').go(context), ), + ListTile( + leading: const Icon(Icons.info), + title: Text(s.feedback), + onTap: () => showRoundDialog( + context, s.feedback, Text(s.feedbackOnGithub), [ + TextButton( + onPressed: () => Clipboard.setData( + const ClipboardData(text: issueUrl)), + child: Text(s.copy)), + TextButton( + onPressed: () => openUrl(issueUrl), + child: Text(s.feedback)), + TextButton( + onPressed: () => Navigator.of(context).pop(), + child: Text(s.close)) + ]), + ), ListTile( leading: const Icon(Icons.snippet_folder), title: Text(s.snippet), diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index ef67b7e1..b5621a16 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -420,14 +420,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 143; + CURRENT_PROJECT_VERSION = 145; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.143; + MARKETING_VERSION = 1.0.145; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; @@ -550,14 +550,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 143; + CURRENT_PROJECT_VERSION = 145; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.143; + MARKETING_VERSION = 1.0.145; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -574,14 +574,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 143; + CURRENT_PROJECT_VERSION = 145; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.143; + MARKETING_VERSION = 1.0.145; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0;