saleor-dashboard/src/giftCards/GiftCardUpdate/providers/GiftCardDetailsProvider/GiftCardDetailsProvider.tsx
Magdalena Markusik 705df796d2
Add gift card expired status (#1412)
* Add gift card expiry status to gift card details provider WIP

* Add gift card expiry handling in gift card update page header

* Add gift card expiry handling to gift card update details tag section & refactor

* Add gift card expiry handling to gift card update details expiry date section

* Add gift card expiry handling to gift card update metadata fields, add disabled prop to metadata cards

* Add comment

* Add gift card expiry handling to gift card list & refactor

* Change back some parts because of change of requirements

* Extract messages

* Remove comments, fix wrong expiry label being displayed in gift card list
2021-09-20 15:41:18 +02:00

43 lines
1.1 KiB
TypeScript

import React, { createContext } from "react";
import { useGiftCardDetailsQuery } from "../../queries";
import { GiftCardDetails_giftCard } from "../../types/GiftCardDetails";
import { ExtendedGiftCard } from "./types";
import { getExtendedGiftCard } from "./utils";
interface GiftCardDetailsProviderProps {
children: React.ReactNode;
id: string;
}
export interface GiftCardDetailsConsumerProps {
giftCard: ExtendedGiftCard<GiftCardDetails_giftCard> | undefined;
loading: boolean;
}
export const GiftCardDetailsContext = createContext<
GiftCardDetailsConsumerProps
>(null);
const GiftCardDetailsProvider: React.FC<GiftCardDetailsProviderProps> = ({
children,
id
}) => {
const { data, loading } = useGiftCardDetailsQuery({
displayLoader: true,
variables: { id }
});
const providerValues: GiftCardDetailsConsumerProps = {
giftCard: getExtendedGiftCard(data?.giftCard),
loading
};
return (
<GiftCardDetailsContext.Provider value={providerValues}>
{children}
</GiftCardDetailsContext.Provider>
);
};
export default GiftCardDetailsProvider;