Files
medusa-store/packages/admin-next/dashboard/src/routes/discounts/details/loader.ts
Frane Polić fcb03d60ea feat(dashboard): Discounts details + edits (#6547)
**What**
- Discounts details page
- Edit discount details
- Edit discount configurations
- `ListSummary` component

**NOTE**
- conditions edit form will be implemented in a separate PR
- edit details from is missing metadata component which will be added later

---


https://github.com/medusajs/medusa/assets/16856471/c878af4a-48c2-4c45-b824-662784c7a139
2024-03-06 14:08:15 +00:00

33 lines
940 B
TypeScript

import { AdminDiscountsRes } from "@medusajs/medusa"
import { Response } from "@medusajs/medusa-js"
import { adminDiscountKeys } from "medusa-react"
import { LoaderFunctionArgs } from "react-router-dom"
import { medusa, queryClient } from "../../../lib/medusa"
export const expand =
"regions," +
"rule.conditions.products," +
"rule.conditions.product_types," +
"rule.conditions.product_tags," +
"rule.conditions.product_collections," +
"rule.conditions.customer_groups"
const discountDetailQuery = (id: string) => ({
queryKey: adminDiscountKeys.detail(id),
queryFn: async () =>
medusa.admin.discounts.retrieve(id, {
expand,
}),
})
export const discountLoader = async ({ params }: LoaderFunctionArgs) => {
const id = params.id
const query = discountDetailQuery(id!)
return (
queryClient.getQueryData<Response<AdminDiscountsRes>>(query.queryKey) ??
(await queryClient.fetchQuery(query))
)
}