
* Update customer queries - add permissions * Filter the customer filter by permissions * Code refactor + optionally render components based on permissions * Update stories * Minor code refactor * Move useUserPermissions to RequirePermissions component * Change user provider component name * Change macaw-ui version
68 lines
2.1 KiB
TypeScript
68 lines
2.1 KiB
TypeScript
import Container from "@saleor/components/Container";
|
|
import Grid from "@saleor/components/Grid";
|
|
import PageHeader from "@saleor/components/PageHeader";
|
|
import RequirePermissions from "@saleor/components/RequirePermissions";
|
|
import { ShippingZoneFragment } from "@saleor/fragments/types/ShippingZoneFragment";
|
|
import { SubmitPromise } from "@saleor/hooks/useForm";
|
|
import { sectionNames } from "@saleor/intl";
|
|
import { Backlink } from "@saleor/macaw-ui";
|
|
import { ListActions, PageListProps, UserPermissionProps } from "@saleor/types";
|
|
import { PermissionEnum, WeightUnitsEnum } from "@saleor/types/globalTypes";
|
|
import React from "react";
|
|
import { useIntl } from "react-intl";
|
|
|
|
import ShippingWeightUnitForm from "../ShippingWeightUnitForm";
|
|
import ShippingZonesList from "../ShippingZonesList";
|
|
|
|
export interface ShippingZonesListPageProps
|
|
extends PageListProps,
|
|
ListActions,
|
|
UserPermissionProps {
|
|
defaultWeightUnit: WeightUnitsEnum;
|
|
shippingZones: ShippingZoneFragment[];
|
|
onBack: () => void;
|
|
onRemove: (id: string) => void;
|
|
onSubmit: (unit: WeightUnitsEnum) => SubmitPromise;
|
|
}
|
|
|
|
const ShippingZonesListPage: React.FC<ShippingZonesListPageProps> = ({
|
|
defaultWeightUnit,
|
|
disabled,
|
|
onBack,
|
|
onSubmit,
|
|
...listProps
|
|
}) => {
|
|
const intl = useIntl();
|
|
|
|
return (
|
|
<Container>
|
|
<Backlink onClick={onBack}>
|
|
{intl.formatMessage(sectionNames.configuration)}
|
|
</Backlink>
|
|
<PageHeader
|
|
title={intl.formatMessage({
|
|
defaultMessage: "Shipping",
|
|
description: "header"
|
|
})}
|
|
/>
|
|
<Grid>
|
|
<div>
|
|
<ShippingZonesList disabled={disabled} {...listProps} />
|
|
</div>
|
|
<div>
|
|
<RequirePermissions
|
|
requiredPermissions={[PermissionEnum.MANAGE_SETTINGS]}
|
|
>
|
|
<ShippingWeightUnitForm
|
|
defaultWeightUnit={defaultWeightUnit}
|
|
disabled={disabled}
|
|
onSubmit={onSubmit}
|
|
/>
|
|
</RequirePermissions>
|
|
</div>
|
|
</Grid>
|
|
</Container>
|
|
);
|
|
};
|
|
ShippingZonesListPage.displayName = "ShippingZonesListPage";
|
|
export default ShippingZonesListPage;
|