import { channelsList } from "@saleor/channels/fixtures";
import { createChannelsDataWithDiscountPrice } from "@saleor/channels/utils";
import { DiscountErrorCode } from "@saleor/graphql";
import { PaginatorContextDecorator } from "@saleor/storybook/PaginatorContextDecorator";
import { storiesOf } from "@storybook/react";
import React from "react";
import VoucherDetailsPage, {
VoucherDetailsPageFormData,
VoucherDetailsPageProps,
VoucherDetailsPageTab,
} from "../../../discounts/components/VoucherDetailsPage";
import { voucherDetails } from "../../../discounts/fixtures";
import { listActionsProps, pageListProps } from "../../../fixtures";
import Decorator from "../../Decorator";
const channels = createChannelsDataWithDiscountPrice(
voucherDetails,
channelsList,
);
const props: VoucherDetailsPageProps = {
...listActionsProps,
...pageListProps.default,
activeTab: VoucherDetailsPageTab.products,
tabItemsCount: {
[VoucherDetailsPageTab.categories]:
voucherDetails.categoriesCount.totalCount,
[VoucherDetailsPageTab.collections]:
voucherDetails.collectionsCount.totalCount,
[VoucherDetailsPageTab.products]: voucherDetails.productsCount.totalCount,
},
allChannelsCount: channels.length,
categoryListToolbar: null,
channelListings: channels,
collectionListToolbar: null,
errors: [],
onCategoryAssign: () => undefined,
onCategoryUnassign: () => undefined,
onChannelsChange: () => undefined,
onCollectionAssign: () => undefined,
onCollectionUnassign: () => undefined,
onCountryAssign: () => undefined,
onCountryUnassign: () => undefined,
onProductAssign: () => undefined,
onProductUnassign: () => undefined,
onRemove: () => undefined,
onSubmit: () => undefined,
onTabClick: () => undefined,
openChannelsModal: () => undefined,
productListToolbar: null,
saveButtonBarState: "default",
selectedChannelId: "123",
voucher: voucherDetails,
};
storiesOf("Views / Discounts / Voucher details", module)
.addDecorator(Decorator)
.addDecorator(PaginatorContextDecorator)
.add("default", () => )
.add("loading", () => (
))
.add("form errors", () => (
).map(field => ({
__typename: "DiscountError",
channels: [],
code: DiscountErrorCode.INVALID,
field,
message: "Discount invalid",
}))}
/>
));