diff --git a/package-lock.json b/package-lock.json index df00ef4bd..2b3955d1b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -83,8 +83,7 @@ "slugify": "^1.4.6", "tslib": "^2.4.1", "url-join": "^4.0.1", - "use-react-router": "^1.0.7", - "usehooks-ts": "^2.9.1" + "use-react-router": "^1.0.7" }, "devDependencies": { "@babel/cli": "^7.5.5", @@ -32978,19 +32977,6 @@ "version": "2.4.1", "license": "0BSD" }, - "node_modules/usehooks-ts": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-2.9.1.tgz", - "integrity": "sha512-2FAuSIGHlY+apM9FVlj8/oNhd+1y+Uwv5QNkMQz1oSfdHk4PXo1qoCw9I5M7j0vpH8CSWFJwXbVPeYDjLCx9PA==", - "engines": { - "node": ">=16.15.0", - "npm": ">=8" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/utf8-byte-length": { "version": "1.0.4", "dev": true, @@ -57362,11 +57348,6 @@ } } }, - "usehooks-ts": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-2.9.1.tgz", - "integrity": "sha512-2FAuSIGHlY+apM9FVlj8/oNhd+1y+Uwv5QNkMQz1oSfdHk4PXo1qoCw9I5M7j0vpH8CSWFJwXbVPeYDjLCx9PA==" - }, "utf8-byte-length": { "version": "1.0.4", "dev": true diff --git a/package.json b/package.json index bf32366a1..c2494a75d 100644 --- a/package.json +++ b/package.json @@ -90,8 +90,7 @@ "slugify": "^1.4.6", "tslib": "^2.4.1", "url-join": "^4.0.1", - "use-react-router": "^1.0.7", - "usehooks-ts": "^2.9.1" + "use-react-router": "^1.0.7" }, "devDependencies": { "@babel/cli": "^7.5.5", diff --git a/src/apps/components/AppInstallPage/AppInstallPage.tsx b/src/apps/components/AppInstallPage/AppInstallPage.tsx index 53a6209cc..bf84ec617 100644 --- a/src/apps/components/AppInstallPage/AppInstallPage.tsx +++ b/src/apps/components/AppInstallPage/AppInstallPage.tsx @@ -1,10 +1,9 @@ import saleorDarkLogoSmall from "@assets/images/logo-dark-small.svg"; import plusIcon from "@assets/images/plus-icon.svg"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import CardSpacer from "@dashboard/components/CardSpacer"; import CardTitle from "@dashboard/components/CardTitle"; import Hr from "@dashboard/components/Hr"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Skeleton from "@dashboard/components/Skeleton"; import { AppFetchMutation, AppInstallMutation } from "@dashboard/graphql"; import { SubmitPromise } from "@dashboard/hooks/useForm"; @@ -43,122 +42,124 @@ export const AppInstallPage: React.FC = ({ const name = data?.name || ""; return ( - - - - - + + + + + + ) : ( + intl.formatMessage( + { + id: "Id7C0X", + defaultMessage: `You are about to install {name}`, + description: "section header", + }, + { name }, + ) + ) + } + /> + + {loading ? ( + + ) : ( +
+
+ +
+ +
+ +
+
+ )} +
+
+ + + {!loading && ( + + )} + + {loading ? ( ) : ( - intl.formatMessage( - { - id: "Id7C0X", - defaultMessage: `You are about to install {name}`, - description: "section header", - }, - { name }, - ) - ) - } - /> - - {loading ? ( - - ) : ( -
-
+ + + + {!!data?.permissions?.length && ( +
    + {data?.permissions?.map(perm => ( +
  • {perm.name}
  • + ))} +
)} - > - -
- -
- -
-
- )} -
-
- - - {!loading && ( - - )} - - {loading ? ( - - ) : ( - <> - - - - {!!data?.permissions?.length && ( -
    - {data?.permissions?.map(perm => ( -
  • {perm.name}
  • - ))} -
- )} -
+
- - - {!!data?.dataPrivacyUrl && ( - - - - )} - - - )} -
-
- - - - + + + {!!data?.dataPrivacyUrl && ( + + + + )} + + + )} + +
+ + + + + -
-
+ + ); }; diff --git a/src/attributes/components/AttributePage/AttributePage.tsx b/src/attributes/components/AttributePage/AttributePage.tsx index 3b0d95bc1..442c25d31 100644 --- a/src/attributes/components/AttributePage/AttributePage.tsx +++ b/src/attributes/components/AttributePage/AttributePage.tsx @@ -1,11 +1,9 @@ import { attributeListUrl } from "@dashboard/attributes/urls"; import { ATTRIBUTE_TYPES_WITH_DEDICATED_VALUES } from "@dashboard/attributes/utils/data"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata/Metadata"; import { MetadataFormData } from "@dashboard/components/Metadata/types"; import Savebar from "@dashboard/components/Savebar"; @@ -173,7 +171,7 @@ const AttributePage: React.FC = ({ return ( <> - + = ({ }) : maybe(() => attribute.name) } - > - + /> + = ({ )} - - + + = ({ disabled={disabled} onChange={change} /> - + = ({ onSubmit={submit} onDelete={attribute === null ? undefined : onDelete} /> - + {children(data)} ); diff --git a/src/categories/components/CategoryCreatePage/CategoryCreatePage.tsx b/src/categories/components/CategoryCreatePage/CategoryCreatePage.tsx index 3d6aef91a..c69c453be 100644 --- a/src/categories/components/CategoryCreatePage/CategoryCreatePage.tsx +++ b/src/categories/components/CategoryCreatePage/CategoryCreatePage.tsx @@ -1,7 +1,6 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { CardSpacer } from "@dashboard/components/CardSpacer"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import SeoForm from "@dashboard/components/SeoForm"; @@ -36,7 +35,7 @@ export const CategoryCreatePage: React.FC = ({ return ( {({ data, change, handlers, submit, isSaveDisabled }) => ( - + = ({ description: "page header", })} /> - + = ({ - + navigate(backUrl)} onSubmit={submit} state={saveButtonBarState} disabled={isSaveDisabled} /> - + )} ); diff --git a/src/categories/components/CategoryListPage/CategoryListPage.tsx b/src/categories/components/CategoryListPage/CategoryListPage.tsx index 7ce92f0b1..2c592f4e8 100644 --- a/src/categories/components/CategoryListPage/CategoryListPage.tsx +++ b/src/categories/components/CategoryListPage/CategoryListPage.tsx @@ -4,6 +4,7 @@ import { } from "@dashboard/categories/urls"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Button } from "@dashboard/components/Button"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import SearchBar from "@dashboard/components/SearchBar"; import { CategoryFragment } from "@dashboard/graphql"; import { sectionNames } from "@dashboard/intl"; @@ -52,7 +53,7 @@ export const CategoryListPage: React.FC = ({ const intl = useIntl(); return ( - <> + - + {token && ( <> = props => { onRemove={onWebhookRemove} createHref={app?.isActive && webhookCreateHref} /> - - + + = props => { description: "card description", })} /> - + navigate(CustomAppUrls.resolveAppListUrl())} onSubmit={submit} /> - + )} ); diff --git a/src/custom-apps/components/CustomAppListPage/CustomAppListPage.tsx b/src/custom-apps/components/CustomAppListPage/CustomAppListPage.tsx index 30112141a..7c63d0f54 100644 --- a/src/custom-apps/components/CustomAppListPage/CustomAppListPage.tsx +++ b/src/custom-apps/components/CustomAppListPage/CustomAppListPage.tsx @@ -1,9 +1,6 @@ -import { - borderHeight, - topBarHeight, -} from "@dashboard/components/AppLayout/consts"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Button } from "@dashboard/components/Button"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import { TableButtonWrapper } from "@dashboard/components/TableButtonWrapper/TableButtonWrapper"; import TableRowLink from "@dashboard/components/TableRowLink"; import { CustomAppUrls } from "@dashboard/custom-apps/urls"; @@ -35,7 +32,7 @@ const CustomAppListPage: React.FC = ({ const classes = useStyles({}); return ( - <> + - + = ({ - + ); }; diff --git a/src/custom-apps/components/WebhookDetailsPage/WebhookDetailsPage.tsx b/src/custom-apps/components/WebhookDetailsPage/WebhookDetailsPage.tsx index 6402ab265..ae893b2f3 100644 --- a/src/custom-apps/components/WebhookDetailsPage/WebhookDetailsPage.tsx +++ b/src/custom-apps/components/WebhookDetailsPage/WebhookDetailsPage.tsx @@ -1,8 +1,7 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import Form from "@dashboard/components/Form"; import FormSpacer from "@dashboard/components/FormSpacer"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import WebhookEvents from "@dashboard/custom-apps/components/WebhookEvents"; import WebhookInfo from "@dashboard/custom-apps/components/WebhookInfo"; @@ -110,10 +109,10 @@ const WebhookDetailsPage: React.FC = ({ }); return ( - + - - + + = ({ - + navigate(backUrl)} onSubmit={submit} /> - + ); }} diff --git a/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.tsx b/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.tsx index 5217749ca..76ad51389 100644 --- a/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.tsx +++ b/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.tsx @@ -1,6 +1,6 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Button } from "@dashboard/components/Button"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import { customerUrl } from "@dashboard/customers/urls"; import { AddressTypeEnum, CustomerAddressesFragment } from "@dashboard/graphql"; import { getStringOrPlaceholder, renderCollection } from "@dashboard/misc"; @@ -96,7 +96,7 @@ const CustomerAddressListPage: React.FC< ); return ( - <> + )} - - {isEmpty ? ( - + + {intl.formatMessage(messages.noAddressToShow)} + + + {intl.formatMessage(messages.doesntHaveAddresses)} + + - - ) : ( -
- {renderCollection(customer?.addresses, (address, addressNumber) => ( - onEdit(address.id)} - onRemove={() => onRemove(address.id)} - onSetAsDefault={type => onSetAsDefault(address.id, type)} - key={address?.id || "skeleton"} - /> - ))} -
- )} -
- + {intl.formatMessage(messages.addAddress)} + + + ) : ( +
+ {renderCollection(customer?.addresses, (address, addressNumber) => ( + onEdit(address.id)} + onRemove={() => onRemove(address.id)} + onSetAsDefault={type => onSetAsDefault(address.id, type)} + key={address?.id || "skeleton"} + /> + ))} +
+ )} +
); }; CustomerAddressListPage.displayName = "CustomerAddressListPage"; diff --git a/src/customers/components/CustomerCreatePage/CustomerCreatePage.tsx b/src/customers/components/CustomerCreatePage/CustomerCreatePage.tsx index 5c2d0dd6e..79a679518 100644 --- a/src/customers/components/CustomerCreatePage/CustomerCreatePage.tsx +++ b/src/customers/components/CustomerCreatePage/CustomerCreatePage.tsx @@ -1,9 +1,8 @@ import { createCountryHandler } from "@dashboard/components/AddressEdit/createCountryHandler"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { CardSpacer } from "@dashboard/components/CardSpacer"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { customerListUrl } from "@dashboard/customers/urls"; import { @@ -152,7 +151,7 @@ const CustomerCreatePage: React.FC = ({ const handleCountrySelect = createCountryHandler(countrySelect, set); return ( - + = ({ description: "page header", })} /> - +
= ({ onSubmit={submit} onCancel={() => navigate(customerListUrl())} /> - - + + ); }} diff --git a/src/customers/components/CustomerDetailsPage/CustomerDetailsPage.tsx b/src/customers/components/CustomerDetailsPage/CustomerDetailsPage.tsx index 0b2ea8d13..6d034ea24 100644 --- a/src/customers/components/CustomerDetailsPage/CustomerDetailsPage.tsx +++ b/src/customers/components/CustomerDetailsPage/CustomerDetailsPage.tsx @@ -3,14 +3,12 @@ import { mapToMenuItemsForCustomerDetails, useExtensions, } from "@dashboard/apps/useExtensions"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Backlink } from "@dashboard/components/Backlink"; import CardMenu from "@dashboard/components/CardMenu/CardMenu"; import { CardSpacer } from "@dashboard/components/CardSpacer"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata/Metadata"; import { MetadataFormData } from "@dashboard/components/Metadata/types"; import RequirePermissions from "@dashboard/components/RequirePermissions"; @@ -107,7 +105,7 @@ const CustomerDetailsPage: React.FC = ({ const changeMetadata = makeMetadataChangeHandler(change); return ( - + = ({ )} - + {intl.formatMessage(sectionNames.customers)} @@ -147,8 +145,8 @@ const CustomerDetailsPage: React.FC = ({ - - + + = ({ > - + = ({ onCancel={() => navigate(customerListUrl())} onDelete={onDelete} /> - + ); }} diff --git a/src/discounts/components/SaleCreatePage/SaleCreatePage.tsx b/src/discounts/components/SaleCreatePage/SaleCreatePage.tsx index ec0b82b1b..92ab19550 100644 --- a/src/discounts/components/SaleCreatePage/SaleCreatePage.tsx +++ b/src/discounts/components/SaleCreatePage/SaleCreatePage.tsx @@ -1,11 +1,9 @@ import { validateSalePrice } from "@dashboard/channels/utils"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import ChannelsAvailabilityCard from "@dashboard/components/ChannelsAvailabilityCard"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata, { MetadataFormData } from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import { createSaleChannelsChangeHandler } from "@dashboard/discounts/handlers"; @@ -102,7 +100,7 @@ const SaleCreatePage: React.FC = ({ const changeMetadata = makeMetadataChangeHandler(change); return ( - + = ({ description: "page header", })} /> - + = ({ errors={errors} onChange={change} /> - - + + + = ({ disabled={disabled} openModal={openChannelsModal} /> - - + - + ); }} diff --git a/src/discounts/components/SaleDetailsPage/SaleDetailsPage.tsx b/src/discounts/components/SaleDetailsPage/SaleDetailsPage.tsx index ba54e0a9c..2a6cdd744 100644 --- a/src/discounts/components/SaleDetailsPage/SaleDetailsPage.tsx +++ b/src/discounts/components/SaleDetailsPage/SaleDetailsPage.tsx @@ -1,11 +1,9 @@ import { ChannelSaleData, validateSalePrice } from "@dashboard/channels/utils"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import ChannelsAvailabilityCard from "@dashboard/components/ChannelsAvailabilityCard"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata, { MetadataFormData } from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import { Tab, TabContainer } from "@dashboard/components/Tab"; @@ -184,9 +182,9 @@ const SaleDetailsPage: React.FC = ({ const allErrors = [...localErrors, ...errors]; return ( - + - + = ({ errors={errors} onChange={change} /> - - + + + = ({ disabled={disabled} openModal={openChannelsModal} /> - - + navigate(saleListUrl())} @@ -321,7 +319,7 @@ const SaleDetailsPage: React.FC = ({ onSubmit={() => handleSubmit(data)} state={saveButtonBarState} /> - + ); }} diff --git a/src/discounts/components/SaleListPage/SaleListPage.tsx b/src/discounts/components/SaleListPage/SaleListPage.tsx index 7e18d121a..e2a972b90 100644 --- a/src/discounts/components/SaleListPage/SaleListPage.tsx +++ b/src/discounts/components/SaleListPage/SaleListPage.tsx @@ -2,6 +2,7 @@ import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Button } from "@dashboard/components/Button"; import { getByName } from "@dashboard/components/Filter/utils"; import FilterBar from "@dashboard/components/FilterBar"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import { saleAddUrl, SaleListUrlSortField } from "@dashboard/discounts/urls"; import { SaleFragment } from "@dashboard/graphql"; import { sectionNames } from "@dashboard/intl"; @@ -53,7 +54,7 @@ const SaleListPage: React.FC = ({ const filterDependency = structure.find(getByName("channel")); return ( - <> + - - - - + + ); }; MenuListPage.displayName = "MenuListPage"; diff --git a/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx b/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx index 1c5ab0926..7fb63696e 100644 --- a/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx +++ b/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx @@ -3,13 +3,11 @@ import { mapToMenuItemsForOrderDetails, useExtensions, } from "@dashboard/apps/useExtensions"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardMenu from "@dashboard/components/CardMenu"; import { CardSpacer } from "@dashboard/components/CardSpacer"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata, { MetadataFormData } from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import { @@ -205,7 +203,7 @@ const OrderDetailsPage: React.FC = props => { const changeMetadata = makeMetadataChangeHandler(change); return ( - + }> = props => { /> - + {!isOrderUnconfirmed ? ( = props => { orderCurrency={order?.total?.gross.currency} onNoteAdd={onNoteAdd} /> - - + + = props => { )} order.customerNote)} /> - + navigate(orderListUrl())} @@ -308,7 +306,7 @@ const OrderDetailsPage: React.FC = props => { state={saveButtonBarState} disabled={allowSave()} /> - + ); }} diff --git a/src/orders/components/OrderDraftPage/OrderDraftPage.tsx b/src/orders/components/OrderDraftPage/OrderDraftPage.tsx index 56f49ab53..fc71ef81c 100644 --- a/src/orders/components/OrderDraftPage/OrderDraftPage.tsx +++ b/src/orders/components/OrderDraftPage/OrderDraftPage.tsx @@ -1,10 +1,8 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardMenu from "@dashboard/components/CardMenu"; import CardSpacer from "@dashboard/components/CardSpacer"; import { DateTime } from "@dashboard/components/Date"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import Skeleton from "@dashboard/components/Skeleton"; import { @@ -82,7 +80,7 @@ const OrderDraftPage: React.FC = props => { const intl = useIntl(); return ( - + = props => { ]} /> - + = props => { orderCurrency={order?.total?.gross.currency} onNoteAdd={onNoteAdd} /> - - + + = props => { onProfileView={onProfileView} onShippingAddressEdit={onShippingAddressEdit} /> - + = props => { }), }} /> - + ); }; OrderDraftPage.displayName = "OrderDraftPage"; diff --git a/src/orders/components/OrderFulfillPage/OrderFulfillPage.tsx b/src/orders/components/OrderFulfillPage/OrderFulfillPage.tsx index 261be617e..72b79c215 100644 --- a/src/orders/components/OrderFulfillPage/OrderFulfillPage.tsx +++ b/src/orders/components/OrderFulfillPage/OrderFulfillPage.tsx @@ -3,6 +3,7 @@ import CardSpacer from "@dashboard/components/CardSpacer"; import CardTitle from "@dashboard/components/CardTitle"; import ControlledCheckbox from "@dashboard/components/ControlledCheckbox"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import ResponsiveTable from "@dashboard/components/ResponsiveTable"; import Savebar from "@dashboard/components/Savebar"; import Skeleton from "@dashboard/components/Skeleton"; @@ -99,9 +100,8 @@ const OrderFulfillPage: React.FC = props => { >( (getToFulfillOrderLines(order?.lines) as OrderFulfillLineFragment[]).map( line => { - const highestQuantityAllocation = getLineAllocationWithHighestQuantity( - line, - ); + const highestQuantityAllocation = + getLineAllocationWithHighestQuantity(line); return { data: null, @@ -120,10 +120,8 @@ const OrderFulfillPage: React.FC = props => { ), ); - const [ - displayStockExceededDialog, - setDisplayStockExceededDialog, - ] = React.useState(false); + const [displayStockExceededDialog, setDisplayStockExceededDialog] = + React.useState(false); const handleSubmit = ({ formData, @@ -192,149 +190,153 @@ const OrderFulfillPage: React.FC = props => { }; return ( - <> + -
- handleSubmit({ - formData, - allowStockToBeExceeded: displayStockExceededDialog, - }) - } - > - {({ change, data, submit }) => ( - <> - - - {order ? ( - - - - - - - - - - - - - - - - - - - - - - {renderCollection( - getToFulfillOrderLines(order.lines), - (line: OrderFulfillLineFragment, lineIndex) => ( - - openModal("change-warehouse", { - lineId: line.id, - warehouseId: - formsetData[lineIndex]?.value?.[0]?.warehouse - ?.id, - }) - } - /> - ), - )} - - - ) : ( - - - - )} - - - - - {shopSettings?.fulfillmentAutoApprove && ( + /> + + + handleSubmit({ + formData, + allowStockToBeExceeded: displayStockExceededDialog, + }) + } + > + {({ change, data, submit }) => ( + <> - - - + {order ? ( + + + + + + + + + + + + + + + + + + + + + + {renderCollection( + getToFulfillOrderLines(order.lines), + (line: OrderFulfillLineFragment, lineIndex) => ( + + openModal("change-warehouse", { + lineId: line.id, + warehouseId: + formsetData[lineIndex]?.value?.[0]?.warehouse + ?.id, + }) + } + /> + ), + )} + + + ) : ( + + + + )} - )} - navigate(orderUrl(order?.id))} - /> - setDisplayStockExceededDialog(false)} - /> - - )} - - line.id === params.lineId)} - currentWarehouseId={params.warehouseId} - onConfirm={warehouse => { - const lineFormQuantity = formsetData.find( - item => item.id === params.lineId, - )?.value?.[0]?.quantity; + - formsetChange(params.lineId, [ - { - quantity: lineFormQuantity, - warehouse, - }, - ]); - }} - onClose={closeModal} - /> - + {shopSettings?.fulfillmentAutoApprove && ( + + + + + + + )} + + navigate(orderUrl(order?.id))} + /> + setDisplayStockExceededDialog(false)} + /> + + )} + + line.id === params.lineId)} + currentWarehouseId={params.warehouseId} + onConfirm={warehouse => { + const lineFormQuantity = formsetData.find( + item => item.id === params.lineId, + )?.value?.[0]?.quantity; + + formsetChange(params.lineId, [ + { + quantity: lineFormQuantity, + warehouse, + }, + ]); + }} + onClose={closeModal} + /> + +
); }; diff --git a/src/orders/components/OrderListPage/OrderListPage.tsx b/src/orders/components/OrderListPage/OrderListPage.tsx index e1cde23ce..c728dd7fa 100644 --- a/src/orders/components/OrderListPage/OrderListPage.tsx +++ b/src/orders/components/OrderListPage/OrderListPage.tsx @@ -8,6 +8,7 @@ import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { ButtonWithSelect } from "@dashboard/components/ButtonWithSelect"; import CardMenu from "@dashboard/components/CardMenu"; import FilterBar from "@dashboard/components/FilterBar"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import { OrderListQuery, RefreshLimitsQuery } from "@dashboard/graphql"; import { sectionNames } from "@dashboard/intl"; import { OrderListUrlSortField } from "@dashboard/orders/urls"; @@ -78,7 +79,7 @@ const OrderListPage: React.FC = ({ const extensionCreateButtonItems = mapToMenuItems(ORDER_OVERVIEW_CREATE); return ( - <> + {!!onSettingsOpen && ( = ({ /> - + ); }; OrderListPage.displayName = "OrderListPage"; diff --git a/src/orders/components/OrderRefundPage/OrderRefundPage.tsx b/src/orders/components/OrderRefundPage/OrderRefundPage.tsx index 81c1afde2..e57a22bd7 100644 --- a/src/orders/components/OrderRefundPage/OrderRefundPage.tsx +++ b/src/orders/components/OrderRefundPage/OrderRefundPage.tsx @@ -1,8 +1,6 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { FulfillmentStatus, OrderErrorFragment, @@ -72,7 +70,7 @@ const OrderRefundPage: React.FC = props => { const isProductRefund = data.type === OrderRefundType.PRODUCTS; return ( - + = props => { orderNumber: order?.number, }, )} - > - + /> + {isProductRefund && ( <> @@ -127,8 +125,8 @@ const OrderRefundPage: React.FC = props => { ))} )} - - + + = props => { onChange={change} onRefund={submit} /> - - + + ); }} diff --git a/src/orders/components/OrderReturnPage/OrderReturnPage.tsx b/src/orders/components/OrderReturnPage/OrderReturnPage.tsx index 3403f5252..3fb993004 100644 --- a/src/orders/components/OrderReturnPage/OrderReturnPage.tsx +++ b/src/orders/components/OrderReturnPage/OrderReturnPage.tsx @@ -1,8 +1,6 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { OrderDetailsFragment, OrderErrorFragment } from "@dashboard/graphql"; import { SubmitPromise } from "@dashboard/hooks/useForm"; import { renderCollection } from "@dashboard/misc"; @@ -48,14 +46,14 @@ const OrderRefundPage: React.FC = props => { return ( {({ data, handlers, change, submit, isSaveDisabled }) => ( - + - + {!!data.unfulfilledItemsQuantities.length && ( <> = props => { ), )} - - + + = props => { onChange={change} onRefund={submit} /> - - + + )} ); diff --git a/src/orders/components/OrderSettingsPage/OrderSettingsPage.tsx b/src/orders/components/OrderSettingsPage/OrderSettingsPage.tsx index 0d016e1a8..b5bd53ff5 100644 --- a/src/orders/components/OrderSettingsPage/OrderSettingsPage.tsx +++ b/src/orders/components/OrderSettingsPage/OrderSettingsPage.tsx @@ -1,7 +1,6 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { OrderSettingsFragment, @@ -42,7 +41,7 @@ const OrderSettingsPage: React.FC = props => { disabled={disabled} > {({ data, submit, change, isSaveDisabled }) => ( - + = props => { description: "header", })} /> - +
@@ -75,14 +74,14 @@ const OrderSettingsPage: React.FC = props => { /> - + navigate(orderListUrl())} onSubmit={submit} disabled={isSaveDisabled} state={saveButtonBarState} /> - + )} ); diff --git a/src/pageTypes/components/PageTypeCreatePage/PageTypeCreatePage.tsx b/src/pageTypes/components/PageTypeCreatePage/PageTypeCreatePage.tsx index 1fa72a69b..281fddcbd 100644 --- a/src/pageTypes/components/PageTypeCreatePage/PageTypeCreatePage.tsx +++ b/src/pageTypes/components/PageTypeCreatePage/PageTypeCreatePage.tsx @@ -1,9 +1,8 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import Form from "@dashboard/components/Form"; import Grid from "@dashboard/components/Grid"; import Hr from "@dashboard/components/Hr"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata, { MetadataFormData } from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import { PageErrorFragment } from "@dashboard/graphql"; @@ -68,7 +67,7 @@ const PageTypeCreatePage: React.FC = props => { const changeMetadata = makeMetadataChangeHandler(change); return ( - + = props => { description: "header", })} /> - + = props => {
-
+ navigate(pageTypeListUrl())} onSubmit={submit} disabled={isSaveDisabled} state={saveButtonBarState} /> -
+ ); }} diff --git a/src/pageTypes/components/PageTypeDetailsPage/PageTypeDetailsPage.tsx b/src/pageTypes/components/PageTypeDetailsPage/PageTypeDetailsPage.tsx index 50906bf8b..b5de5f726 100644 --- a/src/pageTypes/components/PageTypeDetailsPage/PageTypeDetailsPage.tsx +++ b/src/pageTypes/components/PageTypeDetailsPage/PageTypeDetailsPage.tsx @@ -1,9 +1,8 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import Form from "@dashboard/components/Form"; import Grid from "@dashboard/components/Grid"; import Hr from "@dashboard/components/Hr"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata/Metadata"; import { MetadataFormData } from "@dashboard/components/Metadata/types"; import Savebar from "@dashboard/components/Savebar"; @@ -118,9 +117,9 @@ const PageTypeDetailsPage: React.FC = props => { const changeMetadata = makeMetadataChangeHandler(change); return ( - + - + = props => {
-
+ navigate(pageTypeListUrl())} onDelete={onDelete} @@ -193,7 +192,7 @@ const PageTypeDetailsPage: React.FC = props => { disabled={isSaveDisabled} state={saveButtonBarState} /> -
+ ); }} diff --git a/src/pageTypes/components/PageTypeListPage/PageTypeListPage.tsx b/src/pageTypes/components/PageTypeListPage/PageTypeListPage.tsx index 320ad428c..46afc2abb 100644 --- a/src/pageTypes/components/PageTypeListPage/PageTypeListPage.tsx +++ b/src/pageTypes/components/PageTypeListPage/PageTypeListPage.tsx @@ -1,5 +1,6 @@ import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Button } from "@dashboard/components/Button"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import SearchBar from "@dashboard/components/SearchBar"; import { configurationMenuUrl } from "@dashboard/configuration"; import { PageTypeFragment } from "@dashboard/graphql"; @@ -43,7 +44,7 @@ const PageTypeListPage: React.FC = ({ }) => { const intl = useIntl(); return ( - <> + = ({ /> - + ); }; PageTypeListPage.displayName = "PageTypeListPage"; diff --git a/src/pages/components/PageDetailsPage/PageDetailsPage.tsx b/src/pages/components/PageDetailsPage/PageDetailsPage.tsx index 60a9a42d1..51c9c99d8 100644 --- a/src/pages/components/PageDetailsPage/PageDetailsPage.tsx +++ b/src/pages/components/PageDetailsPage/PageDetailsPage.tsx @@ -2,13 +2,11 @@ import { getReferenceAttributeEntityTypeFromAttribute, mergeAttributeValues, } from "@dashboard/attributes/utils/data"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import AssignAttributeValueDialog from "@dashboard/components/AssignAttributeValueDialog"; import Attributes, { AttributeInput } from "@dashboard/components/Attributes"; import CardSpacer from "@dashboard/components/CardSpacer"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import SeoForm from "@dashboard/components/SeoForm"; @@ -150,14 +148,14 @@ const PageDetailsPage: React.FC = ({ const errors = [...apiErrors, ...validationErrors]; return ( - + - + = ({ )} - - + + = ({ fetchMorePageTypes={fetchMorePageTypes} canChangeType={!page?.pageType} /> - + = ({ } /> )} - + ); }} diff --git a/src/permissionGroups/components/PermissionGroupCreatePage/PermissionGroupCreatePage.tsx b/src/permissionGroups/components/PermissionGroupCreatePage/PermissionGroupCreatePage.tsx index 6b989961f..ef04d2c33 100644 --- a/src/permissionGroups/components/PermissionGroupCreatePage/PermissionGroupCreatePage.tsx +++ b/src/permissionGroups/components/PermissionGroupCreatePage/PermissionGroupCreatePage.tsx @@ -1,9 +1,8 @@ import AccountPermissions from "@dashboard/components/AccountPermissions"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; +import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Backlink } from "@dashboard/components/Backlink"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { PermissionEnum, @@ -68,8 +67,9 @@ const PermissionGroupCreatePage: React.FC = ({ disabled={disabled} > {({ data, change, submit, isSaveDisabled }) => ( - - + + + {intl.formatMessage(sectionNames.permissionGroups)} @@ -79,8 +79,8 @@ const PermissionGroupCreatePage: React.FC = ({ onChange={change} disabled={disabled} /> - - + + = ({ description: "card description", })} /> - -
- navigate(permissionGroupListUrl())} - onSubmit={submit} - state={saveButtonBarState} - disabled={isSaveDisabled} - /> -
-
+ + navigate(permissionGroupListUrl())} + onSubmit={submit} + state={saveButtonBarState} + disabled={isSaveDisabled} + /> + )} ); diff --git a/src/permissionGroups/components/PermissionGroupDetailsPage/PermissionGroupDetailsPage.tsx b/src/permissionGroups/components/PermissionGroupDetailsPage/PermissionGroupDetailsPage.tsx index 908de6292..e87451871 100644 --- a/src/permissionGroups/components/PermissionGroupDetailsPage/PermissionGroupDetailsPage.tsx +++ b/src/permissionGroups/components/PermissionGroupDetailsPage/PermissionGroupDetailsPage.tsx @@ -1,10 +1,8 @@ import AccountPermissions from "@dashboard/components/AccountPermissions"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import Form from "@dashboard/components/Form"; import FormSpacer from "@dashboard/components/FormSpacer"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { PermissionEnum, @@ -92,12 +90,12 @@ const PermissionGroupDetailsPage: React.FC = ({ return (
{({ data, change, submit }) => ( - + - + = ({ {...listProps} users={data?.users || []} /> - - + + = ({ description: "card description", })} /> - +
navigate(permissionGroupListUrl())} @@ -140,7 +138,7 @@ const PermissionGroupDetailsPage: React.FC = ({ disabled={disabled} />
-
+ )}
); diff --git a/src/permissionGroups/components/PermissionGroupListPage/PermissionGroupListPage.tsx b/src/permissionGroups/components/PermissionGroupListPage/PermissionGroupListPage.tsx index 77123d888..b61845d41 100644 --- a/src/permissionGroups/components/PermissionGroupListPage/PermissionGroupListPage.tsx +++ b/src/permissionGroups/components/PermissionGroupListPage/PermissionGroupListPage.tsx @@ -1,5 +1,6 @@ import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Button } from "@dashboard/components/Button"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import { configurationMenuUrl } from "@dashboard/configuration"; import { PermissionGroupFragment } from "@dashboard/graphql"; import { sectionNames } from "@dashboard/intl"; @@ -21,11 +22,13 @@ export interface PermissionGroupListPageProps onDelete: (id: string) => void; } -const PermissionGroupListPage: React.FC = listProps => { +const PermissionGroupListPage: React.FC< + PermissionGroupListPageProps +> = listProps => { const intl = useIntl(); return ( - <> + = listProp - + ); }; PermissionGroupListPage.displayName = "PermissionGroupListPage"; diff --git a/src/plugins/components/PluginsDetailsPage/PluginsDetailsPage.tsx b/src/plugins/components/PluginsDetailsPage/PluginsDetailsPage.tsx index 6ab74e1fe..b15733bb9 100644 --- a/src/plugins/components/PluginsDetailsPage/PluginsDetailsPage.tsx +++ b/src/plugins/components/PluginsDetailsPage/PluginsDetailsPage.tsx @@ -1,9 +1,8 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import Form from "@dashboard/components/Form"; import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { ConfigurationItemInput, @@ -97,7 +96,7 @@ const PluginsDetailsPage: React.FC = ({ set(newData); }; return ( - + = ({ }, )} /> - +
= ({ onCancel={() => navigate(pluginListUrl())} onSubmit={submit} /> - - + + ); }} diff --git a/src/plugins/components/PluginsListPage/PluginsListPage.tsx b/src/plugins/components/PluginsListPage/PluginsListPage.tsx index 02b1413ba..2322bc477 100644 --- a/src/plugins/components/PluginsListPage/PluginsListPage.tsx +++ b/src/plugins/components/PluginsListPage/PluginsListPage.tsx @@ -1,5 +1,6 @@ import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import FilterBar from "@dashboard/components/FilterBar"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import { configurationMenuUrl } from "@dashboard/configuration"; import { PluginBaseFragment } from "@dashboard/graphql"; import { sectionNames } from "@dashboard/intl"; @@ -48,7 +49,7 @@ const PluginsListPage: React.FC = ({ const filterStructure = createFilterStructure(intl, filterOpts); return ( - <> + = ({ /> - + ); }; PluginsListPage.displayName = "PluginsListPage"; diff --git a/src/productTypes/components/ProductTypeCreatePage/ProductTypeCreatePage.tsx b/src/productTypes/components/ProductTypeCreatePage/ProductTypeCreatePage.tsx index 5331df52b..4386d6c90 100644 --- a/src/productTypes/components/ProductTypeCreatePage/ProductTypeCreatePage.tsx +++ b/src/productTypes/components/ProductTypeCreatePage/ProductTypeCreatePage.tsx @@ -1,9 +1,7 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata, { MetadataFormData } from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import { @@ -74,9 +72,8 @@ const ProductTypeCreatePage: React.FC = ({ const navigate = useNavigator(); const [taxClassDisplayName, setTaxClassDisplayName] = useStateFromProps(""); - const { - makeChangeHandler: makeMetadataChangeHandler, - } = useMetadataChangeTrigger(); + const { makeChangeHandler: makeMetadataChangeHandler } = + useMetadataChangeTrigger(); const initialData = { ...formInitialData, @@ -99,9 +96,9 @@ const ProductTypeCreatePage: React.FC = ({ ); return ( - + - + = ({ /> - - + + - + navigate(productTypeListUrl())} onSubmit={submit} disabled={isSaveDisabled} state={saveButtonBarState} /> - + ); }} diff --git a/src/productTypes/components/ProductTypeDetailsPage/ProductTypeDetailsPage.tsx b/src/productTypes/components/ProductTypeDetailsPage/ProductTypeDetailsPage.tsx index e036a5db1..a722e8658 100644 --- a/src/productTypes/components/ProductTypeDetailsPage/ProductTypeDetailsPage.tsx +++ b/src/productTypes/components/ProductTypeDetailsPage/ProductTypeDetailsPage.tsx @@ -1,10 +1,8 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import ControlledSwitch from "@dashboard/components/ControlledSwitch"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata/Metadata"; import { MetadataFormData } from "@dashboard/components/Metadata/types"; import Savebar from "@dashboard/components/Savebar"; @@ -164,9 +162,9 @@ const ProductTypeDetailsPage: React.FC = ({ const changeMetadata = makeMetadataChangeHandler(change); return ( - + - + = ({ )} - - + + - + navigate(productTypeListUrl())} onDelete={onDelete} @@ -255,7 +253,7 @@ const ProductTypeDetailsPage: React.FC = ({ disabled={isSaveDisabled} state={saveButtonBarState} /> - + ); }} diff --git a/src/products/components/ProductCreatePage/ProductCreatePage.tsx b/src/products/components/ProductCreatePage/ProductCreatePage.tsx index 0b3cd1fc8..88d1c1a04 100644 --- a/src/products/components/ProductCreatePage/ProductCreatePage.tsx +++ b/src/products/components/ProductCreatePage/ProductCreatePage.tsx @@ -4,14 +4,12 @@ import { } from "@dashboard/attributes/utils/data"; import CannotDefineChannelsAvailabilityCard from "@dashboard/channels/components/CannotDefineChannelsAvailabilityCard/CannotDefineChannelsAvailabilityCard"; import { ChannelData } from "@dashboard/channels/utils"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import AssignAttributeValueDialog from "@dashboard/components/AssignAttributeValueDialog"; import Attributes, { AttributeInput } from "@dashboard/components/Attributes"; import CardSpacer from "@dashboard/components/CardSpacer"; import ChannelsAvailabilityCard from "@dashboard/components/ChannelsAvailabilityCard"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata"; import { MultiAutocompleteChoiceType } from "@dashboard/components/MultiAutocompleteSelectField"; import Savebar from "@dashboard/components/Savebar"; @@ -236,9 +234,9 @@ export const ProductCreatePage: React.FC = ({ ); return ( - + - + = ({ /> - - + + = ({ taxClasses={taxClasses} onFetchMore={fetchMoreTaxClasses} /> - + navigate(productListUrl())} onSubmit={submit} @@ -407,7 +405,7 @@ export const ProductCreatePage: React.FC = ({ } /> )} - + ); }} diff --git a/src/products/components/ProductListPage/ProductListPage.tsx b/src/products/components/ProductListPage/ProductListPage.tsx index 346480a86..dcd733ff7 100644 --- a/src/products/components/ProductListPage/ProductListPage.tsx +++ b/src/products/components/ProductListPage/ProductListPage.tsx @@ -11,6 +11,7 @@ import CardMenu from "@dashboard/components/CardMenu"; import ColumnPicker from "@dashboard/components/ColumnPicker"; import { getByName } from "@dashboard/components/Filter/utils"; import FilterBar from "@dashboard/components/FilterBar"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import LimitReachedAlert from "@dashboard/components/LimitReachedAlert"; import { MultiAutocompleteChoiceType } from "@dashboard/components/MultiAutocompleteSelectField"; import { ProductListColumns } from "@dashboard/config"; @@ -171,10 +172,8 @@ export const ProductListPage: React.FC = props => { ]; const limitReached = isLimitReached(limits, "productVariants"); - const { - PRODUCT_OVERVIEW_CREATE, - PRODUCT_OVERVIEW_MORE_ACTIONS, - } = useExtensions(extensionMountPoints.PRODUCT_LIST); + const { PRODUCT_OVERVIEW_CREATE, PRODUCT_OVERVIEW_MORE_ACTIONS } = + useExtensions(extensionMountPoints.PRODUCT_LIST); const extensionMenuItems = mapToMenuItemsForProductOverviewActions( PRODUCT_OVERVIEW_MORE_ACTIONS, @@ -183,7 +182,7 @@ export const ProductListPage: React.FC = props => { const extensionCreateButtonItems = mapToMenuItems(PRODUCT_OVERVIEW_CREATE); return ( - <> + = props => { filterDependency={filterDependency} /> - + ); }; ProductListPage.displayName = "ProductListPage"; diff --git a/src/products/components/ProductUpdatePage/ProductUpdatePage.tsx b/src/products/components/ProductUpdatePage/ProductUpdatePage.tsx index d63b3e0c3..a4587d368 100644 --- a/src/products/components/ProductUpdatePage/ProductUpdatePage.tsx +++ b/src/products/components/ProductUpdatePage/ProductUpdatePage.tsx @@ -8,15 +8,13 @@ import { mergeAttributeValues, } from "@dashboard/attributes/utils/data"; import { ChannelData } from "@dashboard/channels/utils"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import AssignAttributeValueDialog from "@dashboard/components/AssignAttributeValueDialog"; import Attributes, { AttributeInput } from "@dashboard/components/Attributes"; import CardMenu from "@dashboard/components/CardMenu"; import CardSpacer from "@dashboard/components/CardSpacer"; import ChannelsAvailabilityCard from "@dashboard/components/ChannelsAvailabilityCard"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata/Metadata"; import Savebar from "@dashboard/components/Savebar"; import SeoForm from "@dashboard/components/SeoForm"; @@ -325,173 +323,169 @@ export const ProductUpdatePage: React.FC = ({ ); return ( - <> - - - - - - - - - setMediaUrlModalStatus(true)} - getImageEditUrl={imageId => - productImageUrl(productId, imageId) - } - /> - - {data.attributes.length > 0 && ( - - )} - - - - - - - - - - - - - - - - navigate(productListUrl())} - onDelete={onDelete} - onSubmit={submit} - state={saveButtonBarState} - disabled={isSaveDisabled} + + + - {canOpenAssignReferencesAttributeDialog && entityType && ( - - handleAssignReferenceAttribute( - attributeValues, - data, - handlers, - ) - } + + + + + + setMediaUrlModalStatus(true)} + getImageEditUrl={imageId => productImageUrl(productId, imageId)} + /> + + {data.attributes.length > 0 && ( + )} - - setMediaUrlModalStatus(false)} - open={mediaUrlModalStatus} - onSubmit={onMediaUrlUpload} + + - + + + + + + setChannelPickerOpen(false)} - open={channelPickerOpen} - onConfirm={handlers.updateChannelList} + disabled={disabled} + errors={productOrganizationErrors} + fetchCategories={fetchCategories} + fetchCollections={fetchCollections} + fetchMoreCategories={fetchMoreCategories} + fetchMoreCollections={fetchMoreCollections} + productType={product?.productType} + onCategoryChange={handlers.selectCategory} + onCollectionChange={handlers.selectCollection} /> - - + + + + + + + navigate(productListUrl())} + onDelete={onDelete} + onSubmit={submit} + state={saveButtonBarState} + disabled={isSaveDisabled} + /> + {canOpenAssignReferencesAttributeDialog && entityType && ( + + handleAssignReferenceAttribute( + attributeValues, + data, + handlers, + ) + } + /> + )} + + setMediaUrlModalStatus(false)} + open={mediaUrlModalStatus} + onSubmit={onMediaUrlUpload} + /> + setChannelPickerOpen(false)} + open={channelPickerOpen} + onConfirm={handlers.updateChannelList} + /> + ); }} diff --git a/src/products/components/ProductVariantCreatePage/ProductVariantCreatePage.tsx b/src/products/components/ProductVariantCreatePage/ProductVariantCreatePage.tsx index 48ae94478..418a7057b 100644 --- a/src/products/components/ProductVariantCreatePage/ProductVariantCreatePage.tsx +++ b/src/products/components/ProductVariantCreatePage/ProductVariantCreatePage.tsx @@ -2,8 +2,6 @@ import { getReferenceAttributeEntityTypeFromAttribute, mergeAttributeValues, } from "@dashboard/attributes/utils/data"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import AssignAttributeValueDialog from "@dashboard/components/AssignAttributeValueDialog"; import Attributes, { @@ -12,6 +10,7 @@ import Attributes, { } from "@dashboard/components/Attributes"; import CardSpacer from "@dashboard/components/CardSpacer"; import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import { @@ -180,9 +179,9 @@ const ProductVariantCreatePage: React.FC = ({ const errors = [...apiErrors, ...validationErrors]; return ( - + - +
= ({ onConfirm={handlers.updateChannels} /> )} - - + + ); }} diff --git a/src/products/components/ProductVariantPage/ProductVariantPage.tsx b/src/products/components/ProductVariantPage/ProductVariantPage.tsx index c8c0d306c..66f339d49 100644 --- a/src/products/components/ProductVariantPage/ProductVariantPage.tsx +++ b/src/products/components/ProductVariantPage/ProductVariantPage.tsx @@ -3,8 +3,6 @@ import { mergeAttributeValues, } from "@dashboard/attributes/utils/data"; import { ChannelPriceData } from "@dashboard/channels/utils"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import AssignAttributeValueDialog from "@dashboard/components/AssignAttributeValueDialog"; import Attributes, { @@ -13,6 +11,7 @@ import Attributes, { } from "@dashboard/components/Attributes"; import CardSpacer from "@dashboard/components/CardSpacer"; import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { MetadataFormData } from "@dashboard/components/Metadata"; import Metadata from "@dashboard/components/Metadata/Metadata"; import Savebar from "@dashboard/components/Savebar"; @@ -195,13 +194,13 @@ const ProductVariantPage: React.FC = ({ }; return ( - + {variant?.product?.defaultVariant?.id !== variant?.id && ( )} - + = ({ ); }} - + {!!variant?.preorder && ( = ({ variantGlobalSoldUnits={variant?.preorder?.globalSoldUnits} /> )} - + ); }; ProductVariantPage.displayName = "ProductVariantPage"; diff --git a/src/shipping/components/ShippingZoneCreatePage/ShippingZoneCreatePage.tsx b/src/shipping/components/ShippingZoneCreatePage/ShippingZoneCreatePage.tsx index c61644ac3..8fde2ae64 100644 --- a/src/shipping/components/ShippingZoneCreatePage/ShippingZoneCreatePage.tsx +++ b/src/shipping/components/ShippingZoneCreatePage/ShippingZoneCreatePage.tsx @@ -1,9 +1,8 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import CountryList from "@dashboard/components/CountryList"; import Form from "@dashboard/components/Form"; -import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { CountryFragment, ShippingErrorFragment } from "@dashboard/graphql"; import { SubmitPromise } from "@dashboard/hooks/useForm"; @@ -77,67 +76,66 @@ const ShippingZoneCreatePage: React.FC = ({ disabled={disabled} > {({ change, data, isSaveDisabled, submit }) => ( - <> + - - -
- - - - countries.find(country => country.code === selectedCountry), - )} - disabled={disabled} - emptyText={intl.formatMessage(messages.noCountriesAssigned)} - onCountryAssign={toggleModal} - onCountryUnassign={countryCode => - change({ - target: { - name: "countries", - value: data.countries.filter( - country => country !== countryCode, - ), - }, - } as any) - } - title={intl.formatMessage(messages.countries)} - /> -
-
- navigate(shippingZonesListUrl())} - onSubmit={submit} - state={saveButtonBarState} + +
+ + + + countries.find(country => country.code === selectedCountry), + )} + disabled={disabled} + emptyText={intl.formatMessage(messages.noCountriesAssigned)} + onCountryAssign={toggleModal} + onCountryUnassign={countryCode => + change({ + target: { + name: "countries", + value: data.countries.filter( + country => country !== countryCode, + ), + }, + } as any) + } + title={intl.formatMessage(messages.countries)} + /> +
+ + { + change({ + target: { + name: "countries", + value: formData.countries, + }, + } as any); + toggleModal(); + }} + confirmButtonState="default" + countries={countries} + restWorldCountries={restWorldCountries} + initial={data.countries} + onClose={toggleModal} /> -
- { - change({ - target: { - name: "countries", - value: formData.countries, - }, - } as any); - toggleModal(); - }} - confirmButtonState="default" - countries={countries} - restWorldCountries={restWorldCountries} - initial={data.countries} - onClose={toggleModal} + + navigate(shippingZonesListUrl())} + onSubmit={submit} + state={saveButtonBarState} /> - +
)} ); diff --git a/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx b/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx index 968ba448b..0ec066328 100644 --- a/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx +++ b/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx @@ -1,10 +1,8 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import CountryList from "@dashboard/components/CountryList"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata/Metadata"; import { MultiAutocompleteChoiceType } from "@dashboard/components/MultiAutocompleteSelectField"; import Savebar from "@dashboard/components/Savebar"; @@ -152,9 +150,9 @@ const ShippingZoneDetailsPage: React.FC = ({ const changeMetadata = makeMetadataChangeHandler(change); return ( - + - + = ({ /> - - + + = ({ channelsDisplayValues={channelsDisplayValues} onChannelChange={handleChannelChange} /> - + navigate(shippingZonesListUrl())} @@ -225,7 +223,7 @@ const ShippingZoneDetailsPage: React.FC = ({ onSubmit={submit} state={saveButtonBarState} /> - + ); }} diff --git a/src/shipping/components/ShippingZoneRatesCreatePage/ShippingZoneRatesCreatePage.tsx b/src/shipping/components/ShippingZoneRatesCreatePage/ShippingZoneRatesCreatePage.tsx index 21329e3d1..dad4ca37e 100644 --- a/src/shipping/components/ShippingZoneRatesCreatePage/ShippingZoneRatesCreatePage.tsx +++ b/src/shipping/components/ShippingZoneRatesCreatePage/ShippingZoneRatesCreatePage.tsx @@ -1,11 +1,9 @@ import { ChannelShippingData } from "@dashboard/channels/utils"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import ChannelsAvailabilityCard from "@dashboard/components/ChannelsAvailabilityCard"; import { WithFormId } from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { PermissionEnum, @@ -60,7 +58,9 @@ export interface ShippingZoneRatesCreatePageProps extends WithFormId { fetchMoreTaxClasses: FetchMoreProps; } -export const ShippingZoneRatesCreatePage: React.FC = ({ +export const ShippingZoneRatesCreatePage: React.FC< + ShippingZoneRatesCreatePageProps +> = ({ allChannelsCount, shippingChannels, channelErrors, @@ -148,7 +148,7 @@ export const ShippingZoneRatesCreatePage: React.FC
- + - + - - + + - + navigate(backUrl)} @@ -239,7 +239,7 @@ export const ShippingZoneRatesCreatePage: React.FC - +
); diff --git a/src/shipping/components/ShippingZoneRatesPage/ShippingZoneRatesPage.tsx b/src/shipping/components/ShippingZoneRatesPage/ShippingZoneRatesPage.tsx index 8de10b9ce..7f6a90446 100644 --- a/src/shipping/components/ShippingZoneRatesPage/ShippingZoneRatesPage.tsx +++ b/src/shipping/components/ShippingZoneRatesPage/ShippingZoneRatesPage.tsx @@ -1,11 +1,9 @@ import { ChannelShippingData } from "@dashboard/channels/utils"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import ChannelsAvailabilityCard from "@dashboard/components/ChannelsAvailabilityCard"; import { WithFormId } from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata/Metadata"; import Savebar from "@dashboard/components/Savebar"; import { @@ -102,25 +100,23 @@ export const ShippingZoneRatesPage: React.FC = ({ const isPriceVariant = variant === ShippingMethodTypeEnum.PRICE; - const initialForm: Omit< - ShippingZoneRateUpdateFormData, - "description" - > = React.useMemo( - () => ({ - channelListings: shippingChannels, - maxDays: rate?.maximumDeliveryDays?.toString() || "", - maxValue: rate?.maximumOrderWeight?.value.toString() || "", - metadata: rate?.metadata.map(mapMetadataItemToInput), - minDays: rate?.minimumDeliveryDays?.toString() || "", - minValue: rate?.minimumOrderWeight?.value.toString() || "", - name: rate?.name || "", - orderValueRestricted: !!rate?.channelListings.length, - privateMetadata: rate?.privateMetadata.map(mapMetadataItemToInput), - type: rate?.type || null, - taxClassId: rate?.taxClass?.id || "", - }), - [shippingChannels, rate], - ); + const initialForm: Omit = + React.useMemo( + () => ({ + channelListings: shippingChannels, + maxDays: rate?.maximumDeliveryDays?.toString() || "", + maxValue: rate?.maximumOrderWeight?.value.toString() || "", + metadata: rate?.metadata.map(mapMetadataItemToInput), + minDays: rate?.minimumDeliveryDays?.toString() || "", + minValue: rate?.minimumOrderWeight?.value.toString() || "", + name: rate?.name || "", + orderValueRestricted: !!rate?.channelListings.length, + privateMetadata: rate?.privateMetadata.map(mapMetadataItemToInput), + type: rate?.type || null, + taxClassId: rate?.taxClass?.id || "", + }), + [shippingChannels, rate], + ); const { change, @@ -144,9 +140,8 @@ export const ShippingZoneRatesPage: React.FC = ({ triggerChange, }); - const { - makeChangeHandler: makeMetadataChangeHandler, - } = useMetadataChangeTrigger(); + const { makeChangeHandler: makeMetadataChangeHandler } = + useMetadataChangeTrigger(); const data: ShippingZoneRateUpdateFormData = { ...formData, @@ -182,9 +177,9 @@ export const ShippingZoneRatesPage: React.FC = ({ return (
- + - + = ({ /> - - + + = ({ } onFetchMore={fetchMoreTaxClasses} /> - + navigate(backHref)} @@ -271,7 +266,7 @@ export const ShippingZoneRatesPage: React.FC = ({ onSubmit={handleSubmit} state={saveButtonBarState} /> - +
); diff --git a/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx b/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx index 1e7e80c8a..f61a6aeb3 100644 --- a/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx +++ b/src/shipping/components/ShippingZonesListPage/ShippingZonesListPage.tsx @@ -1,7 +1,5 @@ -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import RequirePermissions from "@dashboard/components/RequirePermissions"; import { configurationMenuUrl } from "@dashboard/configuration"; import { @@ -40,7 +38,7 @@ const ShippingZonesListPage: React.FC = ({ const intl = useIntl(); return ( - + = ({ description: "header", })} /> - + - - + + @@ -62,8 +60,8 @@ const ShippingZonesListPage: React.FC = ({ onSubmit={onSubmit} /> - - + + ); }; ShippingZonesListPage.displayName = "ShippingZonesListPage"; diff --git a/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx b/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx index ee2f8958d..34daa981a 100644 --- a/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx +++ b/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx @@ -1,11 +1,10 @@ import { createCountryHandler } from "@dashboard/components/AddressEdit/createCountryHandler"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CompanyAddressInput from "@dashboard/components/CompanyAddressInput"; import Form from "@dashboard/components/Form"; import Grid from "@dashboard/components/Grid"; import Hr from "@dashboard/components/Hr"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import PageSectionHeader from "@dashboard/components/PageSectionHeader"; import Savebar from "@dashboard/components/Savebar"; import { configurationMenuUrl } from "@dashboard/configuration"; @@ -139,12 +138,12 @@ const SiteSettingsPage: React.FC = props => { const handleCountrySelect = createCountryHandler(countrySelect, set); return ( - + - + = props => { onCancel={() => navigate(configurationMenuUrl)} onSubmit={submit} /> - - + + ); }} diff --git a/src/staff/components/StaffDetailsPage/StaffDetailsPage.tsx b/src/staff/components/StaffDetailsPage/StaffDetailsPage.tsx index ba92ddd66..9770fc220 100644 --- a/src/staff/components/StaffDetailsPage/StaffDetailsPage.tsx +++ b/src/staff/components/StaffDetailsPage/StaffDetailsPage.tsx @@ -1,11 +1,9 @@ import AccountPermissionGroups from "@dashboard/components/AccountPermissionGroups"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import CardTitle from "@dashboard/components/CardTitle"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { MultiAutocompleteChoiceType } from "@dashboard/components/MultiAutocompleteSelectField"; import Savebar from "@dashboard/components/Savebar"; import { @@ -36,7 +34,6 @@ import StaffPassword from "../StaffPassword/StaffPassword"; import StaffPreferences from "../StaffPreferences"; import StaffProperties from "../StaffProperties/StaffProperties"; import { staffDetailsPageMessages as messages } from "./messages"; -import useStyles from "./styles"; export interface StaffDetailsFormData { email: string; @@ -84,7 +81,6 @@ const StaffDetailsPage: React.FC = ({ staffMember, }: StaffDetailsPageProps) => { const intl = useIntl(); - const classes = useStyles(); const navigate = useNavigator(); const { locale, setLocale } = useLocale(); @@ -128,9 +124,9 @@ const StaffDetailsPage: React.FC = ({ ); return ( - + - + = ({ )} - + - + {canEditPreferences && ( )} @@ -194,7 +190,7 @@ const StaffDetailsPage: React.FC = ({ )} - + = ({ onSubmit={submit} onDelete={canRemove ? onDelete : undefined} /> - + ); }} diff --git a/src/staff/components/StaffListPage/StaffListPage.tsx b/src/staff/components/StaffListPage/StaffListPage.tsx index 1f555f9d4..6dca40fcc 100644 --- a/src/staff/components/StaffListPage/StaffListPage.tsx +++ b/src/staff/components/StaffListPage/StaffListPage.tsx @@ -2,6 +2,7 @@ import { LimitsInfo } from "@dashboard/components/AppLayout/LimitsInfo"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Button } from "@dashboard/components/Button"; import FilterBar from "@dashboard/components/FilterBar"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import LimitReachedAlert from "@dashboard/components/LimitReachedAlert"; import { configurationMenuUrl } from "@dashboard/configuration"; import { RefreshLimitsQuery, StaffListQuery } from "@dashboard/graphql"; @@ -57,7 +58,7 @@ const StaffListPage: React.FC = ({ const reachedLimit = isLimitReached(limits, "staffUsers"); return ( - <> + = ({ /> - + ); }; StaffListPage.displayName = "StaffListPage"; diff --git a/src/taxes/pages/TaxChannelsPage/TaxChannelsPage.tsx b/src/taxes/pages/TaxChannelsPage/TaxChannelsPage.tsx index 683c96c7c..071a15e0e 100644 --- a/src/taxes/pages/TaxChannelsPage/TaxChannelsPage.tsx +++ b/src/taxes/pages/TaxChannelsPage/TaxChannelsPage.tsx @@ -1,10 +1,9 @@ import VerticalSpacer from "@dashboard/apps/components/VerticalSpacer"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardTitle from "@dashboard/components/CardTitle"; import Form from "@dashboard/components/Form"; import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import Skeleton from "@dashboard/components/Skeleton"; import { configurationMenuUrl } from "@dashboard/configuration"; @@ -161,9 +160,9 @@ export const TaxChannelsPage: React.FC = props => { }; return ( - + } /> - + = props => { /> )} - + navigate(configurationMenuUrl)} /> - + ); }} diff --git a/src/taxes/pages/TaxClassesPage/TaxClassesPage.tsx b/src/taxes/pages/TaxClassesPage/TaxClassesPage.tsx index 0005d4b79..76b0efe5e 100644 --- a/src/taxes/pages/TaxClassesPage/TaxClassesPage.tsx +++ b/src/taxes/pages/TaxClassesPage/TaxClassesPage.tsx @@ -1,9 +1,8 @@ import VerticalSpacer from "@dashboard/apps/components/VerticalSpacer"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardTitle from "@dashboard/components/CardTitle"; import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Metadata from "@dashboard/components/Metadata"; import Savebar from "@dashboard/components/Savebar"; import Skeleton from "@dashboard/components/Skeleton"; @@ -120,9 +119,9 @@ export const TaxClassesPage: React.FC = props => { const formErrors = getFormErrors(["name"], validationErrors); return ( - + } /> - + = props => { onSubmit={submit} onCancel={() => navigate(configurationMenuUrl)} /> - - + + ); }} diff --git a/src/taxes/pages/TaxCountriesPage/TaxCountriesPage.tsx b/src/taxes/pages/TaxCountriesPage/TaxCountriesPage.tsx index 79c98ea96..5ff4479de 100644 --- a/src/taxes/pages/TaxCountriesPage/TaxCountriesPage.tsx +++ b/src/taxes/pages/TaxCountriesPage/TaxCountriesPage.tsx @@ -1,9 +1,8 @@ import VerticalSpacer from "@dashboard/apps/components/VerticalSpacer"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardTitle from "@dashboard/components/CardTitle"; import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import Skeleton from "@dashboard/components/Skeleton"; import { configurationMenuUrl } from "@dashboard/configuration"; @@ -92,9 +91,9 @@ export const TaxCountriesPage: React.FC = props => { ); return ( - + } /> - + = props => { onSubmit={submit} onCancel={() => navigate(configurationMenuUrl)} /> - - + + ); }} diff --git a/src/translations/components/TranslationsAttributesPage/TranslationsAttributesPage.tsx b/src/translations/components/TranslationsAttributesPage/TranslationsAttributesPage.tsx index 0b252526f..a6fdca7cb 100644 --- a/src/translations/components/TranslationsAttributesPage/TranslationsAttributesPage.tsx +++ b/src/translations/components/TranslationsAttributesPage/TranslationsAttributesPage.tsx @@ -1,7 +1,7 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { ListSettingsUpdate } from "@dashboard/components/TablePagination"; import { AttributeTranslationDetailsFragment, @@ -55,7 +55,7 @@ const TranslationsAttributesPage: React.FC = ({ const withChoices = data?.attribute?.withChoices; return ( - + = ({ onSubmit={onSubmit} /> )} - + ); }; TranslationsAttributesPage.displayName = "TranslationsAttributesPage"; diff --git a/src/translations/components/TranslationsCategoriesPage/TranslationsCategoriesPage.tsx b/src/translations/components/TranslationsCategoriesPage/TranslationsCategoriesPage.tsx index 5142af5cf..a1a9f2d98 100644 --- a/src/translations/components/TranslationsCategoriesPage/TranslationsCategoriesPage.tsx +++ b/src/translations/components/TranslationsCategoriesPage/TranslationsCategoriesPage.tsx @@ -1,7 +1,7 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { CategoryTranslationFragment, LanguageCodeEnum, @@ -42,7 +42,7 @@ const TranslationsCategoriesPage: React.FC = ({ const intl = useIntl(); return ( - + = ({ onDiscard={onDiscard} onSubmit={onSubmit} /> - + ); }; TranslationsCategoriesPage.displayName = "TranslationsCategoriesPage"; diff --git a/src/translations/components/TranslationsCollectionsPage/TranslationsCollectionsPage.tsx b/src/translations/components/TranslationsCollectionsPage/TranslationsCollectionsPage.tsx index 301adc926..e0ba805b6 100644 --- a/src/translations/components/TranslationsCollectionsPage/TranslationsCollectionsPage.tsx +++ b/src/translations/components/TranslationsCollectionsPage/TranslationsCollectionsPage.tsx @@ -1,7 +1,7 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { CollectionTranslationFragment, LanguageCodeEnum, @@ -44,7 +44,7 @@ const TranslationsCollectionsPage: React.FC< const intl = useIntl(); return ( - + - + ); }; TranslationsCollectionsPage.displayName = "TranslationsCollectionsPage"; diff --git a/src/translations/components/TranslationsMenuItemPage/TranslationsMenuItemPage.tsx b/src/translations/components/TranslationsMenuItemPage/TranslationsMenuItemPage.tsx index d2dcbc2fe..7c456954d 100644 --- a/src/translations/components/TranslationsMenuItemPage/TranslationsMenuItemPage.tsx +++ b/src/translations/components/TranslationsMenuItemPage/TranslationsMenuItemPage.tsx @@ -1,6 +1,6 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { LanguageCodeEnum, MenuItemTranslationFragment, @@ -41,7 +41,7 @@ const TranslationsMenuItemPage: React.FC = ({ const intl = useIntl(); return ( - + = ({ onDiscard={onDiscard} onSubmit={onSubmit} /> - + ); }; TranslationsMenuItemPage.displayName = "TranslationsMenuItemPage"; diff --git a/src/translations/components/TranslationsPagesPage/TranslationsPagesPage.tsx b/src/translations/components/TranslationsPagesPage/TranslationsPagesPage.tsx index f35da3112..70b36230a 100644 --- a/src/translations/components/TranslationsPagesPage/TranslationsPagesPage.tsx +++ b/src/translations/components/TranslationsPagesPage/TranslationsPagesPage.tsx @@ -1,7 +1,7 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { LanguageCodeEnum, PageTranslationFragment } from "@dashboard/graphql"; import { commonMessages } from "@dashboard/intl"; import { getStringOrPlaceholder } from "@dashboard/misc"; @@ -42,7 +42,7 @@ const TranslationsPagesPage: React.FC = ({ const intl = useIntl(); return ( - + = ({ )} - + ); }; TranslationsPagesPage.displayName = "TranslationsPagesPage"; diff --git a/src/translations/components/TranslationsProductsPage/TranslationsProductsPage.tsx b/src/translations/components/TranslationsProductsPage/TranslationsProductsPage.tsx index 9424e521c..4f8399219 100644 --- a/src/translations/components/TranslationsProductsPage/TranslationsProductsPage.tsx +++ b/src/translations/components/TranslationsProductsPage/TranslationsProductsPage.tsx @@ -1,7 +1,7 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { LanguageCodeEnum, ProductTranslationFragment, @@ -48,7 +48,7 @@ const TranslationsProductsPage: React.FC = ({ const intl = useIntl(); return ( - + = ({ } /> - - - - - {data?.attributeValues?.length > 0 && ( - <> - - - - )} - + + + + + + {data?.attributeValues?.length > 0 && ( + <> + + + + )} + + ); }; TranslationsProductsPage.displayName = "TranslationsProductsPage"; diff --git a/src/translations/components/TranslationsSalesPage/TranslationsSalesPage.tsx b/src/translations/components/TranslationsSalesPage/TranslationsSalesPage.tsx index d6fdaadcc..0e6e0ff3f 100644 --- a/src/translations/components/TranslationsSalesPage/TranslationsSalesPage.tsx +++ b/src/translations/components/TranslationsSalesPage/TranslationsSalesPage.tsx @@ -1,6 +1,6 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { LanguageCodeEnum, SaleTranslationFragment } from "@dashboard/graphql"; import { commonMessages } from "@dashboard/intl"; import { getStringOrPlaceholder } from "@dashboard/misc"; @@ -39,7 +39,7 @@ const TranslationsSalesPage: React.FC = ({ const intl = useIntl(); return ( - + = ({ } /> - - + + + + ); }; TranslationsSalesPage.displayName = "TranslationsSalesPage"; diff --git a/src/translations/components/TranslationsShippingMethodPage/TranslationsShippingMethodPage.tsx b/src/translations/components/TranslationsShippingMethodPage/TranslationsShippingMethodPage.tsx index 8a82d3099..0f16f779a 100644 --- a/src/translations/components/TranslationsShippingMethodPage/TranslationsShippingMethodPage.tsx +++ b/src/translations/components/TranslationsShippingMethodPage/TranslationsShippingMethodPage.tsx @@ -1,6 +1,6 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { LanguageCodeEnum, ShippingMethodTranslationFragment, @@ -43,7 +43,7 @@ const TranslationsShippingMethodPage: React.FC< const intl = useIntl(); return ( - + - - + + + + ); }; TranslationsShippingMethodPage.displayName = "TranslationsShippingMethodPage"; diff --git a/src/translations/components/TranslationsVouchersPage/TranslationsVouchersPage.tsx b/src/translations/components/TranslationsVouchersPage/TranslationsVouchersPage.tsx index 164fddcde..cd774a54d 100644 --- a/src/translations/components/TranslationsVouchersPage/TranslationsVouchersPage.tsx +++ b/src/translations/components/TranslationsVouchersPage/TranslationsVouchersPage.tsx @@ -1,6 +1,6 @@ -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import LanguageSwitch from "@dashboard/components/LanguageSwitch"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import { LanguageCodeEnum, VoucherTranslationFragment, @@ -42,7 +42,7 @@ const TranslationsVouchersPage: React.FC = ({ const intl = useIntl(); return ( - + = ({ } /> - - + + + + ); }; TranslationsVouchersPage.displayName = "TranslationsVouchersPage"; diff --git a/src/warehouses/components/WarehouseCreatePage/WarehouseCreatePage.tsx b/src/warehouses/components/WarehouseCreatePage/WarehouseCreatePage.tsx index cc37caba7..93a36d316 100644 --- a/src/warehouses/components/WarehouseCreatePage/WarehouseCreatePage.tsx +++ b/src/warehouses/components/WarehouseCreatePage/WarehouseCreatePage.tsx @@ -1,10 +1,9 @@ import { createCountryHandler } from "@dashboard/components/AddressEdit/createCountryHandler"; -import { Content } from "@dashboard/components/AppLayout/Content"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import CompanyAddressInput from "@dashboard/components/CompanyAddressInput"; import Form from "@dashboard/components/Form"; -import Grid from "@dashboard/components/Grid"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { AddressTypeInput } from "@dashboard/customers/types"; import { @@ -75,7 +74,7 @@ const WarehouseCreatePage: React.FC = ({ const handleCountrySelect = createCountryHandler(countrySelect, set); return ( - <> + = ({ description: "header", })} /> - - -
- - - -
-
+ +
+ + + +
navigate(warehouseListUrl())} onSubmit={submit} state={saveButtonBarState} /> -
- + +
); }} diff --git a/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx b/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx index 8f1b0653f..33c5f8e75 100644 --- a/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx +++ b/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx @@ -1,11 +1,9 @@ import { createCountryHandler } from "@dashboard/components/AddressEdit/createCountryHandler"; -import { Content } from "@dashboard/components/AppLayout/Content"; -import { DetailedContent } from "@dashboard/components/AppLayout/DetailedContent"; -import { RightSidebar } from "@dashboard/components/AppLayout/RightSidebar"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import CardSpacer from "@dashboard/components/CardSpacer"; import CompanyAddressInput from "@dashboard/components/CompanyAddressInput"; import Form from "@dashboard/components/Form"; +import { DetailPageLayout } from "@dashboard/components/Layouts"; import Savebar from "@dashboard/components/Savebar"; import { AddressTypeInput } from "@dashboard/customers/types"; import { @@ -95,9 +93,9 @@ const WarehouseDetailsPage: React.FC = ({ const handleCountrySelect = createCountryHandler(countrySelect, set); return ( - + - + = ({ onChange={change} onCountryChange={handleCountrySelect} /> - - + + = ({ onChange={change} setData={set} /> - + navigate(warehouseListUrl())} @@ -136,7 +134,7 @@ const WarehouseDetailsPage: React.FC = ({ onSubmit={submit} state={saveButtonBarState} /> - + ); }} diff --git a/src/warehouses/components/WarehouseListPage/WarehouseListPage.tsx b/src/warehouses/components/WarehouseListPage/WarehouseListPage.tsx index 90b8c882d..90c66ab3c 100644 --- a/src/warehouses/components/WarehouseListPage/WarehouseListPage.tsx +++ b/src/warehouses/components/WarehouseListPage/WarehouseListPage.tsx @@ -2,6 +2,7 @@ import { LimitsInfo } from "@dashboard/components/AppLayout/LimitsInfo"; import { TopNav } from "@dashboard/components/AppLayout/TopNav"; import { Backlink } from "@dashboard/components/Backlink"; import { Button } from "@dashboard/components/Button"; +import { ListPageLayout } from "@dashboard/components/Layouts"; import LimitReachedAlert from "@dashboard/components/LimitReachedAlert"; import SearchBar from "@dashboard/components/SearchBar"; import { configurationMenuUrl } from "@dashboard/configuration"; @@ -59,7 +60,7 @@ export const WarehouseListPage: React.FC = ({ const limitReached = isLimitReached(limits, "warehouses"); return ( - <> + @@ -138,7 +139,7 @@ export const WarehouseListPage: React.FC = ({ {...listProps} /> - + ); }; WarehouseListPage.displayName = "WarehouseListPage";