From 46eb9cf42dd3d2d1d03c46aca3dded01ea953dca Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Wed, 28 Oct 2026 04:21:47 +0100 Subject: [PATCH] fix: mirror the Contacts drawer, search fields and Files chevrons correctly in right-to-left languages --- components/contacts/contact-form.tsx | 2 +- components/contacts/contact-group-form.tsx | 2 +- components/contacts/contact-list.tsx | 6 +++--- components/contacts/directory-browser.tsx | 8 ++++---- components/files/file-picker-dialog.tsx | 4 ++-- components/files/files-header.tsx | 6 +++--- components/files/files-sidebar.tsx | 6 +++--- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/components/contacts/contact-form.tsx b/components/contacts/contact-form.tsx index f310eb0a4..a6be45fdf 100644 --- a/components/contacts/contact-form.tsx +++ b/components/contacts/contact-form.tsx @@ -988,7 +988,7 @@ export function ContactForm({ contact, addressBooks, allKeywords, defaultAddress
{addresses.map((addr, i) => (
- { const n = [...addresses]; n[i] = { ...n[i], street: e.target.value }; setAddresses(n); }} placeholder={t("street")} /> diff --git a/components/contacts/contact-group-form.tsx b/components/contacts/contact-group-form.tsx index 1ecf0aad4..105b37fea 100644 --- a/components/contacts/contact-group-form.tsx +++ b/components/contacts/contact-group-form.tsx @@ -116,7 +116,7 @@ export function ContactGroupForm({ {t("groups.members_label")} ({selectedIds.size})
- + : }
- + onSearchChange("")} - className="absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded-full hover:bg-muted text-muted-foreground hover:text-foreground transition-colors" + className="absolute end-2 top-1/2 -translate-y-1/2 p-1 rounded-full hover:bg-muted text-muted-foreground hover:text-foreground transition-colors" aria-label={t("clear_search")} > @@ -437,7 +437,7 @@ export function ContactList({ > {!filtersOpen && activeFilters > 0 && ( - + {activeFilters} )} diff --git a/components/contacts/directory-browser.tsx b/components/contacts/directory-browser.tsx index 9ee8a294b..06deb1757 100644 --- a/components/contacts/directory-browser.tsx +++ b/components/contacts/directory-browser.tsx @@ -155,7 +155,7 @@ export function DirectoryBrowser({ {pageAllSelected ? : }
- + { setQuery(""); setPage(0); }} - className="absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded-full hover:bg-muted text-muted-foreground hover:text-foreground transition-colors" + className="absolute end-2 top-1/2 -translate-y-1/2 p-1 rounded-full hover:bg-muted text-muted-foreground hover:text-foreground transition-colors" aria-label={tContacts("clear_search")} > @@ -258,7 +258,7 @@ export function DirectoryBrowser({ className="p-1.5 rounded-md hover:bg-muted hover:text-foreground disabled:opacity-40 disabled:hover:bg-transparent" aria-label={t("previous_page")} > - + {t("page", { page: currentPage + 1, count: pageCount })}
)} diff --git a/components/files/file-picker-dialog.tsx b/components/files/file-picker-dialog.tsx index 9cac8aa4c..4b2364a0f 100644 --- a/components/files/file-picker-dialog.tsx +++ b/components/files/file-picker-dialog.tsx @@ -144,7 +144,7 @@ export function FilePickerDialog({ client, onClose, onPick }: FilePickerDialogPr {name} {detail && {detail}}
- + ); @@ -276,7 +276,7 @@ export function FilePickerDialog({ client, onClose, onPick }: FilePickerDialogPr {trail.map((crumb, i) => ( - + ) : ( @@ -244,7 +244,7 @@ export function FilesSidebar({ aria-expanded={!collapsed[key]} > {collapsed[key] - ? + ? : } {icon} {label} @@ -315,7 +315,7 @@ export function FilesSidebar({ className="p-0.5 -ms-1 rounded hover:bg-foreground/10 text-muted-foreground shrink-0" aria-label={collapsed.tree ? t("expand_folder", { name: t("my_files") }) : t("collapse_folder", { name: t("my_files") })} > - {collapsed.tree ? : } + {collapsed.tree ? : } ) : (