From 6226c9e09468ea5da640ad16cbde7c7a69b46ca1 Mon Sep 17 00:00:00 2001 From: Arsen Latipov Date: Thu, 9 Oct 2025 23:16:34 +0300 Subject: [PATCH 1/3] [wave-53] GradientScaffoldWrapper backarrow added --- CHANGELOG.md | 4 +++ android/local.properties | 4 +-- lib/widgets/gradient_scaffold_wrapper.dart | 29 +++++++++++++++++++++- pubspec.yaml | 2 +- 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e854b1e..831afdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [3.0.1] + +- GradientScaffoldWrapper backarrow added + ## [3.0.0] - GradientScaffoldWrapper slider error fixed, FlexColorTheme package removed diff --git a/android/local.properties b/android/local.properties index a7026e4..126f529 100644 --- a/android/local.properties +++ b/android/local.properties @@ -1,2 +1,2 @@ -sdk.dir=C:\\Users\\windo\\AppData\\Local\\Android\\sdk -flutter.sdk=C:\\Users\\windo\\fvm\\versions\\3.32.8 \ No newline at end of file +sdk.dir=/Users/arsen/Library/Android/sdk +flutter.sdk=/Users/arsen/fvm/versions/3.27.4 \ No newline at end of file diff --git a/lib/widgets/gradient_scaffold_wrapper.dart b/lib/widgets/gradient_scaffold_wrapper.dart index 59d76b1..f92a031 100644 --- a/lib/widgets/gradient_scaffold_wrapper.dart +++ b/lib/widgets/gradient_scaffold_wrapper.dart @@ -8,11 +8,15 @@ class GradientScaffoldWrapper extends StatelessWidget { required this.child, required this.showLogo, this.iosTopPadding = 80, + this.onTapBack, + this.showArrow = true, }); final Widget child; final bool showLogo; final double? iosTopPadding; + final VoidCallback? onTapBack; + final bool showArrow; @override Widget build(BuildContext context) { @@ -26,8 +30,25 @@ class GradientScaffoldWrapper extends StatelessWidget { children: [ if (showLogo) Row( - mainAxisAlignment: MainAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Padding( + padding: EdgeInsets.only( + top: iosTopPadding != null ? iosTopPadding! : 20, + bottom: 20, + ), + child: IconButton( + onPressed: onTapBack?.call, + icon: Icon(Icons.chevron_left), + iconSize: 24, + color: showArrow ? Colors.white : Colors.transparent, + splashColor: Colors.transparent, + enableFeedback: false, + hoverColor: Colors.transparent, + focusColor: Colors.transparent, + highlightColor: Colors.transparent, + ), + ), Padding( padding: EdgeInsets.only( top: iosTopPadding != null ? iosTopPadding! : 20, @@ -35,6 +56,12 @@ class GradientScaffoldWrapper extends StatelessWidget { ), child: const WaveLogo(), ), + IconButton( + onPressed: () {}, + icon: Icon(Icons.chevron_left), + color: Colors.transparent, + splashColor: Colors.transparent, + ), ], ), diff --git a/pubspec.yaml b/pubspec.yaml index 0e0e5a5..5ba891e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: md_ui_kit description: "Miracle Development UI Kit" publish_to: "none" -version: 3.0.0 +version: 3.0.1 environment: sdk: ">=3.3.0 <4.0.0" From 035516e6d38cf621bdfda2b5ce0866efebd27552 Mon Sep 17 00:00:00 2001 From: Arsen Latipov Date: Thu, 9 Oct 2025 23:27:35 +0300 Subject: [PATCH 2/3] [wave-53] GradientScaffoldWrapper fix --- lib/widgets/gradient_scaffold_wrapper.dart | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/widgets/gradient_scaffold_wrapper.dart b/lib/widgets/gradient_scaffold_wrapper.dart index f92a031..489ba86 100644 --- a/lib/widgets/gradient_scaffold_wrapper.dart +++ b/lib/widgets/gradient_scaffold_wrapper.dart @@ -56,12 +56,7 @@ class GradientScaffoldWrapper extends StatelessWidget { ), child: const WaveLogo(), ), - IconButton( - onPressed: () {}, - icon: Icon(Icons.chevron_left), - color: Colors.transparent, - splashColor: Colors.transparent, - ), + const SizedBox(width: 48), ], ), From fc2afce35e0156c097e680291f15edaf1a6a8f0a Mon Sep 17 00:00:00 2001 From: Arsen Latipov Date: Wed, 22 Oct 2025 22:08:22 +0300 Subject: [PATCH 3/3] [wave-53] GradientScaffoldWrapper custom svg added, onTap tested, padding fix --- .../gradient_scaffold_wrapper/back_arrow.svg | 3 +++ lib/_core/precached_icons.dart | 6 ++++- .../gradient_scaffold_wrapper_story.dart | 4 ++++ lib/widgets/gradient_scaffold_wrapper.dart | 24 ++++++++++--------- pubspec.yaml | 1 + 5 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 assets/icons/gradient_scaffold_wrapper/back_arrow.svg diff --git a/assets/icons/gradient_scaffold_wrapper/back_arrow.svg b/assets/icons/gradient_scaffold_wrapper/back_arrow.svg new file mode 100644 index 0000000..c612dcf --- /dev/null +++ b/assets/icons/gradient_scaffold_wrapper/back_arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/_core/precached_icons.dart b/lib/_core/precached_icons.dart index 59a819a..d92b20c 100644 --- a/lib/_core/precached_icons.dart +++ b/lib/_core/precached_icons.dart @@ -22,7 +22,10 @@ class PrecachedIcons { static const settingsButton = 'assets/icons/circle_button/settings.svg'; static const leaveCallButton = 'assets/icons/circle_button/leave_call.svg'; static const startCallButton = 'assets/icons/circle_button/start_call.svg'; - static const participantMicIcon = 'assets/icons/participants/mic_muted_mini.svg'; + static const participantMicIcon = + 'assets/icons/participants/mic_muted_mini.svg'; + static const backArrow = + 'assets/icons/gradient_scaffold_wrapper/back_arrow.svg'; List get iconsToPrecache => const [ SvgAssetLoader(copyDefaultIcon), @@ -43,6 +46,7 @@ class PrecachedIcons { SvgAssetLoader(leaveCallButton), SvgAssetLoader(startCallButton), SvgAssetLoader(participantMicIcon), + SvgAssetLoader(backArrow), ]; void precache(BuildContext context) { diff --git a/lib/_stories/widgets/gradient_scaffold_wrapper_story.dart b/lib/_stories/widgets/gradient_scaffold_wrapper_story.dart index 2e29b6e..a09aef6 100644 --- a/lib/_stories/widgets/gradient_scaffold_wrapper_story.dart +++ b/lib/_stories/widgets/gradient_scaffold_wrapper_story.dart @@ -40,6 +40,10 @@ class _GradientScaffoldWrapperStoryState return GradientScaffoldWrapper( showLogo: showLogo, iosTopPadding: iosTopPadding.toDouble(), + onTapBack: () { + // ignore: avoid_print + print('Back tapped'); + }, child: showScroll ? Stack( children: [ diff --git a/lib/widgets/gradient_scaffold_wrapper.dart b/lib/widgets/gradient_scaffold_wrapper.dart index 489ba86..dbc6ad1 100644 --- a/lib/widgets/gradient_scaffold_wrapper.dart +++ b/lib/widgets/gradient_scaffold_wrapper.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:md_ui_kit/_core/precached_icons.dart'; import 'package:md_ui_kit/widgets/blurred_circle.dart'; import 'package:md_ui_kit/widgets/wave_logo.dart'; @@ -36,17 +38,17 @@ class GradientScaffoldWrapper extends StatelessWidget { padding: EdgeInsets.only( top: iosTopPadding != null ? iosTopPadding! : 20, bottom: 20, + left: 20, ), - child: IconButton( - onPressed: onTapBack?.call, - icon: Icon(Icons.chevron_left), - iconSize: 24, - color: showArrow ? Colors.white : Colors.transparent, - splashColor: Colors.transparent, - enableFeedback: false, - hoverColor: Colors.transparent, - focusColor: Colors.transparent, - highlightColor: Colors.transparent, + child: InkWell( + onTap: onTapBack?.call, + child: SizedBox( + width: 24, + height: 24, + child: SvgPicture.asset( + PrecachedIcons.backArrow, + ), + ), ), ), Padding( @@ -56,7 +58,7 @@ class GradientScaffoldWrapper extends StatelessWidget { ), child: const WaveLogo(), ), - const SizedBox(width: 48), + const SizedBox(width: 24), ], ), diff --git a/pubspec.yaml b/pubspec.yaml index 5ba891e..184b6de 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,6 +43,7 @@ flutter: - assets/icons/mic/ - assets/icons/circle_button/ - assets/icons/participants/ + - assets/icons/gradient_scaffold_wrapper/ fonts: - family: Play