diff --git a/assets/images/ic_arrow_back_ios.svg b/assets/images/ic_arrow_back_ios.svg new file mode 100644 index 000000000..621f359a7 --- /dev/null +++ b/assets/images/ic_arrow_back_ios.svg @@ -0,0 +1,3 @@ + + + diff --git a/core/lib/presentation/resources/image_paths.dart b/core/lib/presentation/resources/image_paths.dart index 2faff1071..445a597f4 100644 --- a/core/lib/presentation/resources/image_paths.dart +++ b/core/lib/presentation/resources/image_paths.dart @@ -241,6 +241,7 @@ class ImagePaths { String get icRefreshQuotas => _getImagePath('ic_refresh_quotas.svg'); String get icCreateFilter => _getImagePath('ic_create_filter.svg'); String get icArrowBack => _getImagePath('ic_arrow_back.svg'); + String get icArrowBackIos => _getImagePath('ic_arrow_back_ios.svg'); String get icRadio => _getImagePath('ic_radio.svg'); String get icRadioSelected => _getImagePath('ic_radio_selected.svg'); String get icCheck => _getImagePath('ic_check.svg'); diff --git a/scribe/lib/scribe/ai/presentation/styles/ai_scribe_styles.dart b/scribe/lib/scribe/ai/presentation/styles/ai_scribe_styles.dart index 3ec323d3a..988648d3f 100644 --- a/scribe/lib/scribe/ai/presentation/styles/ai_scribe_styles.dart +++ b/scribe/lib/scribe/ai/presentation/styles/ai_scribe_styles.dart @@ -12,6 +12,7 @@ abstract final class AIScribeColors { // Icons static const Color scribeIcon = AppColor.primaryMain; static const Color aiAssistantIcon = AppColor.primaryMain; + static final Color bottomsheetIcon = AppColor.gray424244.withValues(alpha: 0.72); // Overlays static final Color dialogBarrier = Colors.black.withValues(alpha: 0.12); @@ -144,6 +145,7 @@ abstract final class AIScribeSizes { static const double sendIcon = 16; static const double scribeIcon = 12; static const double aiAssistantIcon = 24; + static const double bottomsheetIcon = 20; // Padding static const EdgeInsetsGeometry menuItemPadding = diff --git a/scribe/lib/scribe/ai/presentation/widgets/mobile/ai_scribe_mobile_actions_bottom_sheet.dart b/scribe/lib/scribe/ai/presentation/widgets/mobile/ai_scribe_mobile_actions_bottom_sheet.dart index c0a9dbaad..3397dcf09 100644 --- a/scribe/lib/scribe/ai/presentation/widgets/mobile/ai_scribe_mobile_actions_bottom_sheet.dart +++ b/scribe/lib/scribe/ai/presentation/widgets/mobile/ai_scribe_mobile_actions_bottom_sheet.dart @@ -1,5 +1,6 @@ import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/resources/image_paths.dart'; +import 'package:core/presentation/views/button/tmail_button_widget.dart'; import 'package:flutter/material.dart'; import 'package:scribe/scribe.dart'; @@ -50,17 +51,14 @@ class _AiScribeMobileActionsBottomSheetState valueListenable: _selectedCategory, builder: (context, selectedCategory, _) { return selectedCategory != null - ? GestureDetector( - onTap: _goBackToCategories, - child: Padding( - padding: AIScribeSizes.backIconPadding, - child: Icon( - Icons.chevron_left, - size: AIScribeSizes.aiAssistantIcon, - color: AppColor.gray424244.withValues(alpha: 0.72), - ), - ), - ) + ? TMailButtonWidget.fromIcon( + icon: widget.imagePaths.icArrowBackIos, + backgroundColor: Colors.transparent, + iconSize: AIScribeSizes.bottomsheetIcon, + iconColor: AIScribeColors.bottomsheetIcon, + padding: AIScribeSizes.backIconPadding, + onTapActionCallback: _goBackToCategories + ) : const SizedBox.shrink(); }, ), @@ -75,14 +73,13 @@ class _AiScribeMobileActionsBottomSheetState }, ), ), - IconButton( - icon: const Icon( - Icons.close, - size: AIScribeSizes.aiAssistantIcon, - ), - color: AppColor.gray424244.withValues(alpha: 0.72), - onPressed: () => Navigator.of(context).pop(), - ), + TMailButtonWidget.fromIcon( + icon: widget.imagePaths.icCloseDialog, + backgroundColor: Colors.transparent, + iconSize: AIScribeSizes.bottomsheetIcon, + iconColor: AIScribeColors.bottomsheetIcon, + onTapActionCallback: () => Navigator.of(context).pop() + ) ], ), );