Files
medusa-store/packages/admin-next/dashboard/src/hooks/table/query/use-customer-table-query.tsx
Kasper Fabricius Kristensen d37ff8024d feat(dashboard,medusa,ui): Manual gift cards + cleanup (#6380)
**Dashboard**
- Adds different views for managing manual/custom gift cards (not associated with a product gift card).
- Cleans up several table implementations to use new DataTable component.
- Minor cleanup of translation file.

**Medusa**
- Adds missing query params for list endpoints in the following admin domains: /customers, /customer-groups, /collections, and /gift-cards.

**UI**
- Adds new sizes for Badge component.

**Note for review**
Since this PR contains updates to the translation keys, it touches a lot of files. For the review the parts that are relevant are: the /gift-cards domain of admin, the table overview of collections, customers, and customer groups. And the changes to the list endpoints in the core.
2024-02-12 13:47:37 +00:00

48 lines
1.0 KiB
TypeScript

import { AdminGetCustomersParams } from "@medusajs/medusa"
import { useQueryParams } from "../../use-query-params"
type UseCustomerTableQueryProps = {
prefix?: string
pageSize?: number
}
export const useCustomerTableQuery = ({
prefix,
pageSize = 20,
}: UseCustomerTableQueryProps) => {
const queryObject = useQueryParams(
[
"offset",
"q",
"has_account",
"groups",
"order",
"created_at",
"updated_at",
],
prefix
)
const { offset, groups, has_account, q, order } = queryObject
const searchParams: AdminGetCustomersParams = {
limit: pageSize,
offset: offset ? Number(offset) : 0,
groups: groups?.split(","),
has_account: has_account ? has_account === "true" : undefined,
order,
created_at: queryObject.created_at
? JSON.parse(queryObject.created_at)
: undefined,
updated_at: queryObject.updated_at
? JSON.parse(queryObject.updated_at)
: undefined,
q,
}
return {
searchParams,
raw: queryObject,
}
}