From 3dfd02de79dc2fb0b3f16c9cc9a3dd618e723fc8 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Fri, 21 Nov 2025 05:25:40 +0100 Subject: [PATCH] use dedicated call for default bang url --- app/lib/features/bangs/data/models/bang.dart | 3 +++ .../features/bangs/presentation/widgets/bang_details.dart | 4 ++-- .../features/bangs/presentation/widgets/site_search.dart | 2 +- .../features/search/presentation/widgets/bang_chips.dart | 2 +- .../features/search/presentation/widgets/search_field.dart | 4 +--- .../onboarding/presentation/pages/default_search.dart | 6 ++---- .../features/settings/presentation/widgets/bang_icon.dart | 2 +- .../presentation/widgets/default_search_selector.dart | 2 +- 8 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/lib/features/bangs/data/models/bang.dart b/app/lib/features/bangs/data/models/bang.dart index d767949a..243cabe8 100644 --- a/app/lib/features/bangs/data/models/bang.dart +++ b/app/lib/features/bangs/data/models/bang.dart @@ -92,6 +92,9 @@ class Bang with FastEquatable implements Insertable { : Uri.encodeComponent(input) : input; } + Uri getDefaultUrl() { + return getTemplateUrl(''); + } Uri getTemplateUrl(String? query) { final url = (query != null) diff --git a/app/lib/features/bangs/presentation/widgets/bang_details.dart b/app/lib/features/bangs/presentation/widgets/bang_details.dart index f1edc3df..a9658d78 100644 --- a/app/lib/features/bangs/presentation/widgets/bang_details.dart +++ b/app/lib/features/bangs/presentation/widgets/bang_details.dart @@ -58,7 +58,7 @@ class BangDetails extends HookConsumerWidget { children: [ Row( children: [ - UrlIcon([bangData.getTemplateUrl('')], iconSize: 34.0), + UrlIcon([bangData.getDefaultUrl()], iconSize: 34.0), const SizedBox(width: 12.0), Expanded( child: Column( @@ -87,7 +87,7 @@ class BangDetails extends HookConsumerWidget { visualDensity: VisualDensity.compact, ), onPressed: () async { - final url = Uri.parse(bangData.getTemplateUrl('').origin); + final url = Uri.parse(bangData.getDefaultUrl().origin); final isPrivate = ref .read(generalSettingsWithDefaultsProvider) diff --git a/app/lib/features/bangs/presentation/widgets/site_search.dart b/app/lib/features/bangs/presentation/widgets/site_search.dart index 639c4dcc..3d820664 100644 --- a/app/lib/features/bangs/presentation/widgets/site_search.dart +++ b/app/lib/features/bangs/presentation/widgets/site_search.dart @@ -128,7 +128,7 @@ class SiteSearch extends HookConsumerWidget { child: SelectableChips( itemId: (bang) => bang.trigger, itemAvatar: (bang) => - UrlIcon([bang.getTemplateUrl('')], iconSize: 20), + UrlIcon([bang.getDefaultUrl()], iconSize: 20), itemLabel: (bang) => Text(bang.websiteName), itemTooltip: (bang) => bang.trigger, availableItems: availableBangs, diff --git a/app/lib/features/geckoview/features/search/presentation/widgets/bang_chips.dart b/app/lib/features/geckoview/features/search/presentation/widgets/bang_chips.dart index 41f73f0c..b34f1fa1 100644 --- a/app/lib/features/geckoview/features/search/presentation/widgets/bang_chips.dart +++ b/app/lib/features/geckoview/features/search/presentation/widgets/bang_chips.dart @@ -92,7 +92,7 @@ class BangChips extends HookConsumerWidget { child: SelectableChips( itemId: (bang) => bang.trigger, itemAvatar: (bang) => - UrlIcon([bang.getTemplateUrl('')], iconSize: 20), + UrlIcon([bang.getDefaultUrl()], iconSize: 20), itemLabel: (bang) => Text(bang.websiteName), itemTooltip: (bang) => bang.trigger, availableItems: availableBangs, diff --git a/app/lib/features/geckoview/features/search/presentation/widgets/search_field.dart b/app/lib/features/geckoview/features/search/presentation/widgets/search_field.dart index b78c851b..d1f656c2 100644 --- a/app/lib/features/geckoview/features/search/presentation/widgets/search_field.dart +++ b/app/lib/features/geckoview/features/search/presentation/widgets/search_field.dart @@ -110,9 +110,7 @@ class SearchField extends HookConsumerWidget { prefixIcon: (showBangIcon && activeBang != null) ? Padding( padding: const EdgeInsetsDirectional.all(12.0), - child: UrlIcon([ - activeBang!.getTemplateUrl(''), - ], iconSize: 24.0), + child: UrlIcon([activeBang!.getDefaultUrl()], iconSize: 24.0), ) : null, label: label ?? const Text('Search'), diff --git a/app/lib/features/onboarding/presentation/pages/default_search.dart b/app/lib/features/onboarding/presentation/pages/default_search.dart index fd380307..b72a3143 100644 --- a/app/lib/features/onboarding/presentation/pages/default_search.dart +++ b/app/lib/features/onboarding/presentation/pages/default_search.dart @@ -83,9 +83,7 @@ class DefaultSearchPage extends HookConsumerWidget { child: FilterChip( showCheckmark: false, label: Text(activeBang.websiteName), - avatar: UrlIcon([ - activeBang.getTemplateUrl(''), - ], iconSize: 20), + avatar: UrlIcon([activeBang.getDefaultUrl()], iconSize: 20), selected: true, onSelected: (value) {}, ), @@ -98,7 +96,7 @@ class DefaultSearchPage extends HookConsumerWidget { (bang) => FilterChip( showCheckmark: false, label: Text(bang.websiteName), - avatar: UrlIcon([bang.getTemplateUrl('')], iconSize: 20), + avatar: UrlIcon([bang.getDefaultUrl()], iconSize: 20), selected: activeBang?.trigger == bang.trigger, onSelected: (selected) async { if (selected) { diff --git a/app/lib/features/settings/presentation/widgets/bang_icon.dart b/app/lib/features/settings/presentation/widgets/bang_icon.dart index 647f7ea5..70fea5ae 100644 --- a/app/lib/features/settings/presentation/widgets/bang_icon.dart +++ b/app/lib/features/settings/presentation/widgets/bang_icon.dart @@ -36,7 +36,7 @@ class BangIcon extends ConsumerWidget { ); return UrlIcon([ - if (bang != null) bang.getTemplateUrl(''), + if (bang != null) bang.getDefaultUrl(), ], iconSize: iconSize); } } diff --git a/app/lib/features/settings/presentation/widgets/default_search_selector.dart b/app/lib/features/settings/presentation/widgets/default_search_selector.dart index 9bfda748..27d24f86 100644 --- a/app/lib/features/settings/presentation/widgets/default_search_selector.dart +++ b/app/lib/features/settings/presentation/widgets/default_search_selector.dart @@ -57,7 +57,7 @@ class DefaultSearchSelector extends HookConsumerWidget { child: SelectableChips( itemId: (bang) => bang.trigger, itemAvatar: (bang) => - UrlIcon([bang.getTemplateUrl('')], iconSize: 20), + UrlIcon([bang.getDefaultUrl()], iconSize: 20), itemLabel: (bang) => Text(bang.websiteName), itemTooltip: (bang) => bang.trigger, availableItems: availableBangs,