Files
tonePage/tone-page-web/hooks/admin/user/use-user-list.ts
2025-05-12 13:52:38 +08:00

29 lines
737 B
TypeScript

"use client"
import { list, UserListParams, UserListResponse } from '@/lib/api/admin/user'
import { ApiError } from '@/lib/api/fetcher'
import { useCallback } from 'react'
import { toast } from 'sonner'
import useSWR from 'swr'
export function useUserList(params?: UserListParams) {
const { data, error, isLoading, mutate } = useSWR<UserListResponse>(
['/api/admin/user', params],
() => list(params),
)
const refresh = useCallback(() => {
return mutate()
}, [mutate])
return {
users: data?.items ?? [],
total: data?.total ?? 0,
page: data?.page ?? 1,
pageSize: data?.pageSize ?? 20,
isLoading,
error,
mutate,
refresh,
}
}