@lookiero/checkout 6.5.0-beta.0 → 6.5.0-beta.3

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.
Files changed (24) hide show
  1. package/dist/src/infrastructure/ui/views/feedback/Feedback.js +1 -2
  2. package/dist/src/infrastructure/ui/views/item/Item.js +4 -4
  3. package/dist/src/infrastructure/ui/views/item/Item.style.d.ts +3 -3
  4. package/dist/src/infrastructure/ui/views/item/Item.style.js +4 -3
  5. package/dist/src/infrastructure/ui/views/item/views/itemWithoutCustomerDecission/ItemWithoutCustomerDecission.js +4 -3
  6. package/dist/src/infrastructure/ui/views/item/views/itemWithoutCustomerDecission/ItemWithoutCustomerDecission.style.d.ts +0 -1
  7. package/dist/src/infrastructure/ui/views/item/views/itemWithoutCustomerDecission/ItemWithoutCustomerDecission.style.js +1 -1
  8. package/dist/src/infrastructure/ui/views/summary/Summary.js +14 -14
  9. package/dist/src/infrastructure/ui/views/summary/Summary.style.d.ts +1 -0
  10. package/dist/src/infrastructure/ui/views/summary/Summary.style.js +1 -0
  11. package/dist/src/version.d.ts +1 -1
  12. package/dist/src/version.js +1 -1
  13. package/package.json +3 -3
  14. package/src/infrastructure/ui/views/feedback/Feedback.tsx +1 -2
  15. package/src/infrastructure/ui/views/item/Item.style.ts +4 -3
  16. package/src/infrastructure/ui/views/item/Item.tsx +20 -20
  17. package/src/infrastructure/ui/views/item/views/itemWithoutCustomerDecission/ItemWithoutCustomerDecission.style.ts +1 -1
  18. package/src/infrastructure/ui/views/item/views/itemWithoutCustomerDecission/ItemWithoutCustomerDecission.tsx +13 -11
  19. package/src/infrastructure/ui/views/summary/Summary.style.ts +1 -0
  20. package/src/infrastructure/ui/views/summary/Summary.tsx +38 -36
  21. package/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.style.ts +0 -14
  22. package/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.test.tsx +0 -23
  23. package/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.tsx +0 -19
  24. package/src/infrastructure/ui/components/templates/header/defaultHeader/__snapshots__/DefaultHeader.test.tsx.snap +0 -195
@@ -12,7 +12,6 @@ import { useTrackPageView } from "../../../tracking/useTrackPageView";
12
12
  import { useTrackPressContinue } from "../../../tracking/useTrackPressContinue";
13
13
  import { Body } from "../../components/layouts/body/Body";
14
14
  import { CheckoutQuestionFeedbackProvider } from "../../components/organisms/checkoutQuestions/behaviors/useCheckoutQuestionFeedback";
15
- import { DefaultHeader } from "../../components/templates/header/defaultHeader/DefaultHeader";
16
15
  import { useStaticInfo } from "../../hooks/useStaticInfo";
17
16
  import { style } from "./Feedback.style";
18
17
  import { CheckoutQuestionsForm } from "./components/checkoutQuestionsForm/CheckoutQuestionsForm";
@@ -79,7 +78,7 @@ const Feedback = ({ layout: Layout }) => {
79
78
  if (!dependenciesLoaded)
80
79
  return React.createElement(Spinner, null);
81
80
  return (React.createElement(CheckoutQuestionFeedbackProvider, { feedback: {}, onChanged: handleOnChangedFeedback },
82
- React.createElement(Layout, { header: React.createElement(DefaultHeader, null), style: { scrollView: style.container } },
81
+ React.createElement(Layout, { style: { scrollView: style.container } },
83
82
  React.createElement(Body, { style: { column: style.bodyColumn } },
84
83
  React.createElement(CheckoutQuestionsForm, { checkoutQuestions: checkoutQuestions || [], submitButtonDisabled: giveCheckoutFeedbackStatus === CommandStatus.LOADING, onSubmit: handleOnSubmit })))));
85
84
  };
@@ -1,5 +1,4 @@
1
1
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
- import { View } from "react-native";
3
2
  import { generatePath, useMatch, useNavigate, useParams } from "react-router-native";
4
3
  import { Box, Spinner } from "@lookiero/aurora";
5
4
  import { CommandStatus, QueryStatus } from "@lookiero/messaging-react";
@@ -170,10 +169,11 @@ const Item = ({ layout: Layout }) => {
170
169
  return React.createElement(Spinner, { testID: "spinner" });
171
170
  }
172
171
  return (React.createElement(ReturnQuestionFeedbackProvider, { key: checkoutItem.id, feedback: checkoutItem.feedbacks || {} },
173
- React.createElement(Layout, { header: header, style: {
172
+ React.createElement(Layout, { header: header, scrollEnabled: !itemWithoutCustomerDecission, style: {
173
+ header: fiveItemsDiscount !== 0 && style.headerWithDoubleHeight,
174
+ scrollView: { height: itemWithoutCustomerDecission ? "100%" : "auto" },
174
175
  safeAreaView: isDesktopScreen ? style.safeAreaView : null,
175
- } },
176
- React.createElement(View, { style: [style.content, fiveItemsDiscount !== 0 && style.fiveItemsDiscountPadding] }, itemWithoutCustomerDecission ? (React.createElement(ItemWithoutCustomerDecission, { bookedProductsVariants: bookedProductsVariants, checkoutId: checkout.id, checkoutItem: checkoutItem, currentProductVariant: currentProductVariant, onReturn: redirectToReturnPage ? goToReturnPage : showReturnQuestions })) : (React.createElement(ItemWithCustomerDecission, { checkoutId: checkout.id, checkoutItem: checkoutItem, currentProductVariant: currentProductVariant, returnQuestions: returnQuestions, onEditFeedback: redirectToReturnPage ? goToReturnPage : showReturnQuestions })))),
176
+ } }, itemWithoutCustomerDecission ? (React.createElement(ItemWithoutCustomerDecission, { bookedProductsVariants: bookedProductsVariants, checkoutId: checkout.id, checkoutItem: checkoutItem, currentProductVariant: currentProductVariant, onReturn: redirectToReturnPage ? goToReturnPage : showReturnQuestions })) : (React.createElement(ItemWithCustomerDecission, { checkoutId: checkout.id, checkoutItem: checkoutItem, currentProductVariant: currentProductVariant, returnQuestions: returnQuestions, onEditFeedback: redirectToReturnPage ? goToReturnPage : showReturnQuestions }))),
177
177
  !redirectToReturnPage ? (React.createElement(ReturnQuestionsForm, { returnQuestions: returnQuestions, visible: returnQuestionsVisible, onClose: hideReturnQuestions, onSubmit: returnItem })) : null));
178
178
  };
179
179
  export { Item };
@@ -1,10 +1,10 @@
1
1
  declare const style: {
2
- content: {
3
- flex: number;
4
- };
5
2
  fiveItemsDiscountPadding: {
6
3
  paddingTop: number;
7
4
  };
5
+ headerWithDoubleHeight: {
6
+ height: number;
7
+ };
8
8
  headerWrapper: {
9
9
  display: "flex";
10
10
  flexDirection: "column";
@@ -1,13 +1,14 @@
1
1
  import { StyleSheet } from "react-native";
2
2
  import { theme } from "@lookiero/sty-psp-ui";
3
+ import { HEADER_HEIGHT } from "../../components/templates/header/Header.style";
3
4
  const { colorBgPrimaryLight, space12 } = theme();
4
5
  const style = StyleSheet.create({
5
- content: {
6
- flex: 1,
7
- },
8
6
  fiveItemsDiscountPadding: {
9
7
  paddingTop: space12,
10
8
  },
9
+ headerWithDoubleHeight: {
10
+ height: HEADER_HEIGHT * 2,
11
+ },
11
12
  headerWrapper: {
12
13
  display: "flex",
13
14
  flexDirection: "column",
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useState } from "react";
2
- import { Platform } from "react-native";
2
+ import { Platform, ScrollView } from "react-native";
3
3
  import { Spinner } from "@lookiero/aurora";
4
4
  import { CommandStatus } from "@lookiero/messaging-react";
5
5
  import { useLogger } from "@lookiero/sty-psp-logging";
@@ -63,8 +63,9 @@ const ItemWithoutCustomerDecission = ({ checkoutId, checkoutItem, bookedProducts
63
63
  }
64
64
  return (React.createElement(React.Fragment, null,
65
65
  React.createElement(SizeWithoutStockModal, { visible: sizeWithoutStockModalVisible, onDismiss: handleOnHideSizeWithoutStockModal }),
66
- React.createElement(Body, { style: { row: style.container } },
67
- React.createElement(ProductVariant, { checkoutId: checkoutId, checkoutItem: checkoutItem, country: country, currentProductVariant: currentProductVariant, segment: segment, style: { content: { paddingBottom: Platform.OS === "web" ? space6 : stickyHeight } } })),
66
+ React.createElement(ScrollView, { showsVerticalScrollIndicator: false },
67
+ React.createElement(Body, { style: { row: style.container } },
68
+ React.createElement(ProductVariant, { checkoutId: checkoutId, checkoutItem: checkoutItem, country: country, currentProductVariant: currentProductVariant, segment: segment, style: { content: { paddingBottom: Platform.OS === "web" ? space6 : stickyHeight } } }))),
68
69
  React.createElement(ItemActions, { country: country, currentProductVariant: currentProductVariant, productVariants: bookedProductsVariants?.productVariants, onKeep: handleOnKeep, onLayout: handleOnStickyLayout, onReplace: handleOnReplace, onReturn: onReturn, onShowSizeWithoutStockModal: handleOnShowSizeWithoutStockModal })));
69
70
  };
70
71
  export { ItemWithoutCustomerDecission };
@@ -1,6 +1,5 @@
1
1
  declare const style: {
2
2
  container: {
3
- justifyContent: "flex-start";
4
3
  paddingBottom: number;
5
4
  paddingHorizontal: number;
6
5
  };
@@ -3,7 +3,7 @@ import { theme } from "@lookiero/sty-psp-ui";
3
3
  const { space10 } = theme();
4
4
  const style = StyleSheet.create({
5
5
  container: {
6
- justifyContent: "flex-start",
6
+ // justifyContent: "flex-start",
7
7
  paddingBottom: space10,
8
8
  paddingHorizontal: 0,
9
9
  },
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useEffect, useMemo, useState } from "react";
2
- import { Platform, View } from "react-native";
2
+ import { Platform, ScrollView, View } from "react-native";
3
3
  import { generatePath, useMatch, useNavigate } from "react-router-native";
4
4
  import { Box, Text, Layout, useDevice, Spinner } from "@lookiero/aurora";
5
5
  import { useI18nMessage } from "@lookiero/i18n-react";
@@ -15,7 +15,6 @@ import { useTrackPressContinue } from "../../../tracking/useTrackPressContinue";
15
15
  import { useTrackPressPricing } from "../../../tracking/useTrackPressPricing";
16
16
  import { FiveItemsDiscountBanner } from "../../components/atoms/fiveItemsDiscountBanner/FiveItemsDiscountBanner";
17
17
  import { Body } from "../../components/layouts/body/Body";
18
- import { DefaultHeader } from "../../components/templates/header/defaultHeader/DefaultHeader";
19
18
  import { useStaticInfo } from "../../hooks/useStaticInfo";
20
19
  import { I18nMessages } from "../../i18n/i18n";
21
20
  import { Routes } from "../../routing/routes";
@@ -80,20 +79,21 @@ const Summary = ({ layout: LocalLayout, children }) => {
80
79
  if (!dependenciesLoaded) {
81
80
  return React.createElement(Spinner, null);
82
81
  }
83
- return (React.createElement(LocalLayout, { header: React.createElement(DefaultHeader, null), style: {
82
+ return (React.createElement(LocalLayout, { scrollEnabled: false, style: {
84
83
  scrollView: style.scrollView,
85
84
  } },
86
- fiveItemsDiscount !== 0 && React.createElement(FiveItemsDiscountBanner, { fiveItemsDiscount: fiveItemsDiscount }),
87
- React.createElement(Layout, { fullWidth: !screen.L, style: [screen.L && style.desktopLayoutSpacing, !screen.L && { paddingBottom: pricingHeight }] },
88
- React.createElement(Box, { size: { L: "2/3" }, style: screen.L && style.desktopListSpacing },
89
- React.createElement(View, { style: [style.contentWrapper, screen.L && style.desktopContentWrapper] },
90
- React.createElement(View, { style: !screen.L && style.mobileInfo },
91
- React.createElement(Text, { level: 3, style: style.title, heading: true }, titleText),
92
- React.createElement(Text, { level: 3, style: style.description }, descriptionText)),
93
- children)),
94
- pricing && screen.L ? (React.createElement(Box, { size: { L: "1/3" }, style: [style.resume, screen.L ? style.desktopResume : style.mobileResume] },
95
- React.createElement(View, { style: style.princingWrapper },
96
- React.createElement(CollapsiblePricing, { collapsed: false, collapsible: false, pricing: pricing, submitButtonText: submitButtonText, totalCheckoutItemsKept: totalCheckoutItemsKept, onSubmit: handleOnSubmit })))) : null),
85
+ React.createElement(ScrollView, { showsVerticalScrollIndicator: false },
86
+ fiveItemsDiscount !== 0 && React.createElement(FiveItemsDiscountBanner, { fiveItemsDiscount: fiveItemsDiscount }),
87
+ React.createElement(Layout, { fullWidth: !screen.L, style: [screen.L && style.desktopLayoutSpacing, !screen.L && { paddingBottom: pricingHeight }] },
88
+ React.createElement(Box, { size: { L: "2/3" }, style: screen.L && style.desktopListSpacing },
89
+ React.createElement(View, { style: [style.contentWrapper, screen.L && style.desktopContentWrapper] },
90
+ React.createElement(View, { style: !screen.L && style.mobileInfo },
91
+ React.createElement(Text, { level: 3, style: style.title, heading: true }, titleText),
92
+ React.createElement(Text, { level: 3, style: style.description }, descriptionText)),
93
+ children)),
94
+ pricing && screen.L ? (React.createElement(Box, { size: { L: "1/3" }, style: [style.resume, screen.L ? style.desktopResume : style.mobileResume] },
95
+ React.createElement(View, { style: style.princingWrapper },
96
+ React.createElement(CollapsiblePricing, { collapsed: false, collapsible: false, pricing: pricing, submitButtonText: submitButtonText, totalCheckoutItemsKept: totalCheckoutItemsKept, onSubmit: handleOnSubmit })))) : null)),
97
97
  pricing && !screen.L ? (React.createElement(Sticky, { style: style.sticky, onLayout: Platform.OS !== "web" ? handleOnPricingLayout : undefined },
98
98
  React.createElement(Body, null,
99
99
  React.createElement(CollapsiblePricing, { collapsed: pricingCollapsed, pricing: pricing, submitButtonText: submitButtonText, totalCheckoutItemsKept: totalCheckoutItemsKept, onPress: handleOnPressPricing, onSubmit: handleOnSubmit })))) : null));
@@ -32,6 +32,7 @@ declare const style: {
32
32
  resume: any;
33
33
  scrollView: {
34
34
  backgroundColor: string;
35
+ flex: number;
35
36
  };
36
37
  sticky: {
37
38
  paddingBottom: number;
@@ -57,6 +57,7 @@ const style = StyleSheet.create({
57
57
  },
58
58
  scrollView: {
59
59
  backgroundColor: colorBgPrimaryLight,
60
+ flex: 1,
60
61
  },
61
62
  sticky: {
62
63
  paddingBottom: space4,
@@ -1 +1 @@
1
- export declare const VERSION = "6.5.0-beta.0";
1
+ export declare const VERSION = "6.5.0-beta.3";
@@ -1 +1 @@
1
- export const VERSION = "6.5.0-beta.0";
1
+ export const VERSION = "6.5.0-beta.3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lookiero/checkout",
3
- "version": "6.5.0-beta.0",
3
+ "version": "6.5.0-beta.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "sideEffects": "false",
@@ -21,12 +21,12 @@
21
21
  "@lookiero/sty-psp-i18n": "^0.1.7",
22
22
  "@lookiero/sty-psp-locale": "^0.2.1",
23
23
  "@lookiero/sty-psp-logging": "^0.2.2",
24
- "@lookiero/sty-psp-notifications": "^0.5.7",
24
+ "@lookiero/sty-psp-notifications": "^0.5.8",
25
25
  "@lookiero/sty-psp-react-native": "^0.2.0",
26
26
  "@lookiero/sty-psp-segment": "^0.1.1",
27
27
  "@lookiero/sty-psp-storage": "^0.1.3",
28
28
  "@lookiero/sty-psp-tracking": "^0.1.6",
29
- "@lookiero/sty-psp-ui": "^0.5.4",
29
+ "@lookiero/sty-psp-ui": "^0.5.5",
30
30
  "@lookiero/sty-psp-ui-settings": "^0.1.1",
31
31
  "@lookiero/sty-psp-units": "^0.1.1",
32
32
  "@lookiero/sty-psp-uuid": "^0.1.0",
@@ -14,7 +14,6 @@ import { useTrackPageView } from "../../../tracking/useTrackPageView";
14
14
  import { useTrackPressContinue } from "../../../tracking/useTrackPressContinue";
15
15
  import { Body } from "../../components/layouts/body/Body";
16
16
  import { CheckoutQuestionFeedbackProvider } from "../../components/organisms/checkoutQuestions/behaviors/useCheckoutQuestionFeedback";
17
- import { DefaultHeader } from "../../components/templates/header/defaultHeader/DefaultHeader";
18
17
  import { useStaticInfo } from "../../hooks/useStaticInfo";
19
18
  import { style } from "./Feedback.style";
20
19
  import { CheckoutQuestionsForm } from "./components/checkoutQuestionsForm/CheckoutQuestionsForm";
@@ -115,7 +114,7 @@ const Feedback: FC<FeedbackProps> = ({ layout: Layout }) => {
115
114
 
116
115
  return (
117
116
  <CheckoutQuestionFeedbackProvider feedback={{}} onChanged={handleOnChangedFeedback}>
118
- <Layout header={<DefaultHeader />} style={{ scrollView: style.container }}>
117
+ <Layout style={{ scrollView: style.container }}>
119
118
  <Body style={{ column: style.bodyColumn }}>
120
119
  <CheckoutQuestionsForm
121
120
  checkoutQuestions={checkoutQuestions || []}
@@ -1,15 +1,16 @@
1
1
  import { StyleSheet } from "react-native";
2
2
  import { theme } from "@lookiero/sty-psp-ui";
3
+ import { HEADER_HEIGHT } from "../../components/templates/header/Header.style";
3
4
 
4
5
  const { colorBgPrimaryLight, space12 } = theme();
5
6
 
6
7
  const style = StyleSheet.create({
7
- content: {
8
- flex: 1,
9
- },
10
8
  fiveItemsDiscountPadding: {
11
9
  paddingTop: space12,
12
10
  },
11
+ headerWithDoubleHeight: {
12
+ height: HEADER_HEIGHT * 2,
13
+ },
13
14
  headerWrapper: {
14
15
  display: "flex",
15
16
  flexDirection: "column",
@@ -1,5 +1,4 @@
1
1
  import React, { FC, useCallback, useEffect, useMemo, useRef, useState } from "react";
2
- import { View } from "react-native";
3
2
  import { generatePath, useMatch, useNavigate, useParams } from "react-router-native";
4
3
  import { Box, Spinner } from "@lookiero/aurora";
5
4
  import { CommandStatus, QueryStatus } from "@lookiero/messaging-react";
@@ -254,29 +253,30 @@ const Item: FC<ItemProps> = ({ layout: Layout }) => {
254
253
  <ReturnQuestionFeedbackProvider key={checkoutItem.id} feedback={checkoutItem.feedbacks || {}}>
255
254
  <Layout
256
255
  header={header}
256
+ scrollEnabled={!itemWithoutCustomerDecission}
257
257
  style={{
258
+ header: fiveItemsDiscount !== 0 && style.headerWithDoubleHeight,
259
+ scrollView: { height: itemWithoutCustomerDecission ? "100%" : "auto" },
258
260
  safeAreaView: isDesktopScreen ? style.safeAreaView : null,
259
261
  }}
260
262
  >
261
- <View style={[style.content, fiveItemsDiscount !== 0 && style.fiveItemsDiscountPadding]}>
262
- {itemWithoutCustomerDecission ? (
263
- <ItemWithoutCustomerDecission
264
- bookedProductsVariants={bookedProductsVariants as BookedProductsVariantsProjection}
265
- checkoutId={checkout.id}
266
- checkoutItem={checkoutItem as CheckoutItemWithoutCustomerDecission}
267
- currentProductVariant={currentProductVariant}
268
- onReturn={redirectToReturnPage ? goToReturnPage : showReturnQuestions}
269
- />
270
- ) : (
271
- <ItemWithCustomerDecission
272
- checkoutId={checkout.id}
273
- checkoutItem={checkoutItem as CheckoutItemWithCustomerDecission}
274
- currentProductVariant={currentProductVariant}
275
- returnQuestions={returnQuestions}
276
- onEditFeedback={redirectToReturnPage ? goToReturnPage : showReturnQuestions}
277
- />
278
- )}
279
- </View>
263
+ {itemWithoutCustomerDecission ? (
264
+ <ItemWithoutCustomerDecission
265
+ bookedProductsVariants={bookedProductsVariants as BookedProductsVariantsProjection}
266
+ checkoutId={checkout.id}
267
+ checkoutItem={checkoutItem as CheckoutItemWithoutCustomerDecission}
268
+ currentProductVariant={currentProductVariant}
269
+ onReturn={redirectToReturnPage ? goToReturnPage : showReturnQuestions}
270
+ />
271
+ ) : (
272
+ <ItemWithCustomerDecission
273
+ checkoutId={checkout.id}
274
+ checkoutItem={checkoutItem as CheckoutItemWithCustomerDecission}
275
+ currentProductVariant={currentProductVariant}
276
+ returnQuestions={returnQuestions}
277
+ onEditFeedback={redirectToReturnPage ? goToReturnPage : showReturnQuestions}
278
+ />
279
+ )}
280
280
  </Layout>
281
281
 
282
282
  {!redirectToReturnPage ? (
@@ -5,7 +5,7 @@ const { space10 } = theme();
5
5
 
6
6
  const style = StyleSheet.create({
7
7
  container: {
8
- justifyContent: "flex-start",
8
+ // justifyContent: "flex-start",
9
9
  paddingBottom: space10,
10
10
  paddingHorizontal: 0,
11
11
  },
@@ -1,5 +1,5 @@
1
1
  import React, { FC, useCallback, useState } from "react";
2
- import { LayoutRectangle, Platform } from "react-native";
2
+ import { LayoutRectangle, Platform, ScrollView } from "react-native";
3
3
  import { Spinner } from "@lookiero/aurora";
4
4
  import { CommandStatus } from "@lookiero/messaging-react";
5
5
  import { useLogger } from "@lookiero/sty-psp-logging";
@@ -104,16 +104,18 @@ const ItemWithoutCustomerDecission: FC<ItemWithoutCustomerDecissionProps> = ({
104
104
  <>
105
105
  <SizeWithoutStockModal visible={sizeWithoutStockModalVisible} onDismiss={handleOnHideSizeWithoutStockModal} />
106
106
 
107
- <Body style={{ row: style.container }}>
108
- <ProductVariant
109
- checkoutId={checkoutId}
110
- checkoutItem={checkoutItem}
111
- country={country}
112
- currentProductVariant={currentProductVariant}
113
- segment={segment}
114
- style={{ content: { paddingBottom: Platform.OS === "web" ? space6 : stickyHeight } }}
115
- />
116
- </Body>
107
+ <ScrollView showsVerticalScrollIndicator={false}>
108
+ <Body style={{ row: style.container }}>
109
+ <ProductVariant
110
+ checkoutId={checkoutId}
111
+ checkoutItem={checkoutItem}
112
+ country={country}
113
+ currentProductVariant={currentProductVariant}
114
+ segment={segment}
115
+ style={{ content: { paddingBottom: Platform.OS === "web" ? space6 : stickyHeight } }}
116
+ />
117
+ </Body>
118
+ </ScrollView>
117
119
 
118
120
  <ItemActions
119
121
  country={country}
@@ -72,6 +72,7 @@ const style = StyleSheet.create({
72
72
  } as any,
73
73
  scrollView: {
74
74
  backgroundColor: colorBgPrimaryLight,
75
+ flex: 1,
75
76
  },
76
77
  sticky: {
77
78
  paddingBottom: space4,
@@ -1,5 +1,5 @@
1
1
  import React, { FC, ReactNode, useCallback, useEffect, useMemo, useState } from "react";
2
- import { LayoutRectangle, Platform, View } from "react-native";
2
+ import { LayoutRectangle, Platform, ScrollView, View } from "react-native";
3
3
  import { generatePath, useMatch, useNavigate } from "react-router-native";
4
4
  import { Box, Text, Layout, useDevice, Spinner } from "@lookiero/aurora";
5
5
  import { useI18nMessage } from "@lookiero/i18n-react";
@@ -15,7 +15,6 @@ import { useTrackPressContinue } from "../../../tracking/useTrackPressContinue";
15
15
  import { useTrackPressPricing } from "../../../tracking/useTrackPressPricing";
16
16
  import { FiveItemsDiscountBanner } from "../../components/atoms/fiveItemsDiscountBanner/FiveItemsDiscountBanner";
17
17
  import { Body } from "../../components/layouts/body/Body";
18
- import { DefaultHeader } from "../../components/templates/header/defaultHeader/DefaultHeader";
19
18
  import { useStaticInfo } from "../../hooks/useStaticInfo";
20
19
  import { I18nMessages } from "../../i18n/i18n";
21
20
  import { Routes } from "../../routing/routes";
@@ -112,46 +111,49 @@ const Summary: FC<SummaryProps> = ({ layout: LocalLayout, children }) => {
112
111
 
113
112
  return (
114
113
  <LocalLayout
115
- header={<DefaultHeader />}
114
+ scrollEnabled={false}
116
115
  style={{
117
116
  scrollView: style.scrollView,
118
117
  }}
119
118
  >
120
- {fiveItemsDiscount !== 0 && <FiveItemsDiscountBanner fiveItemsDiscount={fiveItemsDiscount} />}
121
-
122
- <Layout
123
- fullWidth={!screen.L}
124
- style={[screen.L && style.desktopLayoutSpacing, !screen.L && { paddingBottom: pricingHeight }]}
125
- >
126
- <Box size={{ L: "2/3" }} style={screen.L && style.desktopListSpacing}>
127
- <View style={[style.contentWrapper, screen.L && style.desktopContentWrapper]}>
128
- <View style={!screen.L && style.mobileInfo}>
129
- <Text level={3} style={style.title} heading>
130
- {titleText}
131
- </Text>
132
- <Text level={3} style={style.description}>
133
- {descriptionText}
134
- </Text>
135
- </View>
136
-
137
- {children}
138
- </View>
139
- </Box>
140
- {pricing && screen.L ? (
141
- <Box size={{ L: "1/3" }} style={[style.resume, screen.L ? style.desktopResume : style.mobileResume]}>
142
- <View style={style.princingWrapper}>
143
- <CollapsiblePricing
144
- collapsed={false}
145
- collapsible={false}
146
- pricing={pricing}
147
- submitButtonText={submitButtonText}
148
- totalCheckoutItemsKept={totalCheckoutItemsKept}
149
- onSubmit={handleOnSubmit}
150
- />
119
+ <ScrollView showsVerticalScrollIndicator={false}>
120
+ {fiveItemsDiscount !== 0 && <FiveItemsDiscountBanner fiveItemsDiscount={fiveItemsDiscount} />}
121
+
122
+ <Layout
123
+ fullWidth={!screen.L}
124
+ style={[screen.L && style.desktopLayoutSpacing, !screen.L && { paddingBottom: pricingHeight }]}
125
+ >
126
+ <Box size={{ L: "2/3" }} style={screen.L && style.desktopListSpacing}>
127
+ <View style={[style.contentWrapper, screen.L && style.desktopContentWrapper]}>
128
+ <View style={!screen.L && style.mobileInfo}>
129
+ <Text level={3} style={style.title} heading>
130
+ {titleText}
131
+ </Text>
132
+ <Text level={3} style={style.description}>
133
+ {descriptionText}
134
+ </Text>
135
+ </View>
136
+
137
+ {children}
151
138
  </View>
152
139
  </Box>
153
- ) : null}
154
- </Layout>
140
+
141
+ {pricing && screen.L ? (
142
+ <Box size={{ L: "1/3" }} style={[style.resume, screen.L ? style.desktopResume : style.mobileResume]}>
143
+ <View style={style.princingWrapper}>
144
+ <CollapsiblePricing
145
+ collapsed={false}
146
+ collapsible={false}
147
+ pricing={pricing}
148
+ submitButtonText={submitButtonText}
149
+ totalCheckoutItemsKept={totalCheckoutItemsKept}
150
+ onSubmit={handleOnSubmit}
151
+ />
152
+ </View>
153
+ </Box>
154
+ ) : null}
155
+ </Layout>
156
+ </ScrollView>
155
157
 
156
158
  {pricing && !screen.L ? (
157
159
  <Sticky style={style.sticky} onLayout={Platform.OS !== "web" ? handleOnPricingLayout : undefined}>
@@ -1,14 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
- import { theme } from "@lookiero/sty-psp-ui";
3
-
4
- const { space10 } = theme();
5
-
6
- const style = StyleSheet.create({
7
- button: {
8
- alignSelf: "auto",
9
- height: space10,
10
- width: space10,
11
- },
12
- });
13
-
14
- export { style };
@@ -1,23 +0,0 @@
1
- import { fireEvent } from "@testing-library/react-native";
2
- import React from "react";
3
- import { render } from "../../../../test/render";
4
- import { DefaultHeader } from "./DefaultHeader";
5
-
6
- const mockOnPressMenu = jest.fn();
7
-
8
- describe("DefaultHeader template", () => {
9
- it("matches the snapshot", () => {
10
- const { toJSON } = render(<DefaultHeader />);
11
-
12
- expect(toJSON()).toMatchSnapshot();
13
- });
14
-
15
- it("renders correctly", () => {
16
- const { getByTestId } = render(<DefaultHeader onPressMenu={mockOnPressMenu} />);
17
-
18
- expect(getByTestId("default-header")).toBeTruthy();
19
-
20
- fireEvent.press(getByTestId("menu-button-icon"));
21
- expect(mockOnPressMenu).toHaveBeenCalled();
22
- });
23
- });
@@ -1,19 +0,0 @@
1
- import React, { FC } from "react";
2
- import { ButtonIcon } from "@lookiero/aurora";
3
- import { Header } from "../Header";
4
- import { ButtonIconPlaceholder } from "../buttonIconPlaceholder/ButtonIconPlaceholder";
5
- import { Logo } from "../logo/Logo";
6
- import { style } from "./DefaultHeader.style";
7
-
8
- interface DefaultHeaderProps {
9
- readonly onPressMenu?: () => void;
10
- }
11
- const DefaultHeader: FC<DefaultHeaderProps> = ({ onPressMenu }) => (
12
- <Header testID="default-header">
13
- <Logo />
14
- <ButtonIconPlaceholder />
15
- <ButtonIcon name="menu" style={style.button} testID="menu-button-icon" onPress={onPressMenu} />
16
- </Header>
17
- );
18
-
19
- export { DefaultHeader };
@@ -1,195 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`DefaultHeader template matches the snapshot 1`] = `
4
- <View
5
- style={
6
- [
7
- {
8
- "backgroundColor": "#FFFFFF",
9
- "flex": 1,
10
- },
11
- ]
12
- }
13
- >
14
- <View
15
- style={
16
- [
17
- {
18
- "alignSelf": "center",
19
- "left": 0,
20
- "marginHorizontal": "auto",
21
- "position": "absolute",
22
- "right": 0,
23
- "top": 0,
24
- "width": "100%",
25
- "zIndex": 5,
26
- },
27
- ]
28
- }
29
- >
30
- <RCTSafeAreaView />
31
- </View>
32
- <View
33
- style={
34
- [
35
- {
36
- "alignItems": "center",
37
- "backgroundColor": "#FFFFFF",
38
- "flexDirection": "row",
39
- "flexGrow": 0,
40
- "flexWrap": "nowrap",
41
- "justifyContent": "space-between",
42
- "overflow": "visible",
43
- "paddingHorizontal": 8,
44
- "width": "100%",
45
- },
46
- undefined,
47
- ]
48
- }
49
- testID="default-header"
50
- >
51
- <Image
52
- resizeMode="cover"
53
- source={
54
- {
55
- "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhcAAADACAYAAAC3fUH2AAAeQ0lEQVR4Ae3dXXIT17bA8RWwc3DMOVd5oOqYQKUzgpgRRIwgMIKIEcSMADOChBFgRgAZAcoIcJ7uvU/oFDlwqngIqeAkYEPuWmaL28gtdffeq1vd8v9XpZhYsq1ude+99tpfIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP10ViCXL1++9ve///2/9bF9/vz5Vy9fvvwfATrss88+e/iPf/xjVx/Z5ubm/+o1+0IAoCPOCOTs2bNj+/rRRx9dO3PmzH0tuB/rYyRAR/31118/6pdMHzt6/dr1evef//xnJgDQAR8JjllLUL8MZ749efPmzdX//Oc/EwE6xAIJCypmv69Bx+7Tp09vCwAsEZmLILQEZ1kB/mhra2tHgA4JAe+JrhDNvu1a5o0sBoBlIrgINIjYn/PUQLtKvrt48eItATpEA4nxnKcsKH5IgAFgWQgugsPDw/1Fz1uLkAwGukSzbf9a8PSpCTDsGC9cuLBtDwIqoBsYc5Gj6eRf9Mtg0Ws0yLj6888/jwVYsjDo+G7Jy/YPDg6uvlCyIvS4tzWw+toGYOv/bs952Vgf9968eTNmzBTQPjIXOVpgvajwmvu0jtAFWnFOKrxse3NzcyW69Abq0qVL9/WfjyyTKPMDCzPUx10b9EqXJtA+goucM2fO7Fd42UALrLLWItCGScXX7WilPJQes4Beg6RHGtxfq/mj00Gujyw4EQCtILjI0ZbgrxVfOtza2qpdyAGezp07V7mrQyvlu32uXG38iLxb1yPW9ieffEKjAGgJwUWOtnAmVV9rM0hoCWGZJpOJBRdVA4xMK9deDkgOY0sySWRjNPqewQH6guAiRwufOoPeeltYY3VUGSc0pdf3tz0NiL8RJ5qd3BYAjSO4+FCtEfVWWAuwRDUD4sFpD4g145gJgMYRXORowVN3ut6ANCuWbOUD4poBVJkqg7YBJCK4yDk8PKxdiGlammluWJq3b9/+q+aP9C4g1uDinjixdS8EQOMILnLOnj0b00IaMrATfdK3gPjJkycP5N2iWEk0SLnNglpAOwgucrRVE5V+3djYGAmwBBFdeWa7bwHx+vr6dQ0OHkgkCyx+/vnnXQHQCoILB1rAfy3AEtSZLZIzOH/+fK9mTdi0Ww0Orus/b+gxT2r86Dgs2b8rAFqzJvBw3BJcpf0bsNrCSpdj6Zl///vfe/plz/YX0a9DDRy+0mOZzcJM9PGTZjseaFAyEQCtY+OyGVpo/SUR2NAMy3Dx4sVdvfZixlBMtKL+QgCgAXSLOHn79u1QgJYlTNPMGIgMoCkEF04sPStA+6K74jY2NoYCAA1gzIWflV9W2Fq62o+dra2tZfl+bms928DCP//8c38Vx53MO241sRlGh4eHkz4e95kzZ4b6JXoGBtBltpOuvNuTJpt56vi+ff78OQuqNYjgws9ga2vr82fPntVd1KizrFLd3Nwc6T+/1ErVBs9li16vr7WHVbJ20/7w+vXrcR9vYC2UhmfPnt3WY/5Kj3mo35rbfaCvk48//tiOe99mMejrf7CFmvqwnoK+30zQqAsXLmzr9THUf34ezveJRohtmBhm/fykX/f/+OOPcdeCVauo9boe6PU+0Gt7XPZ6KzssMxaC8Yk9mrwn7O+dO3duW9+fzdzbDo+F9+1nn31m/7TyaV+7tX/QsptA2xEDOmfEDug0eoFe7/sFmgso7CYdSrqJPm53vcK14/7kk09saexRWRBV0Vgf98LshsaEHUNjtxI/NYM625rNNa1UNStk19LCCq7EWB/3Dg4OHjT9vkPFPNDr3gLqge2/ov/+XJ+yTF02cz/s6TVzY97vCoG5DTAezj6nv+uBlpE3PcuB8PesrBpJ/LmesvP8QBtFd8hqpCO4mJEYXNzU4OJ76aFp5aoFyY6k36RFrHW2p+foXpeCjEWFoZOJPm43FWQkBhc2tbN2GaAZumt6nXwnjrRr6XrVAn1aGeo/reIbWIVoLWr7apVi+DqYZmamlWOT92eF++eFPjcOGYpMqgceLveNZVCsWy9s3PZ5+Nvb4VxlNX7V3OBCr0W7JnZKft66JK6mlgHhurfdcofSjLEGGTcJMuLRLeKojzsuzikUrQC0/Rz2LWVrBbUWbtfkXTYjNvCwimBXK4GRFgy3m27Rl7E0r74Xq5SH0+9Zt4Z+hvf0fVoXh40jsQogNYOT6eOuHvMtj0LVW0xXnqXu9Tz9GLqNMkkz1sc9G7dS9OSlS5e+tTU5ZgOFIvpc4dfc800EzdP3uCvF98Y4rA46nn0irNVh992iLeWT75tF05Vnz1EZPc5P5/wNu5dGUm56312VCKExYD+f5b491scPdt+G92hB07eJ1+ZQu7Me6Tnf0/uWZeMjkLmYkZK5kJKUYdfMu1H1ZrpRdDOFCnlXFheGVS3tptWC8JYV2DPfvqOfXWGry45bK9OHHt0lVgk9ffr0tjhJzVykrM8Srof7Un8ws7Xi77x8+fL7spS/Hp99Ji5ZEj33t/Xc74qTogB1xk29pkozJTWvr++1q+R2na6SLMsGR0dHd8PCaanGekwfBAYVMxYf0MZKVieonXOu7Tq6Pu/6tXvD9tFxuG8nIevFmIwamIrqK5MesGyFFQh6sz6UD9/zvhUc8yp8+74+P9J/3pR0I/v7YUR3K+xv6XE/mg0srGU5L7AwdtxaKX1hFaIksr+twc39rqwxkTKo087L+vq6VTSVKzrbH0SDyiu2HHeVCtIqZ/t8pGMs6xDun2HR8xos3KgSWBg7j1p5VT2PO5ubm4/q3De5pdPddpedCsFtrcDC6LmrPNYnNIIeyclzvTAwtiyPndeay8UXseDvvjVKBJURXPjKpOOsUNLCyQrFEwWCFvrXq/yOUGh6ZGisNfLI+vClYaEysALqg1a2FTxV953Q1+14VHT6O67VrSCaooVvUpBjFZeewypB1wurcK2Sq5utCp/PWDoidGfMBubv2TXy5MmTPakhnJOqQXsWE5hrIGj3fNLg0PxU7PD3oyrcV69eVXofVqGHIG72OrUscel4CDuv2r1xRd7NCkliDQP97KOzhKcNwYWvTrRG5wmpRbtRT6SxtdD4oU6hH/p+PQIMG51+X29aj66WQuF3W2Bx4vOpGyyEis6jBZi1nbkp4jEOQY9jYcFtAZxlK+pWuHlOQV3yseYCi8LfVSdYnRXuqaqV/7RLqjILBCXx2s2fwzAQOpOa7BxVGSg5p/vymHWpSkV23JZhc8hgmBEBRjUEF746G1zkAous6PmY7aytMHRMWX8fCm5XIbDYm/e8TfWTmkLXUHJLSEKAscwukjDlMElJ9mP/999/v5I6tiakv5Na3eq/JEEIBK1Cn3u8qfdDxSzQ1HYY71CZBvJjcRDOxWj2+1Uq8CrnaFFgoWpPa7cAo0bXUxkCjAoILpx1cb8Ge0+LAgvz+vXrqMrSMWVt5821JR9+19x+b5v1ELuGQOhC8iiorJuqVgu0a7QS+HrOU7bOxxWvdRoit5d3U3YPWcWaOgsqovLfuXTp0rDqiw8PDz2C4mnWYup4W3ub1mxjk+yr/b9+3wKl/N+zz+9m2TkqCSzMTxLBAhLrmhMfI8ZgLEZw4WxjYyOpddQErbysdZMtek3KfG6bXSI+Fe3AqyWfy9QsamVGv+fQcvLK2gzrtkC7ws5z0SyEMEh2JI60YnCpGGOEiiRb9Bpbx0ISra2t1T5GmxFR9bXnzp1LvU+n99PQ/mMZTxsEPjuw0v7fBklbcKnZwU+1W8KCjk/LBrna4M2SwMIyZROJpF1zDzwGZht7n3UCu9OG4GLF2Rx8qTb/PJpzRWst+eQWQcX+4IkkCAXlWHzsLKmgyiTBTAt26mbsuINFNIj9VZbAAqiyCs/oa5LH4oQBshOpZ1j12gnjLlIMwgwRCyonR0dHpYNQLXOlf3dS9rrcdNOFNMhMOgYN4HbFpzFkgV1nZn51DcHFCgutyt0KL51Ioi5VtKHwG0kLHLM2VlDd7VNBVRC4vqgzBbMuW9BNlkAroypZpRex64XMijlObc0PpT3HAaVlpzzXqYkdIFpXCLA8ptMbW4SQ8RcFCC5WWLhZq1RWLhWa53oEVtFKhJTpcTGscK05CG+RTAuqHemBgsDVCuyrKTNCusjS9FUWn9LX/ChLpPfeV9KezGN8SZ6dZ2mpQWDCex+LA5taTvfISQQXK2reaO45XIKL0HIbi49sa2urdkWrLWebHZJVee28pYzr+vjjj62l7pK90ILq2y6sf7HI7HiW6VTTKusO9M2cbp8iyz72TFrkvbCZnufKY45S12aZcm4MMbhzBsHFiqpRKB6zPSbEQegmcKGBwq063QS2zLEWGCOpzuWYaywkVYUNau1s9mJ2SrMFFjbFr41l3NvuFglB3rDKa5fVZZOTSYtsl2NxErIW21Vf77WHk3NjaEj24kMEFyuoZtbi2NHRkUsrPlQyXssM2/bvpSnpqcPDQ3ttVvX1HnuFTHlmL9Q3XRx7URRYeKxh0VV1AnTn4KJyRZszkZbYFG7nsRZ1F9Bzm5FH9qI5BBcrSG/WyhXylFaOMQXaPJ4D+uoUPN9KPQOvStw7e9G1sRdFi7BZheq1hkVHDaVloRUfc01OpCXT3Uc9xDSEwm7FLsheNIfgYjXFLKXtdsOGvvex+Kh0w4ZCqvYxnD9/3u24vcdeSAu0oC6d3rlgddeVLUxDJZ9JyyJa8cfaHFCq3WBRi1gV0eMdSk2eGcfw+zyzF7UbdquK4GLFxFay6ktx1PYNG1NIGe07dgsuvLMXbVTc+jktTDHndv/Mip5f1VRwTPYvVcqMCa3w96Q9E3GyYHXXRQYXLlzoavaik12ay0BwsWLW19djbzrPbhH3G7bsBZGFlA0Ocw2qQvbCxbJbQWW7fwarmr2odV1okJpUoYRtxWOXgd9rc9yLvk+3rjC9xocSYW1tbSi+fhAfg42NjaGA4GLVJCym00RL2e2GLXtvWkhlEse1Ag8L9IzFR1SK3EPZ7p95K5q9GNZ5sQapUcGFBRW2CVbZUvUL7B8cHHgtCNWqcI1FnTfvRoE2yvbEqUtT31tUQ2fVEFysnuibzrOLwHjesBXeW+x7H3hNw51y7BJyf29VhPR8ncpupbIXkbvzLvwZS5Vbl6V+ntf09+9YQHHx4sXHIagYSZyxBhZX+zqoNjHb494ocOzSZNyFEFysougb1jviDq14l2mpWmEP5z3nsFX7dXHktD34Mf1MrkqLbIv6mFZ07IqqXRSzjkJR5syCCdvwzIKIzc3NX/S8PtbfbV0ftmDUKGFg4nR30d4GFkbPR8p920Sj4IH4WEqjoGsILlZPJvG2vQcjed2wi5Y3Tu3vbiKN6dgKcs0mLWKBhX7ZkzhZ2NOl97RrMZOaZq9P2+XWggnb8MxxdsNYHzc1W/FFU/u3tEnvkdSyxrVR4DnLre1GQRcRXKyelBvWfTCS48DOQYOjsN2DKq+BnVoAt7JnRGJgMfXdKoyUj6z03rdW9Vxa5mdH0lhGwio7C1Jv2LbllqmwoGJV1hbRoKtzjQJxGieWMAZsZawJkBNuWK/04JTdsENJtL6+nknBHg76/YG2NiXB8UqgWmbviRPrEtJKZiyJx51aANewJ+mOF//S87grPWYVg553qctaq/qZ25in4cxT00BhUvBjv+rfe5Fb4XNfr+dKW5T3ne0RoudMEgwtmPUMtmyc2OHhYdUNH+fSz/PUd4sQXGDWNb1fbzZww1bemGietbW1TAqCC/3dLzQFLSm0gLegak98eQRVmbTAuq88pr7a4l96/axM67omy/4Mp/8TBvaOvbZiXzUaWCRfI5ppHeml5tZFZI2CS5cujR3uhUxOObpFVk/qDTvwXLXSeE3PjJ3uV4UNGPVO6YfZMsna6GrQwM02nPMICCwLdFr3WBjaf2zPFf1yRYOKXQKL+SxjI4ka6hrxGi91qhFc9JRNZSvaktzjhm1o3QKvNS+KTCRdrU3SqvAKqrR15rZR0zzhvXpNod3p+rbxTbKMxSpuP+9Nz5NHMOveKNBA2z671PeWySlHcNFD081+iqbM6fc8CrXtrrbii5w7d84rBd/EolVNBlWuwgyEsTjQbqreTk1N3eFUz+OeoJSWVRNx4L3JnwXab9++TbpvPRp5fUdw0UPTfTSKLmD93r8knc0aGYkj55UrT/zukIpO1cmukWfPnnl8plV5rfbY24W1UlvU7C1RzeHhoUt2J3bp/0U08BlLAqesTK8RXPTQ9Gaa08KaiIOG1n5I2rlxUYvSKWPTSCtIGgqqmmDpfP2cXLpHerywVlLF4H0NraqwH4pHJbztHchqo+CBIAnBRQ9NN/vR1F3RjTkWH+4tz9TWwKtXr+YWRF7bQDex1XlKUKU/23rfva3R4ZQJyorGBfVA0jkPM2bIXlTjcn17b/Ln0Chw25a+rwgueuby5ct2Ex0XXEW7E4aBZC4puYRN0AqlLov9/PnzuQVRauCSM+hSULWM9KoVrPqeb4gD/T23+lbRaqt1ImkGZC+qSc1m5rhvdZ7y3rTsnMgpR3DRM3rRvu+uePPmzeM5r3EZRNhEC0x/51gilLXgPffz8J4tkzj6fCktIDuf+ll5TMnr3dTU0GpNupb03N1y2PNm5Xk2CrwDupT3pg2/1jOOXUNw0T/v039//PHHr0Uv0At7T3y437CxrQEtrEtvVq+gSg09p1KGyiqqsNFjGsuSaFC069Q9suORDdJgeiIJ9Fg+rfra2CB4xn26RxbzbBToZ+Y62ys0CqK8fPmS4ELQG2FjqPeF1bxVEJ3maR/zHoNQJUiYozQocQyqrNUyEl9RGQgNIMeyJJ7dI1qxJ6/QKomDlfXaq7xeiNMYnkyzNvcFZVx2TlaZZ5dmQqNgfEpXqP0AwUW/5CPzybwXeW51rgaeu13Gtga01Toue41zK8i7S6iXhZRj98h26uBOx/VMSjmm64e24J1gLsetzt27NGOCTMcMaq8RXPRE6L8d5r41WfR6zxtWuWUvItekGIdpa6Uctzr37hKKCS68AsQkXt0jNrgzpbvJcT2TUp6BqhpdvHixsS6Svq+G6rhzsnGd5RYzxV2vUc+yt7cILvqjVgXvfMO6ziOPmAFRuZINW513LnsRMQPhxcHBQScKKcfukUHqyp2JswsyqcctuNNr6Zp2kTzyDgQ0aLml5/Rx38d2hE3eXDhnL+qWJZUbQquO4KIHpst9z3x7UvZzzjesR5/5sTqpRmup1llOObRuO5e9iJiB8KBL/baO3SNJLUuvxdKqcM7+mUwDgUcWEEgiKxP0PN7X97grK9DH3+HsRd3rrRPZxi4guOgBLZBOFEZVlvn2zl54jb2os9VyTIDU1exFnf0G3rx54xYYetHryQKt5MrdVu6MPad6XlrL5jjfP1MDCwj0XnpsQUbdTIa+3sZwfGdBSm7hqJWo0LqYvdDrrfI9W7chtOrWBJ22tbVlBcho9vtVKyq9OW5YQSS5WSYJLHuxJ4nsvWtBUuV1k6dPn+5JTZYl0ALYCiqPbMvxOg3aMPTac6OUFbJdTa3q9XTd4XrKYs+pnRf9bMfy4fijyn9XarLPYroirrPMggw9lxZoWMBmj5/0/O7P/P1B2KDwS3k3Df3Eea8y2LkPLJhL+GxnDa3sfPbsWWvBqH5W1wXvkbnoMGvdacFSWEFWbf1bYezZTaCtrV1piXafXJVInjt8itM6DVVYQKWF7K50VAh6PAKtlHMaPRq/bsakoezFrG1514CwjMTD/EPvc5vK+l14vui9761SH781hsQp62hlZ4tjUfbC6sgICC46LKxsmBU9V2dbaG3974rTGv4eKw9aa6zCa5Jb754FleeYk0VSAqq2WOrXY/xFbPdI2Gk26nPd2NiovNbFVLiOOkk/h9a7RPR8NFZhh3veq3ska2N1WGsQdLEbc9kILjpKW3U2O2TuYMJFm3gVsXS2+E2tS6potUD8vOQlY4/Wu2Mr22ynZm30uLOS5zvbHTLLafxFVOGfMmj36Oio8iqdUyH718XKYxwyK63SjECj2QDLOjoNHjapWces7AXWIGCGyEkEFx1kmQEtzL5f9Jq1tbVfpAa7+B37BIcpI9712LIFz008W4qhle1SMVjWJragqpDtudPl7pAiFrA6rDsRVfjHDtrV+yaTCCH7N5ZuaW0cUNtsbRXx2zE1egCxdk0tvG9tijaBRTGCi5wsy5Ij8piWUZ6NBtcvD8te9+zZs9LZIrNCK8el4rbBaGGwaS1hdHzhDWsVVROtgFBpu6SPraCKXKtgUSF1T4OgHemZXMCalBGLKfxj195IaXVb0NvWIl4VLLOPP6lbtAr7fLX766rT+Y5ehl2v768WPHf7yZMne4JCBBc5h4eHmST629/+Fl14WVeIDeKS8pH40YV5mCrltZ323brjL/T4hkXfbyqwmNLjHjmlWm2tgpjVFudtqnTH3pv0VKjgbJxISoBhhX/trjYt2B/U/UwXZc3K2LVp1+iyA4yUPn6nRby+lBZYgOF4vo+n8Nb5ATtXuem+s272LdPYNoKLnDDlq3V2EeuF/7CsK2Qq9WazAEOP1WMMhlWwD6sGGKFgK+pOGf/+++9Xmk4v2jgBpy6Sba0MH1YtqMP6IMPZ79t7Sc1YpFSW4eeTs3XTACPxuhzF7D1SN31eYbzPQl0IMBKD8EzSDS9cuNB49sLYcWoX2BXx6SLZqdOdq2VkUYPAptFfDbPRsADBRY7etF9LojqFvbV+w/K9tm7AsOrPRSyffYK1+rT1c8WhkDwOMMoqBjtWa/HLycLtpt6oV9taYTC0NqyvOvXvbVuWqSzAKAqo7JxbAeXR8kmtLMsGmVZlAUZqpWt7j9TNhE3T51Kx8tH3l1wpLjPASO3jLxtDUJVW+K3MnjL2Gev1dcWjYWDdubbPS9l9q9fhN2H107yxlZnLGETbRwQXQbjYhpLum0VPWiWrf2tkmQpt/f4SLuBarUct1H4VB9NWgUN3wfF6HLb7Y1GLxsaRWEtfPuyrHevjyjJaAPY3nQIr6yJ5bMc9W1jNBI755+5YlsaxgBpKmoHXGh52PT19+vSLUAnEBG/HgWrd1P00wKiyXLdXMJVrUbc1FfR4jIlDH7/XJoSt7/YagvHkcS+2z4s1DCyjONu9af8fuk/2ct+2a/m4EcTgzerKl0k8JWyd/gX9a3VN9PHAggC9kG1evV3A1n+XORVud7wHAIYZKved3t9E/n/vEwso3t/AVjDo42abK+ctYgWMLRXsdNzWeraC6Pjzlg+DRtub47Znq8eCl4LWVQzrw3ctOC1AsNUn9dx+FXFuo9+P3se7ZUs/v379+srz58/dBkM6X0MnhEzX9dQBnI7XS577tVPGri3tDtvR8+IVKI3DV7tf8w0g6wK58/Lly+/7vnfLMpz64MJa1WHvjqH0hM25D1Pj3IXxAXbTevepuleuXkJFOGyggrAC6Z61qD2POxSu3zkGw2aij9veeyNYS1CzVtf0HHwdltGumqWLrrTKzo92aVhw654xayjIuHNwcLCbUrmFz8DKONcGyYyxvJv1tCctmQawUpItjkBQ4eDUBxcazT9uqsXRFC0crzfd8g993zuRLc8pCyh+7NNNevny5Wt6zN/UrAjz7DithXnPtkxv4rhDANhEStq2ef+iyc/KrisbOK3X8NDGi9iA0nkZvdQg2rp79HeM5GTlM7YUtzQkfD72N4cSxzUotWtaA7XGx0jYqsFNntd5po0D6dA5B8EFKgiBxvRh09AGs7MMwiBTq1R/0spj8ttvv/V+G+hQOU2POZPi457Iu1b/T/rvfQqmNJmyr0dHR5kGpfse19C08gnZk8y+ZwMEpWGWMTh//vy2BVJ6T3xpf9uun5lAylYbtfEU+7bTsX4dr8K9sywF53wwO8jeyiq7b8PO0vvr6+vjiRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA/R8V29NCEuB+mQAAAABJRU5ErkJggg==",
56
- }
57
- }
58
- style={
59
- {
60
- "height": 48,
61
- "width": 134,
62
- }
63
- }
64
- />
65
- <View
66
- style={
67
- {
68
- "flexGrow": 0,
69
- "height": 40,
70
- "width": 40,
71
- }
72
- }
73
- />
74
- <View
75
- accessibilityRole="button"
76
- accessibilityState={
77
- {
78
- "busy": undefined,
79
- "checked": undefined,
80
- "disabled": undefined,
81
- "expanded": undefined,
82
- "selected": undefined,
83
- }
84
- }
85
- accessibilityValue={
86
- {
87
- "max": undefined,
88
- "min": undefined,
89
- "now": undefined,
90
- "text": undefined,
91
- }
92
- }
93
- accessible={true}
94
- collapsable={false}
95
- focusable={true}
96
- onBlur={[Function]}
97
- onClick={[Function]}
98
- onFocus={[Function]}
99
- onResponderGrant={[Function]}
100
- onResponderMove={[Function]}
101
- onResponderRelease={[Function]}
102
- onResponderTerminate={[Function]}
103
- onResponderTerminationRequest={[Function]}
104
- onStartShouldSetResponder={[Function]}
105
- pointerEvents="none"
106
- style={
107
- [
108
- [
109
- {
110
- "_container": {
111
- "overflow": "hidden",
112
- },
113
- "_pressed": {
114
- "bottom": 0,
115
- "left": 0,
116
- "right": 0,
117
- "top": 0,
118
- },
119
- "alignSelf": "flex-start",
120
- "container": {
121
- "overflow": "hidden",
122
- },
123
- "overflow": "visible",
124
- "padding": 8,
125
- "pressed": {
126
- "bottom": 0,
127
- "left": 0,
128
- "right": 0,
129
- "top": 0,
130
- },
131
- },
132
- ],
133
- {
134
- "opacity": 1,
135
- },
136
- ]
137
- }
138
- testID="menu-button-icon"
139
- >
140
- <View
141
- style={
142
- [
143
- {
144
- "position": "relative",
145
- },
146
- ]
147
- }
148
- >
149
- <Text
150
- accessibilityElementsHidden={true}
151
- allowFontScaling={false}
152
- importantForAccessibility="no"
153
- selectable={false}
154
- style={
155
- [
156
- {
157
- "color": "#0C0A0A",
158
- "fontFamily": "auroraicons",
159
- "fontSize": 24,
160
- "fontStyle": "normal",
161
- "fontWeight": "normal",
162
- "height": 24,
163
- "width": 24,
164
- },
165
- ]
166
- }
167
- >
168
-
169
- </Text>
170
- <View
171
- collapsable={false}
172
- style={
173
- {
174
- "backgroundColor": "#F45545",
175
- "borderColor": "#FFFFFF",
176
- "borderRadius": 9999,
177
- "borderWidth": 2,
178
- "height": 10,
179
- "position": "absolute",
180
- "right": 0,
181
- "top": 0,
182
- "transform": [
183
- {
184
- "scale": 0,
185
- },
186
- ],
187
- "width": 10,
188
- }
189
- }
190
- />
191
- </View>
192
- </View>
193
- </View>
194
- </View>
195
- `;