From a382186be1de849c467bd647b6198a308e5eb245 Mon Sep 17 00:00:00 2001 From: Harold Than <62450449+thanvinhbaohoang@users.noreply.github.com> Date: Fri, 7 Jul 2023 07:21:43 -0400 Subject: [PATCH] Button: Cursor to Pointer on Hover (#982) * Button: Cursor to Pointer on Hover * Updated build-guide-linux.md to Revert Flutter Version --------- Co-authored-by: Harold --- build-guide-linux.md | 37 ++++++++- .../desktop_action_button.dart | 75 ++++++++++--------- 2 files changed, 75 insertions(+), 37 deletions(-) diff --git a/build-guide-linux.md b/build-guide-linux.md index 4e04a5e2b..c08d0405b 100644 --- a/build-guide-linux.md +++ b/build-guide-linux.md @@ -37,6 +37,9 @@ CakeWallet requires some packages to be install on your build system. You may ea Need to install flutter. For this please check section [How to install flutter on Linux](https://docs.flutter.dev/get-started/install/linux). + + + ### 3. Verify Installations Verify that the Flutter have been correctly installed on your system with the following command: @@ -46,7 +49,7 @@ Verify that the Flutter have been correctly installed on your system with the fo The output of this command will appear like this, indicating successful installations. If there are problems with your installation, they **must** be corrected before proceeding. ``` Doctor summary (to see all details, run flutter doctor -v): -[✓] Flutter (Channel stable, 3.x.x, on Linux, locale en_US.UTF-8) +[✓] Flutter (Channel stable, 3.7.x, on Linux, locale en_US.UTF-8) ``` ### 4. Acquiring the CakeWallet Source Code @@ -100,6 +103,38 @@ Install Flutter package dependencies with this command: > `$ flutter pub get` +> ### If you get the error like: +> ``` +> The lower bound of "sdk: '>=2.0.0-dev.68.0 <3.0.0'" must be 2.12.0 or higher to enable null safety. +> ``` +> +> #### Downgrade Flutter to version 3.7.x +> Make sure that Flutter is reverted back to version 3.7.x (which would automatically revert Dart to 2.18 or 2.19) +> +> In your Linux terminal, find where your Flutter SDK is installed with: +> +> ``` +> $ which flutter +> ``` +> +> Proceed to the Flutter SDK path: +> +> ``` +> $ cd user/snap/flutter/common/flutter +> ``` +> +> In the Flutter SDK directory, revert to a 3.7.x version (I used 3.7.12): +> +> +> ``` +> $ git checkout 3.7.12 +> ``` +> Then re-configure Cake Wallet's Linux project again. For this open `scripts/linux` (`$cd scripts/linux`) directory and run: +> `$ ./cakewallet.sh` +> and back to project root directory: +> `$ cd ../..` +> and fetch dependecies again +> `$ flutter pub get` Your CakeWallet binary will be built with some specific keys for iterate with 3rd party services. You may generate these secret keys placeholders with the following command: diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart index 7e9b2b23d..ff83f3adb 100644 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart +++ b/lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart @@ -24,45 +24,48 @@ class DesktopActionButton extends StatelessWidget { @override Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.fromLTRB(8, 0, 8, 8), - child: GestureDetector( - onTap: onTap, - child: Container( - padding: EdgeInsets.symmetric(vertical: 25), - width: double.infinity, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(15.0), - color: Theme.of(context).extension()!.syncedBackgroundColor, - ), - child: Center( - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Image.asset( - image, - height: 30, - width: 30, - color: isEnabled - ? Theme.of(context).extension()!.textColor - : Theme.of(context).extension()!.labelTextColor, - ), - const SizedBox(width: 10), - AutoSizeText( - title, - style: TextStyle( - fontSize: 24, - fontFamily: 'Lato', - fontWeight: FontWeight.bold, + return MouseRegion( + cursor: SystemMouseCursors.click, + child: Padding( + padding: const EdgeInsets.fromLTRB(8, 0, 8, 8), + child: GestureDetector( + onTap: onTap, + child: Container( + padding: EdgeInsets.symmetric(vertical: 25), + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(15.0), + color: Theme.of(context).extension()!.syncedBackgroundColor, + ), + child: Center( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Image.asset( + image, + height: 30, + width: 30, color: isEnabled ? Theme.of(context).extension()!.textColor - : null, - height: 1, + : Theme.of(context).extension()!.labelTextColor, ), - maxLines: 1, - textAlign: TextAlign.center, - ) - ], + const SizedBox(width: 10), + AutoSizeText( + title, + style: TextStyle( + fontSize: 24, + fontFamily: 'Lato', + fontWeight: FontWeight.bold, + color: isEnabled + ? Theme.of(context).extension()!.textColor + : null, + height: 1, + ), + maxLines: 1, + textAlign: TextAlign.center, + ) + ], + ), ), ), ),