From 9d8b5e3575dff2f847d469485c8c003d2e9ce974 Mon Sep 17 00:00:00 2001
From: DS Boyce <260543580+ds-boyce@users.noreply.github.com>
Date: Fri, 24 Jul 2026 10:40:37 -0700
Subject: [PATCH] Tweak advanced search UI for better localization (#11266)
---
.../AdvancedSearchDialog/FromDropdown.tsx | 37 +++++++++++-------
.../AdvancedSearchDialog/MediaDropdown.tsx | 39 +++++++++++--------
.../AdvancedSearchDialog/RepliesDropdown.tsx | 39 +++++++++++--------
.../components/AdvancedSearchDialog/hooks.tsx | 2 +-
.../components/AdvancedSearchDialog/index.tsx | 4 +-
.../components/SearchLanguageDropdown.tsx | 9 ++---
6 files changed, 74 insertions(+), 56 deletions(-)
diff --git a/src/screens/Search/components/AdvancedSearchDialog/FromDropdown.tsx b/src/screens/Search/components/AdvancedSearchDialog/FromDropdown.tsx
index ee7e0a8c01..abcaf59285 100644
--- a/src/screens/Search/components/AdvancedSearchDialog/FromDropdown.tsx
+++ b/src/screens/Search/components/AdvancedSearchDialog/FromDropdown.tsx
@@ -1,4 +1,4 @@
-import {Trans, useLingui} from '@lingui/react/macro'
+import {useLingui} from '@lingui/react/macro'
import {platform} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
@@ -19,11 +19,12 @@ export function FromDropdown({
const {t: l} = useLingui()
const options: {value: FromFilter; label: string}[] = [
- {value: 'anyone', label: l`Anyone`},
+ {value: 'anyone', label: l`No author filter`},
{value: 'following', label: l`People I follow`},
{value: 'me', label: l`Me`},
]
- const currentLabel = options.find(o => o.value === value)?.label ?? l`Anyone`
+ const currentLabel =
+ options.find(o => o.value === value)?.label ?? l`No author filter`
return (
@@ -45,19 +46,25 @@ export function FromDropdown({
)}
-
- Filter by author
-
+ onChange(options[0].value)}>
+ {options[0].label}
+
+
+
- {options.map(option => (
- onChange(option.value)}>
- {option.label}
-
-
- ))}
+ {options.map((option, index) =>
+ index === 0 ? null : (
+ onChange(option.value)}>
+ {option.label}
+
+
+ ),
+ )}
diff --git a/src/screens/Search/components/AdvancedSearchDialog/MediaDropdown.tsx b/src/screens/Search/components/AdvancedSearchDialog/MediaDropdown.tsx
index 1f4c424c8a..9fed05152f 100644
--- a/src/screens/Search/components/AdvancedSearchDialog/MediaDropdown.tsx
+++ b/src/screens/Search/components/AdvancedSearchDialog/MediaDropdown.tsx
@@ -1,4 +1,4 @@
-import {Trans, useLingui} from '@lingui/react/macro'
+import {useLingui} from '@lingui/react/macro'
import {platform} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
@@ -19,16 +19,17 @@ export function MediaDropdown({
const {t: l} = useLingui()
const options: {value: MediaFilter; label: string}[] = [
- {value: 'all', label: l`All posts`},
+ {value: 'all', label: l`No media filter`},
{value: 'media', label: l`Only posts with media`},
{value: 'video', label: l`Only posts with videos`},
]
const currentLabel =
- options.find(o => o.value === value)?.label ?? l`All posts`
+ options.find(o => o.value === value)?.label ?? l`No media filter`
return (
-
+
{({props}) => (
diff --git a/src/screens/Search/components/AdvancedSearchDialog/RepliesDropdown.tsx b/src/screens/Search/components/AdvancedSearchDialog/RepliesDropdown.tsx
index 52f352dd08..ca18c77d45 100644
--- a/src/screens/Search/components/AdvancedSearchDialog/RepliesDropdown.tsx
+++ b/src/screens/Search/components/AdvancedSearchDialog/RepliesDropdown.tsx
@@ -1,4 +1,4 @@
-import {Trans, useLingui} from '@lingui/react/macro'
+import {useLingui} from '@lingui/react/macro'
import {platform} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
@@ -19,11 +19,12 @@ export function RepliesDropdown({
const {t: l} = useLingui()
const options: {value: RepliesFilter; label: string}[] = [
- {value: 'all', label: l`Posts and replies`},
- {value: 'none', label: l`No replies`},
+ {value: 'all', label: l`No post filter`},
+ {value: 'none', label: l`Only posts`},
{value: 'only', label: l`Only replies`},
]
- const currentLabel = options.find(o => o.value === value)?.label ?? l`All`
+ const currentLabel =
+ options.find(o => o.value === value)?.label ?? l`No post filter`
return (
@@ -46,19 +47,25 @@ export function RepliesDropdown({
)}
-
- Include these results
-
+ onChange(options[0].value)}>
+ {options[0].label}
+
+
+
- {options.map(option => (
- onChange(option.value)}>
- {option.label}
-
-
- ))}
+ {options.map((option, index) =>
+ index === 0 ? null : (
+ onChange(option.value)}>
+ {option.label}
+
+
+ ),
+ )}
diff --git a/src/screens/Search/components/AdvancedSearchDialog/hooks.tsx b/src/screens/Search/components/AdvancedSearchDialog/hooks.tsx
index 37c87f84f2..40979345b2 100644
--- a/src/screens/Search/components/AdvancedSearchDialog/hooks.tsx
+++ b/src/screens/Search/components/AdvancedSearchDialog/hooks.tsx
@@ -59,7 +59,7 @@ export function useFilterFieldLabels(): Record<
message: 'These URLs',
comment: 'Advanced search filter',
}),
- label: 'bsky.app atproto.com',
+ label: 'https://bsky.app https://atproto.com',
},
}
}
diff --git a/src/screens/Search/components/AdvancedSearchDialog/index.tsx b/src/screens/Search/components/AdvancedSearchDialog/index.tsx
index b62620ffe3..43876c0d74 100644
--- a/src/screens/Search/components/AdvancedSearchDialog/index.tsx
+++ b/src/screens/Search/components/AdvancedSearchDialog/index.tsx
@@ -390,7 +390,7 @@ function DialogInner({
a.mb_sm,
]}>
- Include
+ Post type
@@ -406,7 +406,7 @@ function DialogInner({
a.mb_sm,
]}>
- From
+ Author
diff --git a/src/screens/Search/components/SearchLanguageDropdown.tsx b/src/screens/Search/components/SearchLanguageDropdown.tsx
index f746917ff9..b342753000 100644
--- a/src/screens/Search/components/SearchLanguageDropdown.tsx
+++ b/src/screens/Search/components/SearchLanguageDropdown.tsx
@@ -62,7 +62,7 @@ export function SearchLanguageDropdown({
}, [appLanguage, contentLanguages, primaryLanguage])
const currentLanguageLabel =
- languages.find(lang => lang.value === value)?.label ?? l`All languages`
+ languages.find(lang => lang.value === value)?.label ?? l`No language filter`
return (
@@ -88,12 +88,9 @@ export function SearchLanguageDropdown({
)}
-
- Filter search by language
-
- onChange('')}>
+ onChange('')}>
- All languages
+ No language filter