From 5b8468effa483ecaec0ded2afd45a52ee3d069eb Mon Sep 17 00:00:00 2001 From: Junyuan Feng Date: Mon, 7 Nov 2022 19:54:26 +0800 Subject: [PATCH] rm dep. `menu` & optimize --- ios/Runner.xcodeproj/project.pbxproj | 12 ++-- lib/core/utils.dart | 4 +- lib/data/res/build_data.dart | 8 +-- lib/view/page/convert.dart | 29 ++++----- lib/view/page/home.dart | 90 ++++++++------------------ lib/view/page/ping.dart | 67 +++---------------- macos/Runner.xcodeproj/project.pbxproj | 12 ++-- pubspec.lock | 7 -- pubspec.yaml | 1 - 9 files changed, 70 insertions(+), 160 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 7d32cfcd..4ee67617 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 = 155; + CURRENT_PROJECT_VERSION = 158; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -362,7 +362,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.155; + MARKETING_VERSION = 1.0.158; 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 = 155; + CURRENT_PROJECT_VERSION = 158; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -492,7 +492,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.155; + MARKETING_VERSION = 1.0.158; 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 = 155; + CURRENT_PROJECT_VERSION = 158; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -516,7 +516,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.155; + MARKETING_VERSION = 1.0.158; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/core/utils.dart b/lib/core/utils.dart index 0000eccf..0b615df3 100644 --- a/lib/core/utils.dart +++ b/lib/core/utils.dart @@ -115,11 +115,13 @@ Widget buildPopuopMenu( return PopupMenuButton( itemBuilder: (_) => items, onSelected: onSelected, + padding: EdgeInsets.zero, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), child: const Padding( padding: EdgeInsets.only(left: 7), child: Icon( Icons.more_vert, - size: 23, + size: 21, ), ), ); diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index ff913059..6fe7aae7 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 = 156; + static const int build = 158; static const String engine = - "Flutter 3.3.4 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision eb6d86ee27 (4 weeks ago) • 2022-10-04 22:31:45 -0700\nEngine • revision c08d7d5efc\nTools • Dart 2.18.2 • DevTools 2.15.0\n"; - static const String buildAt = "2022-11-05 23:02:53.614616"; - static const int modifications = 20; + "Flutter 3.3.4 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision eb6d86ee27 (5 weeks ago) • 2022-10-04 22:31:45 -0700\nEngine • revision c08d7d5efc\nTools • Dart 2.18.2 • DevTools 2.15.0\n"; + static const String buildAt = "2022-11-07 19:16:17.058901"; + static const int modifications = 0; } diff --git a/lib/view/page/convert.dart b/lib/view/page/convert.dart index a8fd1cef..c31360bd 100644 --- a/lib/view/page/convert.dart +++ b/lib/view/page/convert.dart @@ -44,22 +44,20 @@ class _ConvertPageState extends State Widget build(BuildContext context) { super.build(context); return Scaffold( - body: GestureDetector( - child: SingleChildScrollView( - padding: const EdgeInsets.symmetric(horizontal: 7), - controller: ScrollController(), - child: Column(children: [ - const SizedBox(height: 13), - _buildInputTop(), - _buildTypeOption(), - _buildResult(), - ])), - onTap: () => FocusScope.of(context).requestFocus(FocusNode()), - ), + body: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 7), + controller: ScrollController(), + child: Column(children: [ + const SizedBox(height: 13), + _buildInputTop(), + _buildTypeOption(), + _buildResult(), + ])), floatingActionButton: FloatingActionButton( onPressed: () { try { _textEditingControllerResult.text = doConvert(); + FocusScope.of(context).requestFocus(FocusNode()); } catch (e) { showSnackBar(context, Text('Error: \n$e')); } @@ -89,8 +87,7 @@ class _ConvertPageState extends State Widget _buildInputTop() { return SizedBox( height: _media.size.height * 0.33, - child: buildInput(context, _textEditingController, - onSubmitted: (_) => _textEditingControllerResult.text = doConvert()), + child: buildInput(context, _textEditingController), ); } @@ -159,8 +156,8 @@ class _ConvertPageState extends State title: Text( e, style: TextStyle( - color: - _theme.textTheme.bodyText2!.color!.withAlpha(177)), + color: _theme.textTheme.bodyText2!.color!.withAlpha(177), + ), ), trailing: _buildRadio(typeOption.indexOf(e)), )) diff --git a/lib/view/page/home.dart b/lib/view/page/home.dart index 35bed828..fbaf1246 100644 --- a/lib/view/page/home.dart +++ b/lib/view/page/home.dart @@ -1,7 +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'; import 'package:toolbox/core/build_mode.dart'; @@ -46,7 +45,6 @@ class _MyHomePageState extends State WidgetsBindingObserver { late final ServerProvider _serverProvider; late final PageController _pageController; - late final AdvancedDrawerController _advancedDrawerController; late int _selectIndex; late double _width; late S s; @@ -58,7 +56,6 @@ class _MyHomePageState extends State WidgetsBinding.instance.addObserver(this); _selectIndex = locator().launchPage.fetch()!; _pageController = PageController(initialPage: _selectIndex); - _advancedDrawerController = AdvancedDrawerController(); } @override @@ -92,8 +89,9 @@ class _MyHomePageState extends State return WillPopScope( child: _buildMain(context), onWillPop: () { - if (_advancedDrawerController.value.visible) { - _advancedDrawerController.hideDrawer(); + final scaffold = Scaffold.of(context); + if (scaffold.isDrawerOpen) { + scaffold.closeDrawer(); return Future.value(false); } return Future.value(true); @@ -101,63 +99,31 @@ class _MyHomePageState extends State } Widget _buildMain(BuildContext context) { - return AdvancedDrawer( - controller: _advancedDrawerController, - animationCurve: Curves.easeInOut, - animationDuration: const Duration(milliseconds: 300), - animateChildDecoration: true, - rtlOpening: false, - childDecoration: const BoxDecoration( - // NOTICE: Uncomment if you want to add shadow behind the page. - // Keep in mind that it may cause animation jerks. - // boxShadow: [ - // BoxShadow( - // color: Colors.black12, - // blurRadius: 0.0, - // ), - // ], - borderRadius: BorderRadius.all(Radius.circular(16)), - ), - drawer: _buildDrawer(), - child: Scaffold( - appBar: AppBar( - title: Text(tabTitleName(context, _selectIndex), style: size18), - actions: [ - IconButton( - icon: const Icon(Icons.developer_mode, size: 23), - tooltip: s.debug, - onPressed: () => - AppRoute(const DebugPage(), 'Debug Page').go(context), - ), - ], - leading: IconButton( - onPressed: () => _advancedDrawerController.showDrawer(), - icon: ValueListenableBuilder( - valueListenable: _advancedDrawerController, - builder: (_, value, __) { - return AnimatedSwitcher( - duration: const Duration(milliseconds: 250), - child: Icon( - value.visible ? Icons.clear : Icons.menu, - key: ValueKey(value.visible), - ), - ); - }, - ), - ), + return Scaffold( + drawer: _buildDrawer(), + appBar: AppBar( + title: Text(tabTitleName(context, _selectIndex), style: size18), + actions: [ + IconButton( + icon: const Icon(Icons.developer_mode, size: 23), + tooltip: s.debug, + onPressed: () => + AppRoute(const DebugPage(), 'Debug Page').go(context), ), - body: PageView( - physics: const ClampingScrollPhysics(), - controller: _pageController, - onPageChanged: (i) { - FocusScope.of(context).unfocus(); - _selectIndex = i; - setState(() {}); - }, - children: const [ServerPage(), ConvertPage(), PingPage()], - ), - bottomNavigationBar: _buildBottom(context), - )); + ], + ), + body: PageView( + physics: const ClampingScrollPhysics(), + controller: _pageController, + onPageChanged: (i) { + FocusScope.of(context).unfocus(); + _selectIndex = i; + setState(() {}); + }, + children: const [ServerPage(), ConvertPage(), PingPage()], + ), + bottomNavigationBar: _buildBottom(context), + ); } Widget _buildItem(int idx, NavigationItem item, bool isSelected) { @@ -208,7 +174,7 @@ class _MyHomePageState extends State } Widget _buildDrawer() { - return SafeArea( + return Drawer( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ diff --git a/lib/view/page/ping.dart b/lib/view/page/ping.dart index 956d137a..12dc5e2d 100644 --- a/lib/view/page/ping.dart +++ b/lib/view/page/ping.dart @@ -44,14 +44,12 @@ class _PingPageState extends State Widget build(BuildContext context) { super.build(context); return Scaffold( - body: GestureDetector( - child: SingleChildScrollView( + body: SingleChildScrollView( padding: const EdgeInsets.symmetric(horizontal: 7), child: Column(children: [ const SizedBox(height: 13), buildInput(context, _textEditingController, maxLines: 1, onSubmitted: (_) => doPing()), - _buildControl(), SizedBox( width: double.infinity, height: _media.size.height * 0.6, @@ -64,7 +62,15 @@ class _PingPageState extends State }), ), ])), - onTap: () => FocusScope.of(context).requestFocus(FocusNode()), + floatingActionButton: FloatingActionButton( + child: const Icon(Icons.play_arrow), + onPressed: () { + try { + doPing(); + } catch (e) { + showSnackBar(context, Text('Error: \n$e')); + } + }, ), ); } @@ -122,59 +128,6 @@ class _PingPageState extends State })); } - Widget _buildControl() { - return SizedBox( - height: 57, - child: RoundRectCard( - InkWell( - onTap: () => FocusScope.of(context).unfocus(), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - TextButton( - style: ButtonStyle( - foregroundColor: MaterialStateProperty.all(primaryColor)), - child: Row( - children: [ - const Icon(Icons.delete), - const SizedBox( - width: 7, - ), - Text(s.clear) - ], - ), - onPressed: () { - _results.clear(); - setState(() {}); - }, - ), - TextButton( - style: ButtonStyle( - foregroundColor: MaterialStateProperty.all(primaryColor)), - child: Row( - children: [ - const Icon(Icons.play_arrow), - const SizedBox( - width: 7, - ), - Text(s.start) - ], - ), - onPressed: () { - try { - doPing(); - } catch (e) { - showSnackBar(context, Text('Error: \n$e')); - } - }, - ) - ], - ), - ), - ), - ); - } - @override bool get wantKeepAlive => true; } diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 80b7216b..76e38ccd 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 = 155; + CURRENT_PROJECT_VERSION = 158; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.155; + MARKETING_VERSION = 1.0.158; 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 = 155; + CURRENT_PROJECT_VERSION = 158; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.155; + MARKETING_VERSION = 1.0.158; 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 = 155; + CURRENT_PROJECT_VERSION = 158; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.0.155; + MARKETING_VERSION = 1.0.158; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; diff --git a/pubspec.lock b/pubspec.lock index 9cf1ca12..46625183 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -262,13 +262,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_advanced_drawer: - dependency: "direct main" - description: - name: flutter_advanced_drawer - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.2" flutter_lints: dependency: "direct dev" description: diff --git a/pubspec.yaml b/pubspec.yaml index 727c79ca..a4a6d7b3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -51,7 +51,6 @@ dependencies: ref: main # path: ../circle_chart r_upgrade: ^0.3.6 - flutter_advanced_drawer: ^1.3.0 path_provider: ^2.0.9 easy_isolate: ^1.3.0 share_plus: ^4.0.4