@@ -14,7 +14,6 @@ import { useTranslation } from 'react-i18next'
1414import { useGetUsers , UserStatus } from '@/service/api'
1515import { RefetchOptions } from '@tanstack/react-query'
1616import { LoaderCircle } from 'lucide-react'
17- import { UseFormReturn } from 'react-hook-form'
1817import { getUsersAutoRefreshIntervalSeconds , setUsersAutoRefreshIntervalSeconds } from '@/utils/userPreferenceStorage'
1918
2019// Sort configuration to eliminate duplication
@@ -73,16 +72,17 @@ interface FiltersProps {
7372 sort : string
7473 status ?: UserStatus | null
7574 load_sub : boolean
75+ admin ?: string [ ]
76+ group ?: number [ ]
7677 }
7778 onFilterChange : ( filters : Partial < FiltersProps [ 'filters' ] > ) => void
7879 refetch ?: ( options ?: RefetchOptions ) => Promise < unknown >
7980 advanceSearchOnOpen : ( status : boolean ) => void
80- advanceSearchForm ?: UseFormReturn < Record < string , unknown > >
8181 onClearAdvanceSearch ?: ( ) => void
8282 handleSort ?: ( column : string , fromDropdown ?: boolean ) => void
8383}
8484
85- export const Filters = ( { filters, onFilterChange, refetch, advanceSearchOnOpen, advanceSearchForm , onClearAdvanceSearch, handleSort } : FiltersProps ) => {
85+ export const Filters = ( { filters, onFilterChange, refetch, advanceSearchOnOpen, onClearAdvanceSearch, handleSort } : FiltersProps ) => {
8686 const { t } = useTranslation ( )
8787 const dir = useDirDetection ( )
8888 const [ search , setSearch ] = useState ( filters . search || '' )
@@ -184,26 +184,24 @@ export const Filters = ({ filters, onFilterChange, refetch, advanceSearchOnOpen,
184184 }
185185
186186 // Check if any advance search filters are active
187+ // Check the actual filters prop instead of form values, as form gets reset when modal closes
187188 const hasActiveAdvanceFilters = ( ) => {
188- if ( ! advanceSearchForm ) return false
189- const values = advanceSearchForm . getValues ( ) as Record < string , unknown >
190- const admin = values . admin as string [ ] | undefined
191- const group = values . group as string [ ] | undefined
192- const status = values . status as string | undefined
193- return ( admin && admin . length > 0 ) || ( group && group . length > 0 ) || status !== '0'
189+ const admin = filters . admin
190+ const group = filters . group
191+ const status = filters . status
192+ return ( admin && admin . length > 0 ) || ( group && group . length > 0 ) || ( status !== undefined && status !== null )
194193 }
195194
196195 // Get the count of active advance filters
196+ // Check the actual filters prop instead of form values, as form gets reset when modal closes
197197 const getActiveFiltersCount = ( ) => {
198- if ( ! advanceSearchForm ) return 0
199- const values = advanceSearchForm . getValues ( ) as Record < string , unknown >
200- const admin = values . admin as string [ ] | undefined
201- const group = values . group as string [ ] | undefined
202- const status = values . status as string | undefined
198+ const admin = filters . admin
199+ const group = filters . group
200+ const status = filters . status
203201 let count = 0
204202 if ( admin && admin . length > 0 ) count ++
205203 if ( group && group . length > 0 ) count ++
206- if ( status !== '0' ) count ++
204+ if ( status !== undefined && status !== null ) count ++
207205 return count
208206 }
209207
@@ -223,7 +221,7 @@ export const Filters = ({ filters, onFilterChange, refetch, advanceSearchOnOpen,
223221 < Button size = "icon-md" variant = "ghost" className = "relative flex h-9 w-9 items-center justify-center border md:h-10 md:w-10" onClick = { handleOpenAdvanceSearch } >
224222 < Filter className = "h-4 w-4" />
225223 { hasActiveAdvanceFilters ( ) && (
226- < Badge variant = "destructive " className = "absolute -right-1 -top-1 flex h-4 w-4 items-center justify-center rounded-full p-0 text-xs " >
224+ < Badge variant = "default " className = "absolute -right-1 -top-1 flex h-4 w-4 items-center justify-center rounded-full bg-primary p-0 text-[10.5px] text-primary-foreground " >
227225 { getActiveFiltersCount ( ) }
228226 </ Badge >
229227 ) }
0 commit comments