From dd5cc1e5170023ecf92df382d1d2e3bb13caac9b Mon Sep 17 00:00:00 2001 From: Bram Verhulst Date: Tue, 4 Aug 2026 12:05:46 +0200 Subject: [PATCH] feat: add clear search box fix: close text size --- lib/l10n/app_en.arb | 1 + lib/l10n/app_localizations.dart | 6 ++++++ lib/l10n/app_localizations_en.dart | 3 +++ lib/l10n/app_localizations_nl.dart | 3 +++ lib/l10n/app_nl.arb | 1 + lib/views/bar_screen_view.dart | 12 ++++++++++++ lib/views/widgets/slide_confirm.dart | 20 +++++++++++++++----- pubspec.yaml | 2 +- 8 files changed, 42 insertions(+), 6 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index c8180b5..736b374 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -19,6 +19,7 @@ "couldNotCreateTab": "Could not create tab: {error}", "@couldNotCreateTab": {"placeholders": {"error": {"type": "String"}}}, "searchByName": "Search by name…", + "clearSearch": "Clear search", "allCustomers": "All customers", "customer": "Customer", "noClosedTabs": "No closed tabs yet", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index f53bf6d..ef1a124 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -206,6 +206,12 @@ abstract class AppLocalizations { /// **'Search by name…'** String get searchByName; + /// No description provided for @clearSearch. + /// + /// In en, this message translates to: + /// **'Clear search'** + String get clearSearch; + /// No description provided for @allCustomers. /// /// In en, this message translates to: diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 745e21a..48bf43f 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -64,6 +64,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get searchByName => 'Search by name…'; + @override + String get clearSearch => 'Clear search'; + @override String get allCustomers => 'All customers'; diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index 50f468e..9bdb104 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -64,6 +64,9 @@ class AppLocalizationsNl extends AppLocalizations { @override String get searchByName => 'Zoeken op naam…'; + @override + String get clearSearch => 'Zoekopdracht wissen'; + @override String get allCustomers => 'Alle klanten'; diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 7a1de97..3a97ca6 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -19,6 +19,7 @@ "couldNotCreateTab": "Poef kon niet worden aangemaakt: {error}", "@couldNotCreateTab": {"placeholders": {"error": {"type": "String"}}}, "searchByName": "Zoeken op naam…", + "clearSearch": "Zoekopdracht wissen", "allCustomers": "Alle klanten", "customer": "Klant", "noClosedTabs": "Nog geen gesloten poefs", diff --git a/lib/views/bar_screen_view.dart b/lib/views/bar_screen_view.dart index 6cf8bb3..54f257a 100644 --- a/lib/views/bar_screen_view.dart +++ b/lib/views/bar_screen_view.dart @@ -411,6 +411,18 @@ class _TabPanelState extends State<_TabPanel> { decoration: InputDecoration( hintText: l10n.searchByName, prefixIcon: Icon(Icons.search_rounded, size: 20), + suffixIcon: _searchQuery.isEmpty + ? null + : IconButton( + onPressed: () { + _searchController.clear(); + setState(() { + _searchQuery = ''; + }); + }, + icon: const Icon(Icons.clear_rounded), + tooltip: l10n.clearSearch, + ), isDense: true, ), ), diff --git a/lib/views/widgets/slide_confirm.dart b/lib/views/widgets/slide_confirm.dart index 47c3582..fcca086 100644 --- a/lib/views/widgets/slide_confirm.dart +++ b/lib/views/widgets/slide_confirm.dart @@ -39,11 +39,21 @@ class _SlideConfirmState extends State { alignment: Alignment.centerLeft, children: [ Center( - child: Text( - _confirmed ? l10n.closingTab : l10n.slideToConfirmClosing, - style: TextStyle( - color: scheme.error, - fontWeight: FontWeight.w700, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: size), + child: FittedBox( + fit: BoxFit.scaleDown, + child: Text( + _confirmed + ? l10n.closingTab + : l10n.slideToConfirmClosing, + maxLines: 1, + style: TextStyle( + color: scheme.error, + fontSize: 13, + fontWeight: FontWeight.w700, + ), + ), ), ), ), diff --git a/pubspec.yaml b/pubspec.yaml index 8203d03..a9bd690 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.11 +version: 1.0.12 environment: sdk: ^3.12.2