@@ -5,8 +5,8 @@ import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover
55import useDirDetection from '@/hooks/use-dir-detection'
66import { useDebouncedSearch } from '@/hooks/use-debounced-search'
77import { cn } from '@/lib/utils'
8- import { type AdminDetails , useGetAdmins } from '@/service/api'
9- import { Check , ChevronDown , Loader2 , Sigma , UserCog , UserRound } from 'lucide-react'
8+ import { type AdminDetails , type AdminSimple , useGetAdminsSimple } from '@/service/api'
9+ import { Check , ChevronDown , Loader2 , Sigma , UserRound } from 'lucide-react'
1010import { useCallback , useEffect , useMemo , useRef , useState } from 'react'
1111import { useTranslation } from 'react-i18next'
1212
@@ -25,7 +25,7 @@ export default function AdminFilterCombobox({ value, onValueChange, onAdminSelec
2525
2626 const [ open , setOpen ] = useState ( false )
2727 const [ offset , setOffset ] = useState ( 0 )
28- const [ admins , setAdmins ] = useState < AdminDetails [ ] > ( [ ] )
28+ const [ admins , setAdmins ] = useState < AdminSimple [ ] > ( [ ] )
2929 const [ hasMore , setHasMore ] = useState ( true )
3030 const [ isLoadingMore , setIsLoadingMore ] = useState ( false )
3131 const listRef = useRef < HTMLDivElement > ( null )
@@ -38,7 +38,7 @@ export default function AdminFilterCombobox({ value, onValueChange, onAdminSelec
3838 setIsLoadingMore ( false )
3939 } , [ adminSearch ] )
4040
41- const { data : fetchedAdminsResponse , isLoading, isFetching } = useGetAdmins (
41+ const { data : fetchedAdminsResponse , isLoading, isFetching } = useGetAdminsSimple (
4242 {
4343 limit : PAGE_SIZE ,
4444 offset,
@@ -57,7 +57,7 @@ export default function AdminFilterCombobox({ value, onValueChange, onAdminSelec
5757 const fetchedAdmins = ( fetchedAdminsResponse . admins || [ ] ) . filter ( admin => admin . username !== 'system' )
5858 setAdmins ( prev => {
5959 const merged = offset === 0 ? fetchedAdmins : [ ...prev , ...fetchedAdmins ]
60- const byUsername = new Map < string , AdminDetails > ( )
60+ const byUsername = new Map < string , AdminSimple > ( )
6161 merged . forEach ( admin => {
6262 byUsername . set ( admin . username , admin )
6363 } )
@@ -97,7 +97,7 @@ export default function AdminFilterCombobox({ value, onValueChange, onAdminSelec
9797 < AvatarFallback className = "bg-muted text-xs font-medium" > { value === 'all' ? < Sigma className = "h-3 w-3" /> : triggerLabel . charAt ( 0 ) . toUpperCase ( ) } </ AvatarFallback >
9898 </ Avatar >
9999 < span className = "truncate" > { triggerLabel } </ span >
100- { value !== 'all' && selectedAdmin && < div className = "flex-shrink-0" > { selectedAdmin . is_sudo ? < UserCog className = "h-3 w-3 text-primary" /> : < UserRound className = "h-3 w-3 text-primary" /> } </ div > }
100+ { value !== 'all' && selectedAdmin && < div className = "flex-shrink-0" > < UserRound className = "h-3 w-3 text-primary" /> </ div > }
101101 </ div >
102102 < ChevronDown className = "ml-1 h-3 w-3 flex-shrink-0 text-muted-foreground" />
103103 </ Button >
@@ -141,7 +141,10 @@ export default function AdminFilterCombobox({ value, onValueChange, onAdminSelec
141141 value = { admin . username }
142142 onSelect = { ( ) => {
143143 onValueChange ( admin . username )
144- onAdminSelect ?.( admin )
144+ onAdminSelect ?.( {
145+ ...admin ,
146+ is_sudo : false ,
147+ } )
145148 setOpen ( false )
146149 } }
147150 className = { cn ( 'flex min-w-0 items-center gap-2 px-2 py-1.5 text-xs sm:text-sm' , dir === 'rtl' ? 'flex-row-reverse' : 'flex-row' ) }
@@ -151,7 +154,7 @@ export default function AdminFilterCombobox({ value, onValueChange, onAdminSelec
151154 </ Avatar >
152155 < span className = "flex-1 truncate" > { admin . username } </ span >
153156 < div className = "flex flex-shrink-0 items-center gap-1" >
154- { admin . is_sudo ? < UserCog className = "h-3 w-3 text-primary" /> : < UserRound className = "h-3 w-3 text-primary" /> }
157+ < UserRound className = "h-3 w-3 text-primary" />
155158 { value === admin . username && < Check className = "h-3 w-3 text-primary" /> }
156159 </ div >
157160 </ CommandItem >
0 commit comments