@lookiero/checkout 9.9.0-beta.0 → 9.9.0-beta.2
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/dist/fake-dependencies/@lookiero/payments-front/index.d.ts +8 -6
- package/dist/fake-dependencies/@lookiero/payments-front/index.js +7 -4
- package/dist/src/ExpoRoot.js +12 -10
- package/dist/src/infrastructure/ui/views/App.js +5 -6
- package/dist/src/infrastructure/ui/views/checkout/Checkout.js +5 -2
- package/dist/src/infrastructure/ui/views/checkout/Checkout.style.d.ts +3 -0
- package/dist/src/infrastructure/ui/views/checkout/Checkout.style.js +3 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/fake-dependencies/@lookiero/payments-front/index.tsx +32 -9
- package/package.json +3 -3
- package/src/ExpoRoot.tsx +32 -29
- package/src/infrastructure/ui/views/App.tsx +5 -13
- package/src/infrastructure/ui/views/checkout/Checkout.style.ts +3 -0
- package/src/infrastructure/ui/views/checkout/Checkout.tsx +12 -3
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import { FC, ForwardRefExoticComponent, PropsWithChildren, RefAttributes } from "react";
|
|
2
|
+
import { PaymentPayload } from "@lookiero/payments-front";
|
|
2
3
|
declare const setPaymentsBridge: () => undefined;
|
|
3
4
|
declare const PaymentsQueryProvider: FC<PropsWithChildren>;
|
|
4
5
|
declare const PaymentInstrumentSelect: FC;
|
|
5
|
-
interface StartLegacyBoxCheckoutCallbackArgs {
|
|
6
|
-
readonly status: string;
|
|
7
|
-
readonly final: boolean;
|
|
8
|
-
}
|
|
9
6
|
interface StartLegacyBoxCheckoutFunction {
|
|
10
|
-
(paymentFlowPayload: unknown
|
|
7
|
+
(paymentFlowPayload: unknown): void;
|
|
11
8
|
}
|
|
12
9
|
interface PaymentFlowRef {
|
|
13
10
|
readonly startLegacyBoxCheckout: StartLegacyBoxCheckoutFunction;
|
|
14
11
|
}
|
|
15
12
|
declare const paymentFlowRef: PaymentFlowRef;
|
|
16
13
|
declare const PaymentFlow: ForwardRefExoticComponent<RefAttributes<PaymentFlowRef>>;
|
|
14
|
+
interface UsePaymentStatusManagerResult {
|
|
15
|
+
isLoading: boolean;
|
|
16
|
+
consumePayload: (callback: (payload: PaymentPayload) => void) => void;
|
|
17
|
+
}
|
|
18
|
+
declare const usePaymentStatusManager: (section: Section) => UsePaymentStatusManagerResult;
|
|
17
19
|
declare enum Section {
|
|
18
20
|
BOX_CHECKOUT = "box-checkout"
|
|
19
21
|
}
|
|
20
22
|
export type { PaymentFlowRef };
|
|
21
|
-
export { PaymentsQueryProvider, PaymentInstrumentSelect, PaymentFlow, Section, setPaymentsBridge, paymentFlowRef };
|
|
23
|
+
export { PaymentsQueryProvider, PaymentInstrumentSelect, PaymentFlow, Section, setPaymentsBridge, paymentFlowRef, usePaymentStatusManager, };
|
|
@@ -4,17 +4,20 @@ const setPaymentsBridge = () => void 0;
|
|
|
4
4
|
const PaymentsQueryProvider = ({ children }) => children;
|
|
5
5
|
const PaymentInstrumentSelect = () => null;
|
|
6
6
|
const paymentFlowRef = {
|
|
7
|
-
startLegacyBoxCheckout: async (
|
|
8
|
-
await callback({ status: "EXECUTED", final: true });
|
|
9
|
-
},
|
|
7
|
+
startLegacyBoxCheckout: async () => { },
|
|
10
8
|
};
|
|
11
9
|
const PaymentFlow = forwardRef((_props, ref) => {
|
|
12
10
|
useImperativeHandle(ref, () => paymentFlowRef, []);
|
|
13
11
|
return null;
|
|
14
12
|
});
|
|
15
13
|
PaymentFlow.displayName = "PaymentFlow";
|
|
14
|
+
const paymentStatusManagerResult = {
|
|
15
|
+
isLoading: false,
|
|
16
|
+
consumePayload: (callback) => callback({ success: true }),
|
|
17
|
+
};
|
|
18
|
+
const usePaymentStatusManager = () => paymentStatusManagerResult;
|
|
16
19
|
var Section;
|
|
17
20
|
(function (Section) {
|
|
18
21
|
Section["BOX_CHECKOUT"] = "box-checkout";
|
|
19
22
|
})(Section || (Section = {}));
|
|
20
|
-
export { PaymentsQueryProvider, PaymentInstrumentSelect, PaymentFlow, Section, setPaymentsBridge, paymentFlowRef };
|
|
23
|
+
export { PaymentsQueryProvider, PaymentInstrumentSelect, PaymentFlow, Section, setPaymentsBridge, paymentFlowRef, usePaymentStatusManager, };
|
package/dist/src/ExpoRoot.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PortalProvider } from "@gorhom/portal";
|
|
1
2
|
import { useFonts } from "expo-font";
|
|
2
3
|
import "expo/build/Expo.fx";
|
|
3
4
|
import React, { useCallback, useState } from "react";
|
|
@@ -24,7 +25,7 @@ const order = {
|
|
|
24
25
|
coupon: "MYLOOKIERO",
|
|
25
26
|
};
|
|
26
27
|
const customer = {
|
|
27
|
-
customerId: "
|
|
28
|
+
customerId: "d3c2354b-9811-46d4-b2ba-5fba012ed94d",
|
|
28
29
|
country: Country.ES,
|
|
29
30
|
segment: Segment.WOMEN,
|
|
30
31
|
email: "email@example.com",
|
|
@@ -41,7 +42,7 @@ const apiUrl = Platform.OS !== "web"
|
|
|
41
42
|
: __DEV__
|
|
42
43
|
? "/local-to-dev"
|
|
43
44
|
: "/checkout/api";
|
|
44
|
-
const authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
|
|
45
|
+
const authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjU2NDk0NjYsImV4cCI6MTc0MjQ3MDI5OSwiZGlzcGxheU5hbWUiOiJNaWtlbCIsImNvdW50cnlfY29kZSI6IkVTIiwiYWNjZXNzVmlhIjoiZW1haWwiLCJzdWJzY3JpcHRpb25TdGFydGluZ0RhdGUiOiIyMDI0LTExLTExIiwiaW1wZXJzb25hdGVkIjpmYWxzZSwidXVpZCI6ImQzYzIzNTRiLTk4MTEtNDZkNC1iMmJhLTVmYmEwMTJlZDk0ZCIsImlhdCI6MTc0MDA1MTA5OX0.AkuUZTsn9mgplQwatg0dPKyv1Hsc6r267UMahxMH19g";
|
|
45
46
|
const getAuthToken = () => Promise.resolve(authToken);
|
|
46
47
|
const externalTranslationsUrl = Platform.OS !== "web"
|
|
47
48
|
? "https://backend-for-user.dev.envs.lookiero.tech/api/v2/translations"
|
|
@@ -106,13 +107,14 @@ const ExpoRoot = () => {
|
|
|
106
107
|
});
|
|
107
108
|
const [isAccessible, setIsAccessible] = useState();
|
|
108
109
|
const onNotAccessible = useCallback(() => setIsAccessible(false), []);
|
|
109
|
-
return fontsLoaded ? (React.createElement(
|
|
110
|
-
React.createElement(
|
|
111
|
-
React.createElement(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
React.createElement(
|
|
115
|
-
React.createElement(
|
|
116
|
-
|
|
110
|
+
return fontsLoaded ? (React.createElement(PortalProvider, null,
|
|
111
|
+
React.createElement(PaymentsQueryProvider, null,
|
|
112
|
+
React.createElement(EventProvider, null,
|
|
113
|
+
React.createElement(Aurora, null,
|
|
114
|
+
isAccessible === false && React.createElement(Text, { heading: true }, "Checkout is not accessible!"),
|
|
115
|
+
React.createElement(Router, null,
|
|
116
|
+
React.createElement(Routes, null,
|
|
117
|
+
React.createElement(Route, { path: "/checkout/*", element: React.createElement(Root, { basePath: "/checkout", customer: customer, layout: DummyLayout, locale: locale, order: order, subscription: subscription, useRedirect: useRedirect, onNotAccessible: onNotAccessible }) }),
|
|
118
|
+
React.createElement(Route, { element: React.createElement(Navigate, { to: "/checkout", replace: true }), path: "*" })))))))) : null;
|
|
117
119
|
};
|
|
118
120
|
export { ExpoRoot };
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PortalHost } from "@gorhom/portal";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { StatusBar } from "react-native";
|
|
4
4
|
import { SafeAreaProvider } from "react-native-safe-area-context";
|
|
5
|
-
import { PortalProvider as AuroraPortalProvider } from "@lookiero/aurora";
|
|
6
5
|
import { Notifications } from "@lookiero/sty-psp-notifications";
|
|
7
6
|
import { theme } from "@lookiero/sty-psp-ui";
|
|
8
7
|
import { MESSAGING_CONTEXT_ID } from "../../delivery/baseBootstrap";
|
|
9
8
|
const { colorBgBase } = theme();
|
|
10
9
|
const App = ({ children }) => (React.createElement(SafeAreaProvider, null,
|
|
11
|
-
React.createElement(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
React.createElement(StatusBar, { backgroundColor: colorBgBase, barStyle: "dark-content", translucent: true }),
|
|
11
|
+
React.createElement(Notifications, { contextId: MESSAGING_CONTEXT_ID, portalHostName: "Checkout" }),
|
|
12
|
+
React.createElement(PortalHost, { name: "Checkout" }),
|
|
13
|
+
children));
|
|
15
14
|
export { App };
|
|
@@ -4,6 +4,7 @@ import { useNavigate } from "react-router-native";
|
|
|
4
4
|
import { Box, Button, Layout as AuroraLayout, Spinner, Text, useDevice } from "@lookiero/aurora";
|
|
5
5
|
import { useI18nMessage } from "@lookiero/i18n-react";
|
|
6
6
|
import { QueryStatus } from "@lookiero/messaging-react";
|
|
7
|
+
import { Country } from "@lookiero/sty-psp-locale";
|
|
7
8
|
import { Sticky } from "@lookiero/sty-psp-ui";
|
|
8
9
|
import { CheckoutItemStatus } from "../../../../domain/checkoutItem/model/checkoutItem";
|
|
9
10
|
import { useViewFirstAvailableCheckoutByCustomerId } from "../../../projection/checkout/react/useViewFirstAvailableCheckoutByCustomerId";
|
|
@@ -77,13 +78,15 @@ const Checkout = ({ children, layout: Layout, useRedirect }) => {
|
|
|
77
78
|
React.createElement(AuroraLayout, { fullWidth: !screen.L, style: [screen.L && style.desktopLayoutSpacing, !screen.L && { paddingBottom: pricingHeight }] },
|
|
78
79
|
React.createElement(Box, { size: { L: "2/3" }, style: screen.L && style.desktopListSpacing },
|
|
79
80
|
React.createElement(View, { style: [style.contentWrapper, screen.L && style.desktopContentWrapper] },
|
|
81
|
+
country === Country.NL && (React.createElement(View, { style: style.paymentSelectorNL },
|
|
82
|
+
React.createElement(PaymentInstrument, { useRedirect: useRedirect }))),
|
|
80
83
|
React.createElement(Text, { level: 3, style: style.title, heading: true }, titleText),
|
|
81
84
|
checkoutItemsKept?.map((checkoutItem) => (React.createElement(View, { key: checkoutItem.id, testID: "checkout-items-kept" },
|
|
82
85
|
React.createElement(ProductVariant, { brand: checkoutItem.productVariant.brand, color: checkoutItem.productVariant.color, country: country, media: checkoutItem.productVariant.media, name: checkoutItem.productVariant.name, price: checkoutItem.price, status: checkoutItem.status, size: checkoutItem.status === CheckoutItemStatus.REPLACED && checkoutItem.replacedFor
|
|
83
86
|
? checkoutItem.replacedFor.size
|
|
84
87
|
: checkoutItem.productVariant.size })))),
|
|
85
|
-
React.createElement(View, { style: style.paymentSelector },
|
|
86
|
-
React.createElement(PaymentInstrument, { useRedirect: useRedirect })))),
|
|
88
|
+
country !== Country.NL && (React.createElement(View, { style: style.paymentSelector },
|
|
89
|
+
React.createElement(PaymentInstrument, { useRedirect: useRedirect }))))),
|
|
87
90
|
React.createElement(Box, { size: { L: "1/3" }, style: [style.resume, screen.L && style.desktopResume] }, pricing ? (React.createElement(View, { style: [style.princingWrapper, !screen.L && style.princingWrapperSmall] },
|
|
88
91
|
React.createElement(Pricing, { pricing: pricing, totalCheckoutItemsKept: checkoutItemsKept?.length || 0 }),
|
|
89
92
|
screen.L ? (React.createElement(Button, { testID: "confirm-checkout-button", onPress: handleOnSubmit }, submitButtonText)) : null)) : null))),
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "9.9.0-beta.
|
|
1
|
+
export declare const VERSION = "9.9.0-beta.2";
|
package/dist/src/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = "9.9.0-beta.
|
|
1
|
+
export const VERSION = "9.9.0-beta.2";
|
|
@@ -7,34 +7,57 @@ import {
|
|
|
7
7
|
RefAttributes,
|
|
8
8
|
useImperativeHandle,
|
|
9
9
|
} from "react";
|
|
10
|
+
import { PaymentPayload } from "@lookiero/payments-front";
|
|
10
11
|
|
|
11
12
|
const setPaymentsBridge = () => void 0;
|
|
12
13
|
const PaymentsQueryProvider: FC<PropsWithChildren> = ({ children }) => children;
|
|
13
14
|
const PaymentInstrumentSelect: FC = () => null;
|
|
14
|
-
|
|
15
|
-
readonly status: string;
|
|
16
|
-
readonly final: boolean;
|
|
17
|
-
}
|
|
15
|
+
|
|
18
16
|
interface StartLegacyBoxCheckoutFunction {
|
|
19
|
-
(paymentFlowPayload: unknown
|
|
17
|
+
(paymentFlowPayload: unknown): void;
|
|
20
18
|
}
|
|
19
|
+
|
|
21
20
|
interface PaymentFlowRef {
|
|
22
21
|
readonly startLegacyBoxCheckout: StartLegacyBoxCheckoutFunction;
|
|
23
22
|
}
|
|
23
|
+
|
|
24
24
|
const paymentFlowRef: PaymentFlowRef = {
|
|
25
|
-
startLegacyBoxCheckout: async (
|
|
26
|
-
await callback({ status: "EXECUTED", final: true });
|
|
27
|
-
},
|
|
25
|
+
startLegacyBoxCheckout: async () => {},
|
|
28
26
|
};
|
|
27
|
+
|
|
29
28
|
const PaymentFlow: ForwardRefExoticComponent<RefAttributes<PaymentFlowRef>> = forwardRef<PaymentFlowRef, unknown>(
|
|
30
29
|
(_props, ref) => {
|
|
31
30
|
useImperativeHandle(ref, () => paymentFlowRef, []);
|
|
32
31
|
return null;
|
|
33
32
|
},
|
|
34
33
|
);
|
|
34
|
+
|
|
35
35
|
PaymentFlow.displayName = "PaymentFlow";
|
|
36
|
+
|
|
37
|
+
interface UsePaymentStatusManagerResult {
|
|
38
|
+
isLoading: boolean;
|
|
39
|
+
consumePayload: (callback: (payload: PaymentPayload) => void) => void;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const paymentStatusManagerResult: UsePaymentStatusManagerResult = {
|
|
43
|
+
isLoading: false,
|
|
44
|
+
consumePayload: (callback) => callback({ success: true } as PaymentPayload),
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const usePaymentStatusManager: (section: Section) => UsePaymentStatusManagerResult = () => paymentStatusManagerResult;
|
|
48
|
+
|
|
36
49
|
enum Section {
|
|
37
50
|
BOX_CHECKOUT = "box-checkout",
|
|
38
51
|
}
|
|
52
|
+
|
|
39
53
|
export type { PaymentFlowRef };
|
|
40
|
-
|
|
54
|
+
|
|
55
|
+
export {
|
|
56
|
+
PaymentsQueryProvider,
|
|
57
|
+
PaymentInstrumentSelect,
|
|
58
|
+
PaymentFlow,
|
|
59
|
+
Section,
|
|
60
|
+
setPaymentsBridge,
|
|
61
|
+
paymentFlowRef,
|
|
62
|
+
usePaymentStatusManager,
|
|
63
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lookiero/checkout",
|
|
3
|
-
"version": "9.9.0-beta.
|
|
3
|
+
"version": "9.9.0-beta.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"sideEffects": "false",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@cypress/webpack-preprocessor": "^6.0.2",
|
|
47
47
|
"@lookiero/eslint-config-sty-psp": "*",
|
|
48
48
|
"@lookiero/event": "^0.3",
|
|
49
|
-
"@lookiero/payments-front": "
|
|
49
|
+
"@lookiero/payments-front": "7.0.0-ideal-integration-2025.2.24.164234",
|
|
50
50
|
"@lookiero/sty-psp-jest-config": "*",
|
|
51
51
|
"@lookiero/sty-psp-prettier-config": "*",
|
|
52
52
|
"@lookiero/sty-psp-scripts": "*",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@lookiero/event": "^0.3",
|
|
77
77
|
"@lookiero/i18n": ">=0.9",
|
|
78
78
|
"@lookiero/i18n-react": ">=0.9",
|
|
79
|
-
"@lookiero/payments-front": "
|
|
79
|
+
"@lookiero/payments-front": "7.0.0-LK-37736-2025.2.12.160011",
|
|
80
80
|
"apollo-boost": "0.4.4",
|
|
81
81
|
"expo": ">=51",
|
|
82
82
|
"expo-font": ">=12",
|
package/src/ExpoRoot.tsx
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PortalProvider } from "@gorhom/portal";
|
|
1
2
|
import { useFonts } from "expo-font";
|
|
2
3
|
import "expo/build/Expo.fx";
|
|
3
4
|
import React, { FC, useCallback, useState } from "react";
|
|
@@ -32,7 +33,7 @@ const order: Order = {
|
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
const customer: Customer = {
|
|
35
|
-
customerId: "
|
|
36
|
+
customerId: "d3c2354b-9811-46d4-b2ba-5fba012ed94d",
|
|
36
37
|
country: Country.ES,
|
|
37
38
|
segment: Segment.WOMEN,
|
|
38
39
|
email: "email@example.com",
|
|
@@ -53,7 +54,7 @@ const apiUrl =
|
|
|
53
54
|
? "/local-to-dev"
|
|
54
55
|
: "/checkout/api";
|
|
55
56
|
const authToken =
|
|
56
|
-
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
|
|
57
|
+
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjU2NDk0NjYsImV4cCI6MTc0MjQ3MDI5OSwiZGlzcGxheU5hbWUiOiJNaWtlbCIsImNvdW50cnlfY29kZSI6IkVTIiwiYWNjZXNzVmlhIjoiZW1haWwiLCJzdWJzY3JpcHRpb25TdGFydGluZ0RhdGUiOiIyMDI0LTExLTExIiwiaW1wZXJzb25hdGVkIjpmYWxzZSwidXVpZCI6ImQzYzIzNTRiLTk4MTEtNDZkNC1iMmJhLTVmYmEwMTJlZDk0ZCIsImlhdCI6MTc0MDA1MTA5OX0.AkuUZTsn9mgplQwatg0dPKyv1Hsc6r267UMahxMH19g";
|
|
57
58
|
const getAuthToken = () => Promise.resolve(authToken);
|
|
58
59
|
|
|
59
60
|
const externalTranslationsUrl =
|
|
@@ -131,35 +132,37 @@ const ExpoRoot: FC = () => {
|
|
|
131
132
|
const onNotAccessible = useCallback(() => setIsAccessible(false), []);
|
|
132
133
|
|
|
133
134
|
return fontsLoaded ? (
|
|
134
|
-
<
|
|
135
|
-
<
|
|
136
|
-
<
|
|
137
|
-
|
|
135
|
+
<PortalProvider>
|
|
136
|
+
<PaymentsQueryProvider>
|
|
137
|
+
<EventProvider>
|
|
138
|
+
<Aurora>
|
|
139
|
+
{isAccessible === false && <Text heading={true}>Checkout is not accessible!</Text>}
|
|
138
140
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
141
|
+
<Router>
|
|
142
|
+
<Routes>
|
|
143
|
+
<Route
|
|
144
|
+
path="/checkout/*"
|
|
145
|
+
element={
|
|
146
|
+
<Root
|
|
147
|
+
basePath="/checkout"
|
|
148
|
+
customer={customer}
|
|
149
|
+
layout={DummyLayout}
|
|
150
|
+
locale={locale}
|
|
151
|
+
order={order}
|
|
152
|
+
subscription={subscription}
|
|
153
|
+
useRedirect={useRedirect}
|
|
154
|
+
onNotAccessible={onNotAccessible}
|
|
155
|
+
/>
|
|
156
|
+
}
|
|
157
|
+
/>
|
|
156
158
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
159
|
+
<Route element={<Navigate to="/checkout" replace />} path="*" />
|
|
160
|
+
</Routes>
|
|
161
|
+
</Router>
|
|
162
|
+
</Aurora>
|
|
163
|
+
</EventProvider>
|
|
164
|
+
</PaymentsQueryProvider>
|
|
165
|
+
</PortalProvider>
|
|
163
166
|
) : null;
|
|
164
167
|
};
|
|
165
168
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PortalHost } from "@gorhom/portal";
|
|
2
2
|
import React, { FC } from "react";
|
|
3
3
|
import { StatusBar } from "react-native";
|
|
4
4
|
import { SafeAreaProvider } from "react-native-safe-area-context";
|
|
5
|
-
import { PortalProvider as AuroraPortalProvider } from "@lookiero/aurora";
|
|
6
5
|
import { Notifications } from "@lookiero/sty-psp-notifications";
|
|
7
6
|
import { theme } from "@lookiero/sty-psp-ui";
|
|
8
7
|
import { MESSAGING_CONTEXT_ID } from "../../delivery/baseBootstrap";
|
|
@@ -15,17 +14,10 @@ interface AppProps {
|
|
|
15
14
|
|
|
16
15
|
const App: FC<AppProps> = ({ children }) => (
|
|
17
16
|
<SafeAreaProvider>
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
We are using the Aurora's PortalProvider at this level for notifications to work properly.
|
|
23
|
-
|
|
24
|
-
PaymentInstrumentSelect uses Aurora's Portal, and if we rely on UAF's Portal (injected by <Aurora>)
|
|
25
|
-
notifications would be displayed in a layer below Portal's one (not visible).
|
|
26
|
-
*/}
|
|
27
|
-
<AuroraPortalProvider>{children}</AuroraPortalProvider>
|
|
28
|
-
</PortalProvider>
|
|
17
|
+
<StatusBar backgroundColor={colorBgBase} barStyle="dark-content" translucent />
|
|
18
|
+
<Notifications contextId={MESSAGING_CONTEXT_ID} portalHostName="Checkout" />
|
|
19
|
+
<PortalHost name="Checkout" />
|
|
20
|
+
{children}
|
|
29
21
|
</SafeAreaProvider>
|
|
30
22
|
);
|
|
31
23
|
|
|
@@ -4,6 +4,7 @@ import { useNavigate } from "react-router-native";
|
|
|
4
4
|
import { Box, Button, Layout as AuroraLayout, Spinner, Text, useDevice } from "@lookiero/aurora";
|
|
5
5
|
import { useI18nMessage } from "@lookiero/i18n-react";
|
|
6
6
|
import { QueryStatus } from "@lookiero/messaging-react";
|
|
7
|
+
import { Country } from "@lookiero/sty-psp-locale";
|
|
7
8
|
import { Layout as UiLayout, Sticky } from "@lookiero/sty-psp-ui";
|
|
8
9
|
import { CheckoutItemStatus } from "../../../../domain/checkoutItem/model/checkoutItem";
|
|
9
10
|
import { useViewFirstAvailableCheckoutByCustomerId } from "../../../projection/checkout/react/useViewFirstAvailableCheckoutByCustomerId";
|
|
@@ -116,6 +117,12 @@ const Checkout: FC<CheckoutProps> = ({ children, layout: Layout, useRedirect })
|
|
|
116
117
|
>
|
|
117
118
|
<Box size={{ L: "2/3" }} style={screen.L && style.desktopListSpacing}>
|
|
118
119
|
<View style={[style.contentWrapper, screen.L && style.desktopContentWrapper]}>
|
|
120
|
+
{country === Country.NL && (
|
|
121
|
+
<View style={style.paymentSelectorNL}>
|
|
122
|
+
<PaymentInstrument useRedirect={useRedirect} />
|
|
123
|
+
</View>
|
|
124
|
+
)}
|
|
125
|
+
|
|
119
126
|
<Text level={3} style={style.title} heading>
|
|
120
127
|
{titleText}
|
|
121
128
|
</Text>
|
|
@@ -139,9 +146,11 @@ const Checkout: FC<CheckoutProps> = ({ children, layout: Layout, useRedirect })
|
|
|
139
146
|
</View>
|
|
140
147
|
))}
|
|
141
148
|
|
|
142
|
-
|
|
143
|
-
<
|
|
144
|
-
|
|
149
|
+
{country !== Country.NL && (
|
|
150
|
+
<View style={style.paymentSelector}>
|
|
151
|
+
<PaymentInstrument useRedirect={useRedirect} />
|
|
152
|
+
</View>
|
|
153
|
+
)}
|
|
145
154
|
</View>
|
|
146
155
|
</Box>
|
|
147
156
|
|