diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index c125915b..0f745f11 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -470,7 +470,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -478,7 +478,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -602,7 +602,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -610,7 +610,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -628,7 +628,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -636,7 +636,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -657,7 +657,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -670,7 +670,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; @@ -696,7 +696,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -709,7 +709,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -732,7 +732,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -745,7 +745,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/lib/core/extension/locale.dart b/lib/core/extension/locale.dart index fbb032e1..eb0fc504 100644 --- a/lib/core/extension/locale.dart +++ b/lib/core/extension/locale.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; extension LocaleX on Locale { - String get name { + String get code { if (countryCode == null) { return languageCode; } diff --git a/lib/core/route.dart b/lib/core/route.dart index 700c2d6c..f1cb5715 100644 --- a/lib/core/route.dart +++ b/lib/core/route.dart @@ -163,6 +163,7 @@ class AppRoute { String? path, String? text, String? langCode, + String? title, }) { return AppRoute( EditorPage( @@ -170,6 +171,7 @@ class AppRoute { path: path, text: text, langCode: langCode, + title: title, ), 'editor'); } diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 878181c8..c3205e68 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,8 +2,8 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 515; + static const int build = 517; static const String engine = "3.13.1"; - static const String buildAt = "2023-08-30 16:31:26.338447"; - static const int modifications = 3; + static const String buildAt = "2023-08-30 17:23:28.418667"; + static const int modifications = 2; } diff --git a/lib/data/res/url.dart b/lib/data/res/url.dart index a26928c5..32dc56be 100644 --- a/lib/data/res/url.dart +++ b/lib/data/res/url.dart @@ -1,5 +1,5 @@ const backendUrl = 'https://res.lolli.tech'; -const baseUrl = '$backendUrl/serverbox'; -const joinQQGroupUrl = 'https://jq.qq.com/?_wv=1027&k=G0hUmPAq'; +const baseResUrl = '$backendUrl/serverbox'; const myGithub = 'https://github.com/lollipopkit'; const appHelpUrl = '$myGithub/flutter_server_box#-help'; +const appWikiUrl = '$myGithub/flutter_server_box/wiki'; diff --git a/lib/data/service/app.dart b/lib/data/service/app.dart index 09d72023..e12b3870 100644 --- a/lib/data/service/app.dart +++ b/lib/data/service/app.dart @@ -5,7 +5,7 @@ import '../res/url.dart'; class AppService { Future getUpdate() async { - final resp = await Dio().get('$baseUrl/update.json'); + final resp = await Dio().get('$baseResUrl/update.json'); return AppUpdate.fromJson(resp.data); } } diff --git a/lib/view/page/editor.dart b/lib/view/page/editor.dart index 7a8b6d3c..3a4d23c2 100644 --- a/lib/view/page/editor.dart +++ b/lib/view/page/editor.dart @@ -30,11 +30,14 @@ class EditorPage extends StatefulWidget { /// Higher priority than [path] final String? langCode; + final String? title; + const EditorPage({ Key? key, this.path, this.text, this.langCode, + this.title, }) : super(key: key); @override @@ -110,7 +113,11 @@ class _EditorPageState extends State with AfterLayoutMixin { PreferredSizeWidget _buildAppBar() { return CustomAppBar( - title: TwoLineText(up: getFileName(widget.path) ?? '', down: _s.editor), + centerTitle: true, + title: TwoLineText( + up: widget.title ?? getFileName(widget.path) ?? '', + down: _s.editor, + ), actions: [ PopupMenuButton( icon: const Icon(Icons.language), @@ -134,21 +141,20 @@ class _EditorPageState extends State with AfterLayoutMixin { Widget _buildBody() { return SingleChildScrollView( - child: CodeTheme( - data: CodeThemeData( - styles: _codeTheme, - ), - child: CodeField( - focusNode: _focusNode, - controller: _controller, - textStyle: _textStyle, - lineNumberStyle: const LineNumberStyle( - width: 47, - margin: 7, - ), + child: CodeTheme( + data: CodeThemeData( + styles: _codeTheme, + ), + child: CodeField( + focusNode: _focusNode, + controller: _controller, + textStyle: _textStyle, + lineNumberStyle: const LineNumberStyle( + width: 47, + margin: 7, ), ), - ); + )); } @override diff --git a/lib/view/page/home.dart b/lib/view/page/home.dart index c92fc219..cf8154c3 100644 --- a/lib/view/page/home.dart +++ b/lib/view/page/home.dart @@ -271,6 +271,10 @@ class _HomePageState extends State title: Text(_s.about), child: _buildAboutContent(), actions: [ + TextButton( + onPressed: () => openUrl(appWikiUrl), + child: const Text('Wiki'), + ), TextButton( onPressed: () => openUrl(appHelpUrl), child: Text(_s.feedback), @@ -380,6 +384,7 @@ class _HomePageState extends State final result = await AppRoute.editor( text: text, langCode: 'json', + title: _s.setting, ).go(context); if (result == null) { return; diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart index f7ce145d..9fb8342e 100644 --- a/lib/view/page/setting/entry.dart +++ b/lib/view/page/setting/entry.dart @@ -110,6 +110,26 @@ class _SettingPageState extends State { return Scaffold( appBar: CustomAppBar( title: Text(_s.setting), + actions: [ + IconButton( + onPressed: () => showRoundDialog( + context: context, + title: Text(_s.attention), + child: Text(_s.sureDelete(_s.all)), + actions: [ + TextButton( + onPressed: () { + _setting.box.deleteAll(_setting.box.keys); + context.pop(); + showSnackBar(context, Text(_s.success)); + }, + child: Text(_s.ok, style: const TextStyle(color: Colors.red)), + ), + ], + ), + icon: const Icon(Icons.delete), + ), + ], ), body: ListView( padding: const EdgeInsets.symmetric(horizontal: 17), @@ -609,8 +629,8 @@ class _SettingPageState extends State { final items = S.supportedLocales .map( (e) => PopupMenuItem( - value: e.name, - child: Text(e.name), + value: e.code, + child: Text(e.code), ), ) .toList(); diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index e0bddf1b..9ddca1d3 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -474,9 +474,9 @@ baseConfigurationReference = C1C758C41C4E208965A68933 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -489,9 +489,9 @@ baseConfigurationReference = 15AF97DF993E8968098D6EBE /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -504,9 +504,9 @@ baseConfigurationReference = 7CFA7DE7FABA75685DFB6948 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 515; + CURRENT_PROJECT_VERSION = 517; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.515; + MARKETING_VERSION = 1.0.517; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0;