@faststore/core 4.3.1-dev.0 → 4.4.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-generate.log +3 -3
- package/.turbo/turbo-test.log +43 -43
- package/CHANGELOG.md +10 -0
- package/README.md +2 -1
- package/cms/faststore/my-account/README.md +36 -0
- package/cms/faststore/my-account/components/cms_component__accountnavigation.jsonc +59 -0
- package/cms/faststore/my-account/components/cms_component__accountorderbudgets.jsonc +39 -0
- package/cms/faststore/my-account/components/cms_component__accountorderdelivery.jsonc +69 -0
- package/cms/faststore/my-account/components/cms_component__accountorderdetails.jsonc +79 -0
- package/cms/faststore/my-account/components/cms_component__accountordermoreinfo.jsonc +19 -0
- package/cms/faststore/my-account/components/cms_component__accountorderorderedby.jsonc +19 -0
- package/cms/faststore/my-account/components/cms_component__accountorderpayment.jsonc +69 -0
- package/cms/faststore/my-account/components/cms_component__accountorderslist.jsonc +154 -0
- package/cms/faststore/my-account/components/cms_component__accountorderstatus.jsonc +44 -0
- package/cms/faststore/my-account/components/cms_component__accountordersummary.jsonc +29 -0
- package/cms/faststore/my-account/components/cms_component__accountprofile.jsonc +39 -0
- package/cms/faststore/my-account/components/cms_component__accountsecurity.jsonc +104 -0
- package/cms/faststore/my-account/components/cms_component__accountunauthorized.jsonc +29 -0
- package/cms/faststore/my-account/components/cms_component__accountuserdetails.jsonc +49 -0
- package/cms/faststore/my-account/pages/cms_content_type__myaccountorderdetails.jsonc +18 -0
- package/cms/faststore/my-account/pages/cms_content_type__myaccountorders.jsonc +18 -0
- package/cms/faststore/my-account/pages/cms_content_type__myaccountprofile.jsonc +18 -0
- package/cms/faststore/my-account/pages/cms_content_type__myaccountsecurity.jsonc +18 -0
- package/cms/faststore/my-account/pages/cms_content_type__myaccountunauthorized.jsonc +18 -0
- package/cms/faststore/my-account/pages/cms_content_type__myaccountuserdetails.jsonc +18 -0
- package/package.json +6 -6
- package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationDrawer/OrganizationDrawerBody.tsx +15 -3
- package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationSignInButton/OrganizationSignInButton.tsx +5 -1
- package/src/components/account/{MyAccountDrawer → Drawer}/ProfileSummary/ProfileSummary.tsx +12 -2
- package/src/components/account/Layout/Layout.tsx +46 -0
- package/src/components/account/Layout/index.ts +1 -0
- package/src/components/account/{MyAccountLayout → Layout}/styles.scss +2 -2
- package/src/components/account/{MyAccountMenu/MyAccountMenu.tsx → Menu/Menu.tsx} +8 -10
- package/src/components/account/Menu/index.ts +1 -0
- package/src/components/account/UserDetails/UserDetails.tsx +54 -0
- package/src/components/account/UserDetails/index.ts +1 -0
- package/src/components/account/{MyAccountUserDetails → UserDetails}/styles.module.scss +2 -2
- package/src/components/account/UserDetails/userDetailsLabels.ts +25 -0
- package/src/components/account/components/{MyAccountAccordion/MyAccountAccordion.tsx → Accordion/Accordion.tsx} +2 -4
- package/src/components/account/components/{MyAccountAccordion/MyAccountAccordionButton.tsx → Accordion/AccordionButton.tsx} +3 -7
- package/src/components/account/components/{MyAccountAccordion/MyAccountAccordionItem.tsx → Accordion/AccordionItem.tsx} +3 -7
- package/src/components/account/components/{MyAccountAccordion/MyAccountAccordionPanel.tsx → Accordion/AccordionPanel.tsx} +3 -3
- package/src/components/account/components/Accordion/index.ts +4 -0
- package/src/components/account/components/{MyAccountCard/MyAccountCard.tsx → Card/Card.tsx} +2 -4
- package/src/components/account/components/Card/index.ts +1 -0
- package/src/components/account/components/{MyAccountHeader/MyAccountHeader.tsx → Header/Header.tsx} +3 -3
- package/src/components/account/components/Header/index.ts +1 -0
- package/src/components/account/components/StatusBadge/StatusBadge.tsx +43 -0
- package/src/components/account/components/StatusBadge/index.ts +1 -0
- package/src/components/account/components/{MyAccountTable/MyAccountTable.tsx → Table/Table.tsx} +3 -3
- package/src/components/account/components/Table/index.ts +1 -0
- package/src/components/account/components/Tag/index.ts +1 -0
- package/src/components/account/index.ts +2 -2
- package/src/components/account/orders/ListOrders/FilterSlider/FilterFacetDateRange/FilterFacetDateRange.tsx +128 -0
- package/src/components/account/orders/ListOrders/FilterSlider/FilterFacetDateRange/index.ts +2 -0
- package/src/components/account/orders/{MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetPendingApproval/MyAccountFilterFacetPendingApproval.tsx → ListOrders/FilterSlider/FilterFacetPendingApproval/FilterFacetPendingApproval.tsx} +4 -4
- package/src/components/account/orders/ListOrders/FilterSlider/FilterFacetPendingApproval/index.ts +2 -0
- package/src/components/account/orders/{MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterSlider.tsx → ListOrders/FilterSlider/FilterSlider.tsx} +13 -4
- package/src/components/account/orders/ListOrders/FilterSlider/index.ts +1 -0
- package/src/components/account/orders/{MyAccountListOrders/MyAccountFilterSlider → ListOrders/FilterSlider}/section.module.scss +2 -2
- package/src/components/account/orders/{MyAccountListOrders/MyAccountListOrders.tsx → ListOrders/ListOrders.tsx} +53 -30
- package/src/components/account/orders/{MyAccountListOrders/MyAccountListOrdersTable → ListOrders/ListOrdersTable}/ExpandButton/ExpandButton.tsx +5 -1
- package/src/components/account/orders/{MyAccountListOrders/MyAccountListOrdersTable/MyAccountListOrdersTable.tsx → ListOrders/ListOrdersTable/ListOrdersTable.tsx} +35 -12
- package/src/components/account/orders/ListOrders/ListOrdersTable/index.ts +1 -0
- package/src/components/account/orders/{MyAccountListOrders/MyAccountSelectedTags/MyAccountSelectedTags.tsx → ListOrders/SelectedTags/SelectedTags.tsx} +24 -14
- package/src/components/account/orders/ListOrders/SelectedTags/index.ts +1 -0
- package/src/components/account/orders/ListOrders/index.ts +1 -0
- package/src/components/account/orders/ListOrders/listOrdersLabels.ts +112 -0
- package/src/components/account/orders/{MyAccountListOrders → ListOrders}/styles.module.scss +3 -3
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountBudgetsCard/MyAccountBudgetsCard.tsx → OrderDetails/BudgetsCard/BudgetsCard.tsx} +18 -11
- package/src/components/account/orders/OrderDetails/BudgetsCard/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountBuyingPolicyAlert/MyAccountBuyingPolicyAlert.tsx → OrderDetails/BuyingPolicyAlert/BuyingPolicyAlert.tsx} +46 -20
- package/src/components/account/orders/OrderDetails/BuyingPolicyAlert/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountDeliveryCard/MyAccountDeliveryCard.tsx → OrderDetails/DeliveryCard/DeliveryCard.tsx} +16 -15
- package/src/components/account/orders/OrderDetails/DeliveryCard/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordion.tsx → OrderDetails/DeliveryOptionAccordion/DeliveryOptionAccordion.tsx} +38 -25
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordionDeliveryInfo.tsx → OrderDetails/DeliveryOptionAccordion/DeliveryOptionAccordionDeliveryInfo.tsx} +4 -4
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordionProducts.tsx → OrderDetails/DeliveryOptionAccordion/DeliveryOptionAccordionProducts.tsx} +7 -10
- package/src/components/account/orders/OrderDetails/DeliveryOptionAccordion/index.ts +6 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountMoreInformationCard/MyAccountMoreInformationCard.tsx → OrderDetails/MoreInformationCard/MoreInformationCard.tsx} +10 -7
- package/src/components/account/orders/OrderDetails/MoreInformationCard/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountOrderActionModal/MyAccountOrderActionModal.tsx → OrderDetails/OrderActionModal/OrderActionModal.tsx} +3 -3
- package/src/components/account/orders/OrderDetails/OrderActionModal/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountOrderActions/MyAccountOrderActions.tsx → OrderDetails/OrderActions/OrderActions.tsx} +19 -12
- package/src/components/account/orders/OrderDetails/OrderActions/index.ts +1 -0
- package/src/components/account/orders/OrderDetails/OrderDetails.tsx +92 -0
- package/src/components/account/orders/OrderDetails/OrderDetailsHeader.tsx +89 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountOrderedByCard/MyAccountOrderedByCard.tsx → OrderDetails/OrderedByCard/OrderedByCard.tsx} +9 -7
- package/src/components/account/orders/OrderDetails/OrderedByCard/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountPaymentCard/MyAccountPaymentCard.tsx → OrderDetails/PaymentCard/PaymentCard.tsx} +42 -27
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountPaymentCard/MyAccountPaymentFlagsIcon.tsx → OrderDetails/PaymentCard/PaymentFlagsIcon.tsx} +3 -3
- package/src/components/account/orders/OrderDetails/PaymentCard/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountReorderButton/MyAccountReorderButton.tsx → OrderDetails/ReorderButton/ReorderButton.tsx} +6 -4
- package/src/components/account/orders/OrderDetails/ReorderButton/index.ts +2 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountStatusCard/MyAccountStatusCard.tsx → OrderDetails/StatusCard/StatusCard.tsx} +29 -8
- package/src/components/account/orders/OrderDetails/StatusCard/index.ts +1 -0
- package/src/components/account/orders/{MyAccountOrderDetails/MyAccountSummaryCard/MyAccountSummaryCard.tsx → OrderDetails/SummaryCard/SummaryCard.tsx} +16 -9
- package/src/components/account/orders/OrderDetails/SummaryCard/index.ts +1 -0
- package/src/components/account/orders/OrderDetails/index.ts +10 -0
- package/src/components/account/orders/OrderDetails/orderDetailsLabels.ts +204 -0
- package/src/components/account/orders/{MyAccountOrderDetails → OrderDetails}/section.module.scss +14 -14
- package/src/components/account/profile/profile.module.scss +1 -1
- package/src/components/account/profile/profile.tsx +31 -8
- package/src/components/account/section.module.scss +1 -1
- package/src/components/account/security/SecurityDrawer.tsx +29 -20
- package/src/components/account/security/SecuritySection.tsx +17 -6
- package/src/components/account/security/securityLabels.ts +47 -0
- package/src/components/account/security/styles.module.scss +1 -1
- package/src/components/cms/account/Components.ts +53 -0
- package/src/components/navigation/Navbar/Navbar.tsx +1 -1
- package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +1 -1
- package/src/components/sections/Account/AccountNavigation.tsx +5 -0
- package/src/components/sections/Account/AccountOrderBudgets.tsx +35 -0
- package/src/components/sections/Account/AccountOrderDelivery.tsx +57 -0
- package/src/components/sections/Account/AccountOrderDetails.tsx +57 -0
- package/src/components/sections/Account/AccountOrderMoreInfo.tsx +39 -0
- package/src/components/sections/Account/AccountOrderOrderedBy.tsx +36 -0
- package/src/components/sections/Account/AccountOrderPayment.tsx +36 -0
- package/src/components/sections/Account/AccountOrderStatus.tsx +49 -0
- package/src/components/sections/Account/AccountOrderSummary.tsx +36 -0
- package/src/components/sections/Account/AccountOrdersList.tsx +89 -0
- package/src/components/sections/Account/AccountProfile.tsx +46 -0
- package/src/components/sections/Account/AccountSecurity.tsx +65 -0
- package/src/components/sections/Account/AccountUnauthorized.tsx +40 -0
- package/src/components/sections/Account/AccountUserDetails.tsx +43 -0
- package/src/experimental/index.ts +1 -1
- package/src/pages/_app.tsx +1 -1
- package/src/pages/pvt/account/403.tsx +43 -50
- package/src/pages/pvt/account/404.tsx +3 -3
- package/src/pages/pvt/account/orders/[id].tsx +58 -13
- package/src/pages/pvt/account/orders/index.tsx +59 -48
- package/src/pages/pvt/account/profile.tsx +64 -33
- package/src/pages/pvt/account/security.tsx +66 -32
- package/src/pages/pvt/account/user-details.tsx +67 -37
- package/src/sdk/account/accountPageContext.ts +73 -0
- package/src/sdk/account/getMyAccountRoutes.ts +48 -3
- package/src/sdk/overrides/PageProvider.tsx +3 -1
- package/src/server/cms/fetchMyAccountPageContent.ts +45 -0
- package/src/server/cms/myAccountDefaultSections.ts +73 -0
- package/src/utils/userOrderStatus.ts +129 -0
- package/test/utils/userOrderStatus.test.ts +36 -0
- package/src/components/account/MyAccountLayout/MyAccountLayout.tsx +0 -32
- package/src/components/account/MyAccountLayout/index.ts +0 -1
- package/src/components/account/MyAccountMenu/index.ts +0 -1
- package/src/components/account/MyAccountUserDetails/MyAccountUserDetails.tsx +0 -46
- package/src/components/account/MyAccountUserDetails/index.ts +0 -1
- package/src/components/account/components/MyAccountAccordion/index.ts +0 -4
- package/src/components/account/components/MyAccountCard/index.ts +0 -1
- package/src/components/account/components/MyAccountHeader/index.ts +0 -1
- package/src/components/account/components/MyAccountStatusBadge/MyAccountStatusBadge.tsx +0 -28
- package/src/components/account/components/MyAccountStatusBadge/index.ts +0 -1
- package/src/components/account/components/MyAccountTable/index.ts +0 -1
- package/src/components/account/components/MyAccountTag/index.ts +0 -1
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/MyAccountFilterFacetDateRange.tsx +0 -113
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/index.ts +0 -2
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetPendingApproval/index.ts +0 -2
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/index.ts +0 -1
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/index.ts +0 -1
- package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/index.ts +0 -1
- package/src/components/account/orders/MyAccountListOrders/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountBudgetsCard/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountBuyingPolicyAlert/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryCard/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/index.ts +0 -6
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderDetails.tsx +0 -136
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderedByCard/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountReorderButton/index.ts +0 -2
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountSummaryCard/index.ts +0 -1
- package/src/components/account/orders/MyAccountOrderDetails/index.ts +0 -1
- package/src/components/account/profile/i18n.ts +0 -7
- /package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationDrawer/OrganizationDrawer.tsx +0 -0
- /package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationDrawer/OrganizationDrawerHeader.tsx +0 -0
- /package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationDrawer/index.ts +0 -0
- /package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationDrawer/section.module.scss +0 -0
- /package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationDrawer/useReloadAfterLogoutReturn.ts +0 -0
- /package/src/components/account/{MyAccountDrawer → Drawer}/OrganizationSignInButton/index.ts +0 -0
- /package/src/components/account/{MyAccountDrawer → Drawer}/ProfileSummary/profile-summary.scss +0 -0
- /package/src/components/account/{MyAccountMenu → Menu}/styles.scss +0 -0
- /package/src/components/account/components/{MyAccountAccordion → Accordion}/styles.scss +0 -0
- /package/src/components/account/components/{MyAccountCard → Card}/styles.scss +0 -0
- /package/src/components/account/components/{MyAccountHeader → Header}/styles.scss +0 -0
- /package/src/components/account/components/{MyAccountStatusBadge → StatusBadge}/styles.scss +0 -0
- /package/src/components/account/components/{MyAccountTable → Table}/styles.scss +0 -0
- /package/src/components/account/components/{MyAccountTag/MyAccountTag.tsx → Tag/Tag.tsx} +0 -0
- /package/src/components/account/components/{MyAccountTag → Tag}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange → ListOrders/FilterSlider/FilterFacetDateRange}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetPendingApproval → ListOrders/FilterSlider/FilterFacetPendingApproval}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountListOrders/MyAccountListOrdersTable → ListOrders/ListOrdersTable}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountListOrders/MyAccountSelectedTags → ListOrders/SelectedTags}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountBudgetsCard → OrderDetails/BudgetsCard}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountBuyingPolicyAlert → OrderDetails/BuyingPolicyAlert}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountDeliveryCard → OrderDetails/DeliveryCard}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountDeliveryOptionAccordion → OrderDetails/DeliveryOptionAccordion}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountMoreInformationCard → OrderDetails/MoreInformationCard}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountOrderActionModal → OrderDetails/OrderActionModal}/styles.module.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountOrderActions → OrderDetails/OrderActions}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountOrderedByCard → OrderDetails/OrderedByCard}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountPaymentCard → OrderDetails/PaymentCard}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountReorderButton → OrderDetails/ReorderButton}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountStatusCard → OrderDetails/StatusCard}/styles.scss +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountStatusCard → OrderDetails/StatusCard}/useConnectorPositioning.ts +0 -0
- /package/src/components/account/orders/{MyAccountOrderDetails/MyAccountSummaryCard → OrderDetails/SummaryCard}/styles.scss +0 -0
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
@use "@faststore/ui/src/styles/base/utilities";
|
|
3
3
|
|
|
4
4
|
.page {
|
|
5
|
-
@include meta.load-css("./
|
|
6
|
-
@include meta.load-css("./
|
|
7
|
-
@include meta.load-css("../../components/
|
|
5
|
+
@include meta.load-css("./ListOrdersTable/styles.scss");
|
|
6
|
+
@include meta.load-css("./SelectedTags/styles.scss");
|
|
7
|
+
@include meta.load-css("../../components/StatusBadge/styles.scss");
|
|
8
8
|
@include meta.load-css("~@faststore/ui/src/components/atoms/Button/styles.scss");
|
|
9
9
|
@include meta.load-css("~@faststore/ui/src/components/molecules/SearchInputField/styles.scss");
|
|
10
10
|
@include meta.load-css("~@faststore/ui/src/components/organisms/EmptyState/styles.scss");
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import type { ServerOrderDetailsQueryQuery } from '@generated/graphql'
|
|
2
|
-
import
|
|
2
|
+
import Card from 'src/components/account/components/Card'
|
|
3
3
|
import { useFormatPrice } from 'src/components/account/utils/useFormatPrice'
|
|
4
|
+
import {
|
|
5
|
+
type OrderBudgetsSectionLabels,
|
|
6
|
+
resolveOrderBudgetsLabels,
|
|
7
|
+
} from '../orderDetailsLabels'
|
|
4
8
|
|
|
5
|
-
interface
|
|
9
|
+
interface BudgetsCardProps {
|
|
6
10
|
budgetData: ServerOrderDetailsQueryQuery['userOrder']['budgetData']
|
|
7
11
|
currencyCode: string
|
|
12
|
+
labels?: OrderBudgetsSectionLabels
|
|
8
13
|
}
|
|
9
14
|
|
|
10
|
-
function
|
|
15
|
+
function BudgetsCard({
|
|
11
16
|
budgetData,
|
|
12
17
|
currencyCode,
|
|
13
|
-
|
|
18
|
+
labels: labelsProp,
|
|
19
|
+
}: BudgetsCardProps) {
|
|
20
|
+
const labels = resolveOrderBudgetsLabels(labelsProp)
|
|
14
21
|
const formatPrice = useFormatPrice()
|
|
15
22
|
|
|
16
23
|
if (!budgetData?.budgets || budgetData.budgets.length === 0) {
|
|
@@ -68,13 +75,13 @@ function MyAccountBudgetsCard({
|
|
|
68
75
|
}
|
|
69
76
|
|
|
70
77
|
return (
|
|
71
|
-
<
|
|
78
|
+
<Card title={labels.budgetsTitle} data-fs-order-budgets-card>
|
|
72
79
|
<div data-fs-budgets-table>
|
|
73
80
|
<div data-fs-budgets-table-header>
|
|
74
|
-
<div data-fs-budgets-header-name>
|
|
75
|
-
<div data-fs-budgets-header-available>
|
|
76
|
-
<div data-fs-budgets-header-to-be-spent>
|
|
77
|
-
<div data-fs-budgets-header-remaining>
|
|
81
|
+
<div data-fs-budgets-header-name>{labels.nameLabel}</div>
|
|
82
|
+
<div data-fs-budgets-header-available>{labels.availableLabel}</div>
|
|
83
|
+
<div data-fs-budgets-header-to-be-spent>{labels.toBeSpentLabel}</div>
|
|
84
|
+
<div data-fs-budgets-header-remaining>{labels.remainingLabel}</div>
|
|
78
85
|
</div>
|
|
79
86
|
<div data-fs-budgets-table-body>
|
|
80
87
|
{budgetRows.map(
|
|
@@ -112,8 +119,8 @@ function MyAccountBudgetsCard({
|
|
|
112
119
|
)}
|
|
113
120
|
</div>
|
|
114
121
|
</div>
|
|
115
|
-
</
|
|
122
|
+
</Card>
|
|
116
123
|
)
|
|
117
124
|
}
|
|
118
125
|
|
|
119
|
-
export default
|
|
126
|
+
export default BudgetsCard
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './BudgetsCard'
|
|
@@ -4,23 +4,55 @@ import {
|
|
|
4
4
|
Icon as UIIcon,
|
|
5
5
|
useUI,
|
|
6
6
|
} from '@faststore/ui'
|
|
7
|
-
import { useState } from 'react'
|
|
8
|
-
import
|
|
7
|
+
import { Fragment, type ReactNode, useState } from 'react'
|
|
8
|
+
import OrderActionModal from '../OrderActionModal'
|
|
9
9
|
import { useOrderAuthorization } from 'src/sdk/account/useOrderAuthorization'
|
|
10
10
|
import type { ProcessOrderAuthorizationRule } from '@generated/graphql'
|
|
11
11
|
|
|
12
|
-
interface
|
|
12
|
+
interface BuyingPolicyAlertProps {
|
|
13
13
|
ruleForAuthorization: ProcessOrderAuthorizationRule
|
|
14
14
|
onAuthorizationComplete?: () => void
|
|
15
|
+
labels?: {
|
|
16
|
+
approveLabel?: string
|
|
17
|
+
rejectLabel?: string
|
|
18
|
+
rejectModalTitle?: string
|
|
19
|
+
rejectModalMessage?: string
|
|
20
|
+
rejectModalConfirmText?: string
|
|
21
|
+
}
|
|
15
22
|
}
|
|
16
23
|
|
|
17
24
|
export const BUYING_POLICY_APPROVAL_REQUIRED_MESSAGE =
|
|
18
25
|
'This buying policy requires your approval before the order can proceed.'
|
|
19
26
|
|
|
20
|
-
|
|
27
|
+
const DEFAULT_REJECT_MODAL_TITLE = 'Reject approval request'
|
|
28
|
+
const DEFAULT_REJECT_MODAL_MESSAGE =
|
|
29
|
+
"You're about to reject this approval request, triggered by the {policy} policy. Rejecting any approval request will deny the entire order.\n\nThis action is permanent and cannot be undone."
|
|
30
|
+
const DEFAULT_REJECT_MODAL_CONFIRM_TEXT = 'Reject'
|
|
31
|
+
|
|
32
|
+
function renderRejectMessage(template: string, policyName: string): ReactNode {
|
|
33
|
+
const lines = template.replace('{policy}', policyName).split('\n')
|
|
34
|
+
|
|
35
|
+
return lines.map((line, index) => (
|
|
36
|
+
<Fragment key={`${index}-${line}`}>
|
|
37
|
+
{line}
|
|
38
|
+
{index < lines.length - 1 && <br />}
|
|
39
|
+
</Fragment>
|
|
40
|
+
))
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export default function BuyingPolicyAlert({
|
|
21
44
|
ruleForAuthorization,
|
|
22
45
|
onAuthorizationComplete,
|
|
23
|
-
|
|
46
|
+
labels,
|
|
47
|
+
}: BuyingPolicyAlertProps) {
|
|
48
|
+
const approveLabel = labels?.approveLabel ?? 'Approve'
|
|
49
|
+
const rejectLabel = labels?.rejectLabel ?? 'Reject'
|
|
50
|
+
const rejectModalTitle =
|
|
51
|
+
labels?.rejectModalTitle ?? DEFAULT_REJECT_MODAL_TITLE
|
|
52
|
+
const rejectModalMessage =
|
|
53
|
+
labels?.rejectModalMessage ?? DEFAULT_REJECT_MODAL_MESSAGE
|
|
54
|
+
const rejectModalConfirmText =
|
|
55
|
+
labels?.rejectModalConfirmText ?? DEFAULT_REJECT_MODAL_CONFIRM_TEXT
|
|
24
56
|
const { pushToast } = useUI()
|
|
25
57
|
const [isAuthorizationOpen, setIsAuthorizationOpen] = useState<boolean>(false)
|
|
26
58
|
const { data, error, processOrderAuthorization, loading } =
|
|
@@ -107,7 +139,7 @@ export default function MyAccountBuyingPolicyAlert({
|
|
|
107
139
|
data-fs-buying-policy-action-reject
|
|
108
140
|
data-fs-button-danger
|
|
109
141
|
>
|
|
110
|
-
|
|
142
|
+
{rejectLabel}
|
|
111
143
|
</UIButton>
|
|
112
144
|
<UIButton
|
|
113
145
|
variant="primary"
|
|
@@ -117,7 +149,7 @@ export default function MyAccountBuyingPolicyAlert({
|
|
|
117
149
|
loading={loading}
|
|
118
150
|
data-fs-buying-policy-action-approve
|
|
119
151
|
>
|
|
120
|
-
|
|
152
|
+
{approveLabel}
|
|
121
153
|
</UIButton>
|
|
122
154
|
</div>
|
|
123
155
|
</div>
|
|
@@ -132,23 +164,17 @@ export default function MyAccountBuyingPolicyAlert({
|
|
|
132
164
|
</UIAlert>
|
|
133
165
|
)}
|
|
134
166
|
|
|
135
|
-
<
|
|
167
|
+
<OrderActionModal
|
|
136
168
|
isOpen={isAuthorizationOpen}
|
|
137
169
|
loading={loading}
|
|
138
170
|
onClose={() => setIsAuthorizationOpen(false)}
|
|
139
171
|
onConfirm={handleReject}
|
|
140
|
-
title=
|
|
141
|
-
message={
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
<br />
|
|
147
|
-
<br />
|
|
148
|
-
This action is permanent and cannot be undone.
|
|
149
|
-
</>
|
|
150
|
-
}
|
|
151
|
-
confirmText="Reject"
|
|
172
|
+
title={rejectModalTitle}
|
|
173
|
+
message={renderRejectMessage(
|
|
174
|
+
rejectModalMessage,
|
|
175
|
+
ruleForAuthorization.rule.name
|
|
176
|
+
)}
|
|
177
|
+
confirmText={rejectModalConfirmText}
|
|
152
178
|
danger
|
|
153
179
|
/>
|
|
154
180
|
</>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './BuyingPolicyAlert'
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { UserOrderDeliveryOptionsData } from '@generated/graphql'
|
|
2
2
|
import { camelCaseToTitle } from 'src/utils/utilities'
|
|
3
|
-
import
|
|
3
|
+
import Card from '../../../components/Card'
|
|
4
4
|
|
|
5
|
-
interface
|
|
5
|
+
interface DeliveryCardProps {
|
|
6
|
+
title?: string
|
|
6
7
|
deliveryOptionsData?: UserOrderDeliveryOptionsData
|
|
7
8
|
fields?: Array<{
|
|
8
9
|
name: string
|
|
@@ -11,29 +12,29 @@ interface MyAccountDeliveryCardProps {
|
|
|
11
12
|
}>
|
|
12
13
|
}
|
|
13
14
|
|
|
14
|
-
export default function
|
|
15
|
+
export default function DeliveryCard({
|
|
16
|
+
title = 'Delivery',
|
|
15
17
|
deliveryOptionsData,
|
|
16
18
|
fields,
|
|
17
|
-
}:
|
|
19
|
+
}: DeliveryCardProps) {
|
|
20
|
+
const deliveryOptions = deliveryOptionsData?.deliveryOptions ?? []
|
|
21
|
+
const contact = deliveryOptionsData?.contact
|
|
22
|
+
|
|
18
23
|
return (
|
|
19
|
-
<
|
|
24
|
+
<Card title={title} data-fs-order-delivery-card>
|
|
20
25
|
<div data-fs-delivery-methods>
|
|
21
|
-
{
|
|
26
|
+
{deliveryOptions.map((option) => (
|
|
22
27
|
<p key={option.friendlyDeliveryOptionName} data-fs-delivery-method>
|
|
23
28
|
{option.friendlyDeliveryOptionName}
|
|
24
29
|
</p>
|
|
25
30
|
))}
|
|
26
31
|
</div>
|
|
27
32
|
|
|
28
|
-
{
|
|
33
|
+
{contact && (
|
|
29
34
|
<div data-fs-delivery-contact>
|
|
30
|
-
<p data-fs-delivery-contact-name>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{deliveryOptionsData.contact.phone && (
|
|
34
|
-
<p data-fs-delivery-contact-phone>
|
|
35
|
-
{deliveryOptionsData.contact.phone}
|
|
36
|
-
</p>
|
|
35
|
+
<p data-fs-delivery-contact-name>{contact.name}</p>
|
|
36
|
+
{contact.phone && (
|
|
37
|
+
<p data-fs-delivery-contact-phone>{contact.phone}</p>
|
|
37
38
|
)}
|
|
38
39
|
{fields?.length > 0 && (
|
|
39
40
|
<p data-fs-delivery-contact-fields>
|
|
@@ -42,6 +43,6 @@ export default function MyAccountDeliveryCard({
|
|
|
42
43
|
)}
|
|
43
44
|
</div>
|
|
44
45
|
)}
|
|
45
|
-
</
|
|
46
|
+
</Card>
|
|
46
47
|
)
|
|
47
48
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './DeliveryCard'
|
|
@@ -4,22 +4,28 @@ import type {
|
|
|
4
4
|
} from '@generated/graphql'
|
|
5
5
|
import { useState } from 'react'
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} from '../../../components/
|
|
7
|
+
Accordion,
|
|
8
|
+
AccordionButton,
|
|
9
|
+
AccordionItem,
|
|
10
|
+
AccordionPanel,
|
|
11
|
+
} from '../../../components/Accordion'
|
|
12
12
|
import { useFormatPrice } from '../../../utils/useFormatPrice'
|
|
13
|
-
import
|
|
13
|
+
import DeliveryOptionAccordionDeliveryInfo from './DeliveryOptionAccordionDeliveryInfo'
|
|
14
14
|
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} from './
|
|
15
|
+
DeliveryOptionAccordionProduct,
|
|
16
|
+
DeliveryOptionAccordionProducts,
|
|
17
|
+
} from './DeliveryOptionAccordionProducts'
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
import {
|
|
20
|
+
type OrderDeliverySectionLabels,
|
|
21
|
+
resolveOrderDeliveryLabels,
|
|
22
|
+
} from '../orderDetailsLabels'
|
|
23
|
+
|
|
24
|
+
interface DeliveryOptionAccordionProps {
|
|
20
25
|
deliveryOption: UserOrderDeliveryOption
|
|
21
26
|
contact?: UserOrderDeliveryOptionsContact | null
|
|
22
27
|
currencyCode: string
|
|
28
|
+
labels?: OrderDeliverySectionLabels
|
|
23
29
|
customFields?: Array<{
|
|
24
30
|
type: string
|
|
25
31
|
id: string
|
|
@@ -31,12 +37,14 @@ interface MyAccountDeliveryOptionAccordionProps {
|
|
|
31
37
|
}>
|
|
32
38
|
}
|
|
33
39
|
|
|
34
|
-
function
|
|
40
|
+
function DeliveryOptionAccordion({
|
|
35
41
|
deliveryOption,
|
|
36
42
|
contact,
|
|
37
43
|
currencyCode,
|
|
44
|
+
labels: labelsProp,
|
|
38
45
|
customFields,
|
|
39
|
-
}:
|
|
46
|
+
}: DeliveryOptionAccordionProps) {
|
|
47
|
+
const labels = resolveOrderDeliveryLabels(labelsProp)
|
|
40
48
|
const [indicesExpanded, setIndicesExpanded] = useState<Set<number>>(
|
|
41
49
|
new Set([])
|
|
42
50
|
)
|
|
@@ -44,7 +52,12 @@ function MyAccountDeliveryOptionAccordion({
|
|
|
44
52
|
|
|
45
53
|
const title = deliveryOption.friendlyDeliveryOptionName
|
|
46
54
|
|
|
47
|
-
const
|
|
55
|
+
const itemCount = labels.itemCountTemplate.replace(
|
|
56
|
+
'{count}',
|
|
57
|
+
String(deliveryOption.quantityOfDifferentItems)
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
const summary = `${itemCount} – ${labels.totalLabel} ${formatPrice(deliveryOption.total ?? 0, currencyCode)}`
|
|
48
61
|
|
|
49
62
|
const onChange = (index: number) => {
|
|
50
63
|
if (indicesExpanded.has(index)) {
|
|
@@ -56,23 +69,23 @@ function MyAccountDeliveryOptionAccordion({
|
|
|
56
69
|
}
|
|
57
70
|
|
|
58
71
|
return (
|
|
59
|
-
<
|
|
72
|
+
<Accordion
|
|
60
73
|
indices={indicesExpanded}
|
|
61
74
|
onChange={onChange}
|
|
62
75
|
data-fs-delivery-option-accordion
|
|
63
76
|
>
|
|
64
|
-
<
|
|
65
|
-
<
|
|
66
|
-
<
|
|
67
|
-
<
|
|
77
|
+
<AccordionItem index={0} key={String(0)}>
|
|
78
|
+
<AccordionButton title={title} summary={summary} />
|
|
79
|
+
<AccordionPanel>
|
|
80
|
+
<DeliveryOptionAccordionDeliveryInfo
|
|
68
81
|
deliveryOption={deliveryOption}
|
|
69
82
|
contact={contact}
|
|
70
83
|
/>
|
|
71
|
-
<
|
|
84
|
+
<DeliveryOptionAccordionProducts>
|
|
72
85
|
{deliveryOption.items?.map((item, index) => {
|
|
73
86
|
const tax = (item.tax ?? 0) + (item.taxPriceTagsTotal ?? 0)
|
|
74
87
|
return (
|
|
75
|
-
<
|
|
88
|
+
<DeliveryOptionAccordionProduct
|
|
76
89
|
key={index}
|
|
77
90
|
image={item.imageUrl || ''}
|
|
78
91
|
quantity={item.quantity}
|
|
@@ -87,11 +100,11 @@ function MyAccountDeliveryOptionAccordion({
|
|
|
87
100
|
/>
|
|
88
101
|
)
|
|
89
102
|
})}
|
|
90
|
-
</
|
|
91
|
-
</
|
|
92
|
-
</
|
|
93
|
-
</
|
|
103
|
+
</DeliveryOptionAccordionProducts>
|
|
104
|
+
</AccordionPanel>
|
|
105
|
+
</AccordionItem>
|
|
106
|
+
</Accordion>
|
|
94
107
|
)
|
|
95
108
|
}
|
|
96
109
|
|
|
97
|
-
export default
|
|
110
|
+
export default DeliveryOptionAccordion
|
|
@@ -18,15 +18,15 @@ function InfoContainer({ title, children }: InfoContainerProps) {
|
|
|
18
18
|
)
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
interface
|
|
21
|
+
interface DeliveryOptionAccordionDeliveryInfoProps {
|
|
22
22
|
deliveryOption: UserOrderDeliveryOption
|
|
23
23
|
contact?: UserOrderDeliveryOptionsContact | null
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
function
|
|
26
|
+
function DeliveryOptionAccordionDeliveryInfo({
|
|
27
27
|
deliveryOption,
|
|
28
28
|
contact,
|
|
29
|
-
}:
|
|
29
|
+
}: DeliveryOptionAccordionDeliveryInfoProps) {
|
|
30
30
|
const isPickup = deliveryOption.deliveryChannel === 'pickup-in-point'
|
|
31
31
|
const address = isPickup
|
|
32
32
|
? deliveryOption.pickupStoreInfo?.address
|
|
@@ -83,4 +83,4 @@ function MyAccountDeliveryOptionAccordionDeliveryInfo({
|
|
|
83
83
|
)
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
export default
|
|
86
|
+
export default DeliveryOptionAccordionDeliveryInfo
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react'
|
|
2
2
|
import { camelCaseToTitle } from 'src/utils/utilities'
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface DeliveryOptionAccordionProductProps {
|
|
5
5
|
image: string
|
|
6
6
|
quantity: number
|
|
7
7
|
name: string
|
|
@@ -15,7 +15,7 @@ interface MyAccountDeliveryOptionAccordionProductProps {
|
|
|
15
15
|
total: string
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function DeliveryOptionAccordionProduct({
|
|
19
19
|
image,
|
|
20
20
|
quantity,
|
|
21
21
|
name,
|
|
@@ -23,7 +23,7 @@ function MyAccountDeliveryOptionAccordionProduct({
|
|
|
23
23
|
price,
|
|
24
24
|
tax,
|
|
25
25
|
total,
|
|
26
|
-
}:
|
|
26
|
+
}: DeliveryOptionAccordionProductProps) {
|
|
27
27
|
return (
|
|
28
28
|
<div data-fs-delivery-option-accordion-product>
|
|
29
29
|
<div data-fs-delivery-option-accordion-product-top>
|
|
@@ -58,17 +58,14 @@ function MyAccountDeliveryOptionAccordionProduct({
|
|
|
58
58
|
)
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
interface
|
|
61
|
+
interface DeliveryOptionAccordionProductsProps {
|
|
62
62
|
children: ReactNode
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
function
|
|
65
|
+
function DeliveryOptionAccordionProducts({
|
|
66
66
|
children,
|
|
67
|
-
}:
|
|
67
|
+
}: DeliveryOptionAccordionProductsProps) {
|
|
68
68
|
return <div data-fs-delivery-option-accordion-products>{children}</div>
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
export {
|
|
72
|
-
MyAccountDeliveryOptionAccordionProduct,
|
|
73
|
-
MyAccountDeliveryOptionAccordionProducts,
|
|
74
|
-
}
|
|
71
|
+
export { DeliveryOptionAccordionProduct, DeliveryOptionAccordionProducts }
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as DeliveryOptionAccordion } from './DeliveryOptionAccordion'
|
|
2
|
+
export { default as DeliveryOptionAccordionDeliveryInfo } from './DeliveryOptionAccordionDeliveryInfo'
|
|
3
|
+
export {
|
|
4
|
+
DeliveryOptionAccordionProduct,
|
|
5
|
+
DeliveryOptionAccordionProducts,
|
|
6
|
+
} from './DeliveryOptionAccordionProducts'
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { camelCaseToTitle } from 'src/utils/utilities'
|
|
2
|
-
import
|
|
2
|
+
import Card from '../../../components/Card'
|
|
3
|
+
import { defaultOrderMoreInfoLabels } from '../orderDetailsLabels'
|
|
3
4
|
|
|
4
|
-
export interface
|
|
5
|
+
export interface MoreInformationCardProps {
|
|
6
|
+
title?: string
|
|
5
7
|
fields: Array<{
|
|
6
8
|
name: string
|
|
7
9
|
value: string
|
|
@@ -9,11 +11,12 @@ export interface MyAccountMoreInformationCardProps {
|
|
|
9
11
|
}>
|
|
10
12
|
}
|
|
11
13
|
|
|
12
|
-
function
|
|
14
|
+
function MoreInformationCard({
|
|
15
|
+
title = defaultOrderMoreInfoLabels.moreInfoTitle,
|
|
13
16
|
fields,
|
|
14
|
-
}:
|
|
17
|
+
}: MoreInformationCardProps) {
|
|
15
18
|
return (
|
|
16
|
-
<
|
|
19
|
+
<Card title={title} data-fs-order-more-information-card>
|
|
17
20
|
<div data-fs-order-more-information-card-content>
|
|
18
21
|
{fields.map((item) => (
|
|
19
22
|
<div key={item.name} data-fs-order-more-information-card-item>
|
|
@@ -24,8 +27,8 @@ function MyAccountMoreInformationCard({
|
|
|
24
27
|
</div>
|
|
25
28
|
))}
|
|
26
29
|
</div>
|
|
27
|
-
</
|
|
30
|
+
</Card>
|
|
28
31
|
)
|
|
29
32
|
}
|
|
30
33
|
|
|
31
|
-
export default
|
|
34
|
+
export default MoreInformationCard
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './MoreInformationCard'
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from '@faststore/ui'
|
|
10
10
|
import styles from './styles.module.scss'
|
|
11
11
|
|
|
12
|
-
interface
|
|
12
|
+
interface OrderActionModalProps {
|
|
13
13
|
isOpen: boolean
|
|
14
14
|
loading?: boolean
|
|
15
15
|
title: string
|
|
@@ -22,7 +22,7 @@ interface MyAccountOrderActionModalProps {
|
|
|
22
22
|
onConfirm: () => void
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export default function
|
|
25
|
+
export default function OrderActionModal({
|
|
26
26
|
isOpen = false,
|
|
27
27
|
loading = false,
|
|
28
28
|
title,
|
|
@@ -33,7 +33,7 @@ export default function MyAccountOrderActionModal({
|
|
|
33
33
|
danger = false,
|
|
34
34
|
onClose,
|
|
35
35
|
onConfirm,
|
|
36
|
-
}:
|
|
36
|
+
}: OrderActionModalProps) {
|
|
37
37
|
const { fade, fadeOut, fadeIn } = useFadeEffect()
|
|
38
38
|
|
|
39
39
|
return (
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './OrderActionModal'
|
|
@@ -7,26 +7,33 @@ import {
|
|
|
7
7
|
useUI,
|
|
8
8
|
} from '@faststore/ui'
|
|
9
9
|
import { useState } from 'react'
|
|
10
|
-
import
|
|
10
|
+
import OrderActionModal from 'src/components/account/orders/OrderDetails/OrderActionModal'
|
|
11
11
|
import { useCancelOrder } from 'src/sdk/account/useCancelOrder'
|
|
12
12
|
import { useReorder } from 'src/sdk/account/useReorder'
|
|
13
13
|
import type { ServerOrderDetailsQueryQuery } from '@generated/graphql'
|
|
14
|
+
import {
|
|
15
|
+
type OrderDetailsHeaderLabels,
|
|
16
|
+
resolveOrderDetailsHeaderLabels,
|
|
17
|
+
} from '../orderDetailsLabels'
|
|
14
18
|
|
|
15
19
|
type Order = ServerOrderDetailsQueryQuery['userOrder']
|
|
16
20
|
|
|
17
|
-
interface
|
|
21
|
+
interface OrderActionsProps {
|
|
18
22
|
allowCancellation: boolean
|
|
19
23
|
orderId: string
|
|
20
24
|
customerEmail?: string
|
|
21
25
|
order: Order
|
|
26
|
+
labels?: OrderDetailsHeaderLabels
|
|
22
27
|
}
|
|
23
28
|
|
|
24
|
-
export default function
|
|
29
|
+
export default function OrderActions({
|
|
25
30
|
allowCancellation,
|
|
26
31
|
orderId,
|
|
27
32
|
customerEmail,
|
|
28
33
|
order,
|
|
29
|
-
|
|
34
|
+
labels: labelsProp,
|
|
35
|
+
}: OrderActionsProps) {
|
|
36
|
+
const labels = resolveOrderDetailsHeaderLabels(labelsProp)
|
|
30
37
|
const [isCancelOpen, setIsCancelOpen] = useState<boolean>(false)
|
|
31
38
|
const { pushToast } = useUI()
|
|
32
39
|
|
|
@@ -47,7 +54,7 @@ export default function MyAccountOrderActions({
|
|
|
47
54
|
setIsCancelOpen(false)
|
|
48
55
|
pushToast({
|
|
49
56
|
status: 'INFO',
|
|
50
|
-
message:
|
|
57
|
+
message: labels.cancelSuccessToast,
|
|
51
58
|
icon: <UIIcon width={30} height={30} name="CircleWavyCheck" />,
|
|
52
59
|
})
|
|
53
60
|
|
|
@@ -55,7 +62,7 @@ export default function MyAccountOrderActions({
|
|
|
55
62
|
} catch (error) {
|
|
56
63
|
pushToast({
|
|
57
64
|
status: 'ERROR',
|
|
58
|
-
message:
|
|
65
|
+
message: labels.cancelErrorToast,
|
|
59
66
|
icon: <UIIcon width={30} height={30} name="CircleWavyWarning" />,
|
|
60
67
|
})
|
|
61
68
|
}
|
|
@@ -79,7 +86,7 @@ export default function MyAccountOrderActions({
|
|
|
79
86
|
data-fs-order-actions-item
|
|
80
87
|
data-fs-order-actions-item-reorder
|
|
81
88
|
>
|
|
82
|
-
|
|
89
|
+
{labels.reorderLabel}
|
|
83
90
|
</DropdownItem>
|
|
84
91
|
{allowCancellation && (
|
|
85
92
|
<DropdownItem
|
|
@@ -88,19 +95,19 @@ export default function MyAccountOrderActions({
|
|
|
88
95
|
data-fs-order-actions-item
|
|
89
96
|
data-fs-order-actions-item-cancel
|
|
90
97
|
>
|
|
91
|
-
|
|
98
|
+
{labels.cancelOrderLabel}
|
|
92
99
|
</DropdownItem>
|
|
93
100
|
)}
|
|
94
101
|
</DropdownMenu>
|
|
95
102
|
</Dropdown>
|
|
96
103
|
</div>
|
|
97
104
|
|
|
98
|
-
<
|
|
105
|
+
<OrderActionModal
|
|
99
106
|
isOpen={isCancelOpen}
|
|
100
107
|
loading={loading}
|
|
101
|
-
title=
|
|
102
|
-
message=
|
|
103
|
-
confirmText=
|
|
108
|
+
title={labels.cancelOrderLabel}
|
|
109
|
+
message={labels.cancelConfirmMessage}
|
|
110
|
+
confirmText={labels.cancelOrderLabel}
|
|
104
111
|
danger
|
|
105
112
|
onClose={() => setIsCancelOpen(false)}
|
|
106
113
|
onConfirm={handleCancel}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './OrderActions'
|