use dedicated call for default bang url

This commit is contained in:
Fabian Freund
2025-11-21 05:25:40 +01:00
parent 8f612f5181
commit 3dfd02de79
8 changed files with 12 additions and 13 deletions
@@ -92,6 +92,9 @@ class Bang with FastEquatable implements Insertable<Bang> {
: Uri.encodeComponent(input) : Uri.encodeComponent(input)
: input; : input;
} }
Uri getDefaultUrl() {
return getTemplateUrl('');
}
Uri getTemplateUrl(String? query) { Uri getTemplateUrl(String? query) {
final url = (query != null) final url = (query != null)
@@ -58,7 +58,7 @@ class BangDetails extends HookConsumerWidget {
children: [ children: [
Row( Row(
children: [ children: [
UrlIcon([bangData.getTemplateUrl('')], iconSize: 34.0), UrlIcon([bangData.getDefaultUrl()], iconSize: 34.0),
const SizedBox(width: 12.0), const SizedBox(width: 12.0),
Expanded( Expanded(
child: Column( child: Column(
@@ -87,7 +87,7 @@ class BangDetails extends HookConsumerWidget {
visualDensity: VisualDensity.compact, visualDensity: VisualDensity.compact,
), ),
onPressed: () async { onPressed: () async {
final url = Uri.parse(bangData.getTemplateUrl('').origin); final url = Uri.parse(bangData.getDefaultUrl().origin);
final isPrivate = final isPrivate =
ref ref
.read(generalSettingsWithDefaultsProvider) .read(generalSettingsWithDefaultsProvider)
@@ -128,7 +128,7 @@ class SiteSearch extends HookConsumerWidget {
child: SelectableChips( child: SelectableChips(
itemId: (bang) => bang.trigger, itemId: (bang) => bang.trigger,
itemAvatar: (bang) => itemAvatar: (bang) =>
UrlIcon([bang.getTemplateUrl('')], iconSize: 20), UrlIcon([bang.getDefaultUrl()], iconSize: 20),
itemLabel: (bang) => Text(bang.websiteName), itemLabel: (bang) => Text(bang.websiteName),
itemTooltip: (bang) => bang.trigger, itemTooltip: (bang) => bang.trigger,
availableItems: availableBangs, availableItems: availableBangs,
@@ -92,7 +92,7 @@ class BangChips extends HookConsumerWidget {
child: SelectableChips( child: SelectableChips(
itemId: (bang) => bang.trigger, itemId: (bang) => bang.trigger,
itemAvatar: (bang) => itemAvatar: (bang) =>
UrlIcon([bang.getTemplateUrl('')], iconSize: 20), UrlIcon([bang.getDefaultUrl()], iconSize: 20),
itemLabel: (bang) => Text(bang.websiteName), itemLabel: (bang) => Text(bang.websiteName),
itemTooltip: (bang) => bang.trigger, itemTooltip: (bang) => bang.trigger,
availableItems: availableBangs, availableItems: availableBangs,
@@ -110,9 +110,7 @@ class SearchField extends HookConsumerWidget {
prefixIcon: (showBangIcon && activeBang != null) prefixIcon: (showBangIcon && activeBang != null)
? Padding( ? Padding(
padding: const EdgeInsetsDirectional.all(12.0), padding: const EdgeInsetsDirectional.all(12.0),
child: UrlIcon([ child: UrlIcon([activeBang!.getDefaultUrl()], iconSize: 24.0),
activeBang!.getTemplateUrl(''),
], iconSize: 24.0),
) )
: null, : null,
label: label ?? const Text('Search'), label: label ?? const Text('Search'),
@@ -83,9 +83,7 @@ class DefaultSearchPage extends HookConsumerWidget {
child: FilterChip( child: FilterChip(
showCheckmark: false, showCheckmark: false,
label: Text(activeBang.websiteName), label: Text(activeBang.websiteName),
avatar: UrlIcon([ avatar: UrlIcon([activeBang.getDefaultUrl()], iconSize: 20),
activeBang.getTemplateUrl(''),
], iconSize: 20),
selected: true, selected: true,
onSelected: (value) {}, onSelected: (value) {},
), ),
@@ -98,7 +96,7 @@ class DefaultSearchPage extends HookConsumerWidget {
(bang) => FilterChip( (bang) => FilterChip(
showCheckmark: false, showCheckmark: false,
label: Text(bang.websiteName), label: Text(bang.websiteName),
avatar: UrlIcon([bang.getTemplateUrl('')], iconSize: 20), avatar: UrlIcon([bang.getDefaultUrl()], iconSize: 20),
selected: activeBang?.trigger == bang.trigger, selected: activeBang?.trigger == bang.trigger,
onSelected: (selected) async { onSelected: (selected) async {
if (selected) { if (selected) {
@@ -36,7 +36,7 @@ class BangIcon extends ConsumerWidget {
); );
return UrlIcon([ return UrlIcon([
if (bang != null) bang.getTemplateUrl(''), if (bang != null) bang.getDefaultUrl(),
], iconSize: iconSize); ], iconSize: iconSize);
} }
} }
@@ -57,7 +57,7 @@ class DefaultSearchSelector extends HookConsumerWidget {
child: SelectableChips( child: SelectableChips(
itemId: (bang) => bang.trigger, itemId: (bang) => bang.trigger,
itemAvatar: (bang) => itemAvatar: (bang) =>
UrlIcon([bang.getTemplateUrl('')], iconSize: 20), UrlIcon([bang.getDefaultUrl()], iconSize: 20),
itemLabel: (bang) => Text(bang.websiteName), itemLabel: (bang) => Text(bang.websiteName),
itemTooltip: (bang) => bang.trigger, itemTooltip: (bang) => bang.trigger,
availableItems: availableBangs, availableItems: availableBangs,