Skip to content

Commit b6bf4b4

Browse files
committed
fix: improve Sort By dropdown styling consistency
- Remove blue outline and inconsistent hover backgrounds - Add proper focus/active states styles to match the design system - Improve light/dark mode theme integration - Fix trigger background blending issues Fixes #1372
1 parent ab62df9 commit b6bf4b4

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

frontend/src/components/SortBy.tsx

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,25 @@ const SortBy = ({
1515
return (
1616
<div className="flex items-center gap-2">
1717
{/* Sort Attribute Dropdown */}
18-
<div className="inline-flex h-12 items-center rounded-lg bg-gray-200 dark:bg-[#323232]">
18+
<div className="inline-flex h-12 items-center rounded-lg bg-gray-100 dark:bg-[#323232] border border-gray-300 dark:border-gray-600 shadow-sm hover:shadow-md transition-all duration-200">
1919
<Select
2020
className=""
2121
labelPlacement="outside-left"
2222
size="md"
2323
label="Sort By :"
2424
classNames={{
2525
label:
26-
'font-small text-sm text-gray-600 hover:cursor-pointer dark:text-gray-300 pl-[1.4rem] w-auto',
27-
trigger: 'bg-gray-200 dark:bg-[#323232] pl-0 text-nowrap w-32',
28-
popoverContent: 'text-md min-w-36 dark:bg-[#323232] rounded-none p-0',
26+
'font-medium text-sm text-gray-700 dark:text-gray-300 pl-[1.4rem] w-auto select-none',
27+
trigger:
28+
'bg-transparent hover:bg-transparent dark:bg-transparent dark:hover:bg-transparent focus:bg-transparent data-[hover=true]:bg-transparent data-[focus=true]:bg-transparent focus:outline-none focus:ring-0 border-none shadow-none text-nowrap w-32 min-h-8 h-8 text-sm font-medium text-gray-800 dark:text-gray-200 hover:text-gray-900 dark:hover:text-gray-100 transition-colors duration-200 !bg-transparent',
29+
value:
30+
'text-gray-800 dark:text-gray-200 font-medium',
31+
selectorIcon:
32+
'text-gray-500 dark:text-gray-400 transition-transform duration-200',
33+
popoverContent:
34+
'bg-white dark:bg-[#2a2a2a] border border-gray-200 dark:border-gray-600 rounded-md shadow-lg min-w-36 p-1 focus:outline-none',
35+
listbox:
36+
'p-0 focus:outline-none'
2937
}}
3038
selectedKeys={sortOptions
3139
.filter((item: { key: string; label: string }) => item.key === selectedSortOption)
@@ -38,7 +46,8 @@ const SortBy = ({
3846
<SelectItem
3947
key={option.key}
4048
classNames={{
41-
base: 'text-sm hover:bg-[#D1DBE6] dark:hover:bg-[#454545] rounded-none px-3 py-0.5',
49+
base:
50+
'text-sm text-gray-700 dark:text-gray-300 hover:bg-transparent dark:hover:bg-[#404040] focus:bg-gray-100 dark:focus:bg-[#404040] focus:outline-none rounded-sm px-3 py-2 cursor-pointer transition-colors duration-150 data-[selected=true]:bg-blue-50 dark:data-[selected=true]:bg-blue-900/20 data-[selected=true]:text-blue-600 dark:data-[selected=true]:text-blue-400 data-[focus=true]:bg-gray-100 dark:data-[focus=true]:bg-[#404040]',
4251
}}
4352
>
4453
{option.label}
@@ -58,17 +67,17 @@ const SortBy = ({
5867
>
5968
<button
6069
onClick={() => onOrderChange(selectedOrder === 'asc' ? 'desc' : 'asc')}
61-
className="inline-flex h-9 w-9 items-center justify-center rounded-lg bg-gray-200 p-0 shadow-xs hover:bg-gray-300 dark:bg-[#323232] dark:text-gray-300 dark:hover:bg-[#454545]"
70+
className="inline-flex h-9 w-9 items-center justify-center rounded-lg bg-gray-100 dark:bg-[#323232] border border-gray-300 dark:border-gray-600 p-0 shadow-sm hover:shadow-md hover:bg-gray-200 dark:hover:bg-[#404040] focus:outline-none focus:ring-2 focus:ring-gray-300 dark:focus:ring-gray-500 focus:ring-offset-1 transition-all duration-200"
6271
>
6372
{selectedOrder === 'asc' ? (
6473
<FontAwesomeIcon
6574
icon={faArrowUpWideShort}
66-
className="h-4 w-4 text-gray-600 dark:text-gray-200"
75+
className="h-4 w-4 text-gray-600 dark:text-gray-300"
6776
/>
6877
) : (
6978
<FontAwesomeIcon
7079
icon={faArrowDownWideShort}
71-
className="h-4 w-4 text-gray-600 dark:text-gray-200"
80+
className="h-4 w-4 text-gray-600 dark:text-gray-300"
7281
/>
7382
)}
7483
</button>

0 commit comments

Comments
 (0)