@nuskin/routine-feature 2.0.1 → 3.0.0
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/lib/commonjs/RoutineDetails.js +4 -6
- package/lib/commonjs/RoutineDetails.js.map +1 -1
- package/lib/commonjs/index.js +4 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/RoutineDetails.js +5 -7
- package/lib/module/RoutineDetails.js.map +1 -1
- package/lib/module/index.js +6 -8
- package/lib/module/index.js.map +1 -1
- package/package.json +7 -7
- package/src/RoutineDetails.tsx +18 -3
- package/src/index.tsx +13 -5
|
@@ -9,21 +9,19 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _mobileUi = require("@ns/mobile-ui");
|
|
10
10
|
var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
|
|
11
11
|
var _Accessibility = require("./helpers/Accessibility");
|
|
12
|
+
var _utilsModule = require("@nuskin/utils-module");
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
14
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
14
15
|
function RoutineDetails(props) {
|
|
15
16
|
var _props$route, _item$routine_imageCo, _item$routine_imageCo2, _item$routine_imageCo3;
|
|
16
17
|
const item = (_props$route = props.route) === null || _props$route === void 0 ? void 0 : _props$route.params;
|
|
18
|
+
const hideFeaturesByMarket = (0, _utilsModule.useMarketFlagsStore)(state => state.flags.hideVeraFeaturesByMarket);
|
|
17
19
|
return /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
|
|
18
20
|
style: styles.container,
|
|
19
21
|
testID: "routineStack"
|
|
20
22
|
}, /*#__PURE__*/_react.default.createElement(_mobileUi.VeraHeader, _extends({
|
|
21
|
-
left: /*#__PURE__*/_react.default.createElement(_mobileUi.
|
|
22
|
-
|
|
23
|
-
}),
|
|
24
|
-
right: /*#__PURE__*/_react.default.createElement(_mobileUi.HeaderCart, {
|
|
25
|
-
accessibilityLabel: "crt-btn"
|
|
26
|
-
}),
|
|
23
|
+
left: /*#__PURE__*/_react.default.createElement(_mobileUi.BackArrow, null),
|
|
24
|
+
right: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_mobileUi.HeaderAccount, null), !hideFeaturesByMarket && /*#__PURE__*/_react.default.createElement(_mobileUi.HeaderCart, null)),
|
|
27
25
|
title: item.reference
|
|
28
26
|
}, (0, _Accessibility.accessibility)(`vera-header`))), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
|
|
29
27
|
style: styles.routinesContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RoutineDetails","props","item","route","params","styles","container","reference","accessibility","routinesContainer","position","uri","routine_imageConnection","edges","node","url","itemPhoto","imageOverlay","itemTitleContainer","itemTextSpan","routine_subtitle","itemTextTitle","routine_title","routineDetailsContainer","routineDetails","itemTextDescription","routines_description","itemText","products_used_label","products","map","index","flexDirection","product_imageConnection","productPhoto","productName","itemTextProduct","product_category","product_name","steps","marginHorizontal","marginBottom","marginVertical","itemTextTitleIndex","itemTextStepTitle","step_title","style","imageConnection","stepImagePhoto","itemTextStepDescription","step_description","itemTextStepSubDescription","step_sub_description","textLumiSpaTreatmentContainer","textLumiSpaTreatment","image_title","stepProductContainer","stepProductPhoto","itemTextStepProduct","image_description","StyleSheet","create","flex","backgroundColor","colors","white","primaryGray","sectionHeader","textTransform","fontWeight","fontSize","marginTop","paddingHorizontal","left","right","top","height","margin","borderRadius","width","minHeight","aspectRatio","Image","ImageTextContainer","padding","LumiSpaIOTextContainer","Container","Product","LumiSpaIO","justifyContent","marginLeft","paddingTop","paddingBottom","paddingVertical","borderColor","borderWidth","lineHeight","bottom","color","accentB400","paddingRight","primaryBlack","letterSpacing","itemTextSteps","textAlign","borderStyle"],"sources":["RoutineDetails.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SafeAreaView,\n View,\n StyleSheet,\n ScrollView,\n Text,\n Image,\n ImageBackground,\n Pressable,\n} from 'react-native';\nimport { VeraHeader, Logo, HeaderCart, colors } from '@ns/mobile-ui';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { accessibility } from './helpers/Accessibility';\n\nfunction RoutineDetails(props) {\n const item = props.route?.params;\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<Logo accessibilityLabel=\"logo\" />}\n right={<HeaderCart accessibilityLabel=\"crt-btn\" />}\n title={item.reference}\n {...accessibility(`vera-header`)}\n />\n <ScrollView style={styles.routinesContainer}>\n {item && (\n <>\n <View style={{ position: 'relative' }}>\n <ImageBackground\n {...accessibility(`image-routine-background`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n >\n <LinearGradient\n colors={['rgba(0, 0, 0, 0)', 'rgba(0, 0, 0, 0.6)']}\n locations={[0.6, 1]}\n style={styles.imageOverlay}\n />\n <View style={styles.itemTitleContainer}>\n <Text style={styles.itemTextSpan}>\n {item.routine_subtitle}\n </Text>\n <Text style={styles.itemTextTitle}>{item.routine_title}</Text>\n </View>\n </ImageBackground>\n </View>\n <View style={styles.routineDetailsContainer}>\n <View style={styles.routineDetails}>\n <Text style={styles.itemTextDescription}>\n {item.routines_description}\n </Text>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n {item.products.map((item, index) => {\n return (\n <View key={index} style={{ flexDirection: 'row' }}>\n <Image\n key={index}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node\n ?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextProduct}>\n {item.product_category}\n </Text>\n <Text style={styles.itemTextProduct}>\n {item.product_name}\n </Text>\n </View>\n </View>\n );\n })}\n </View>\n </View>\n {item.steps.map((item, index) => {\n return (\n <View\n key={index}\n style={{\n marginHorizontal: 20,\n marginBottom: 15,\n }}\n >\n <View\n style={{\n flexDirection: 'row',\n marginVertical: 10,\n }}\n >\n <Text style={styles.itemTextTitleIndex}>{index + 1}</Text>\n <Text style={styles.itemTextStepTitle}>\n {item.step_title}\n </Text>\n </View>\n <View\n style={styles[`${item.style ? item.style : 'Container'}`]}\n >\n {(item.style === 'Image' || item.style == 'LumiSpaIO') && (\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepImagePhoto}\n resizeMode=\"contain\"\n />\n )}\n <View\n style={\n styles[\n `${\n item.style\n ? `${item.style}TextContainer`\n : 'TextContainer'\n }`\n ]\n }\n >\n <Text style={styles.itemTextStepDescription}>\n {item.step_description}\n </Text>\n <Text style={styles.itemTextStepSubDescription}>\n {item.step_sub_description}\n </Text>\n {item.style === 'LumiSpaIO' && (\n <Pressable style={styles.textLumiSpaTreatmentContainer}>\n <Text style={styles.textLumiSpaTreatment}>\n {item.image_title}\n </Text>\n </Pressable>\n )}\n </View>\n </View>\n {item.style === 'Product' && (\n <View style={styles.stepProductContainer}>\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepProductPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextStepProduct}>\n {item.image_title}\n </Text>\n <Text style={styles.itemTextStepProduct}>\n {item.image_description}\n </Text>\n </View>\n </View>\n )}\n </View>\n );\n })}\n </>\n )}\n </ScrollView>\n </SafeAreaView>\n );\n}\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n // color: '#f4f4f4',\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n imageOverlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n height: '100%',\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n aspectRatio: 1.5,\n },\n Image: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n ImageTextContainer: {\n flex: 1,\n padding: 20,\n },\n LumiSpaIOTextContainer: {\n flex: 1,\n padding: 20,\n },\n Container: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n Product: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n LumiSpaIO: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n productName: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 5,\n },\n routineDetailsContainer: {\n backgroundColor: 'white',\n paddingTop: 20,\n paddingBottom: 10,\n marginBottom: 10,\n },\n routineDetails: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n stepImagePhoto: {\n width: 130,\n minHeight: 150,\n },\n stepProductPhoto: {\n width: 80,\n height: 80,\n },\n stepProductContainer: {\n flexDirection: 'row',\n backgroundColor: colors.white,\n paddingHorizontal: 20,\n paddingBottom: 20,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTextStepProduct: {\n fontWeight: '400',\n fontSize: 13,\n lineHeight: 18,\n },\n itemTitleContainer: {\n flexDirection: 'column',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n position: 'absolute',\n bottom: 20,\n },\n itemTextSpan: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 14,\n textTransform: 'uppercase',\n },\n itemTextTitleIndex: {\n color: colors.accentB400,\n fontWeight: '400',\n fontSize: 20,\n lineHeight: 26,\n paddingRight: 10,\n },\n itemTextStepTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n lineHeight: 26,\n },\n itemTextStepSubDescription: {\n fontWeight: '700',\n fontSize: 10,\n lineHeight: 15,\n letterSpacing: 0.5,\n paddingTop: 5,\n textTransform: 'uppercase',\n },\n itemTextTitle: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 26,\n },\n itemTextDescription: {\n color: colors.primaryBlack,\n fontWeight: '400',\n fontSize: 14,\n lineHeight: 20,\n paddingBottom: 20,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextStepDescription: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n },\n itemTextProduct: {\n color: colors.primaryBlack,\n fontSize: 11,\n fontWeight: '600',\n textTransform: 'uppercase',\n letterSpacing: 0.05,\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n textLumiSpaTreatmentContainer: {\n marginTop: 10,\n padding: 10,\n textAlign: 'center',\n borderStyle: 'solid',\n borderWidth: 1,\n borderColor: colors.primaryBlack,\n },\n textLumiSpaTreatment: {\n textAlign: 'center',\n fontSize: 14,\n fontWeight: '600',\n lineHeight: 16,\n letterSpacing: 0.05,\n },\n});\nexport default RoutineDetails;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["RoutineDetails","props","item","route","params","hideFeaturesByMarket","useMarketFlagsStore","state","flags","hideVeraFeaturesByMarket","styles","container","reference","accessibility","routinesContainer","position","uri","routine_imageConnection","edges","node","url","itemPhoto","imageOverlay","itemTitleContainer","itemTextSpan","routine_subtitle","itemTextTitle","routine_title","routineDetailsContainer","routineDetails","itemTextDescription","routines_description","itemText","products_used_label","products","map","index","flexDirection","product_imageConnection","productPhoto","productName","itemTextProduct","product_category","product_name","steps","marginHorizontal","marginBottom","marginVertical","itemTextTitleIndex","itemTextStepTitle","step_title","style","imageConnection","stepImagePhoto","itemTextStepDescription","step_description","itemTextStepSubDescription","step_sub_description","textLumiSpaTreatmentContainer","textLumiSpaTreatment","image_title","stepProductContainer","stepProductPhoto","itemTextStepProduct","image_description","StyleSheet","create","flex","backgroundColor","colors","white","primaryGray","sectionHeader","textTransform","fontWeight","fontSize","marginTop","paddingHorizontal","left","right","top","height","margin","borderRadius","width","minHeight","aspectRatio","Image","ImageTextContainer","padding","LumiSpaIOTextContainer","Container","Product","LumiSpaIO","justifyContent","marginLeft","paddingTop","paddingBottom","paddingVertical","borderColor","borderWidth","lineHeight","bottom","color","accentB400","paddingRight","primaryBlack","letterSpacing","itemTextSteps","textAlign","borderStyle"],"sources":["RoutineDetails.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SafeAreaView,\n View,\n StyleSheet,\n ScrollView,\n Text,\n Image,\n ImageBackground,\n Pressable,\n} from 'react-native';\nimport {\n VeraHeader,\n BackArrow,\n HeaderCart,\n HeaderAccount,\n colors,\n} from '@ns/mobile-ui';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { accessibility } from './helpers/Accessibility';\nimport { useMarketFlagsStore } from '@nuskin/utils-module';\n\nfunction RoutineDetails(props) {\n const item = props.route?.params;\n const hideFeaturesByMarket = useMarketFlagsStore(\n (state) => state.flags.hideVeraFeaturesByMarket\n );\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<BackArrow />}\n right={\n <>\n <HeaderAccount />\n {!hideFeaturesByMarket && <HeaderCart />}\n </>\n }\n title={item.reference}\n {...accessibility(`vera-header`)}\n />\n <ScrollView style={styles.routinesContainer}>\n {item && (\n <>\n <View style={{ position: 'relative' }}>\n <ImageBackground\n {...accessibility(`image-routine-background`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n >\n <LinearGradient\n colors={['rgba(0, 0, 0, 0)', 'rgba(0, 0, 0, 0.6)']}\n locations={[0.6, 1]}\n style={styles.imageOverlay}\n />\n <View style={styles.itemTitleContainer}>\n <Text style={styles.itemTextSpan}>\n {item.routine_subtitle}\n </Text>\n <Text style={styles.itemTextTitle}>{item.routine_title}</Text>\n </View>\n </ImageBackground>\n </View>\n <View style={styles.routineDetailsContainer}>\n <View style={styles.routineDetails}>\n <Text style={styles.itemTextDescription}>\n {item.routines_description}\n </Text>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n {item.products.map((item, index) => {\n return (\n <View key={index} style={{ flexDirection: 'row' }}>\n <Image\n key={index}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node\n ?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextProduct}>\n {item.product_category}\n </Text>\n <Text style={styles.itemTextProduct}>\n {item.product_name}\n </Text>\n </View>\n </View>\n );\n })}\n </View>\n </View>\n {item.steps.map((item, index) => {\n return (\n <View\n key={index}\n style={{\n marginHorizontal: 20,\n marginBottom: 15,\n }}\n >\n <View\n style={{\n flexDirection: 'row',\n marginVertical: 10,\n }}\n >\n <Text style={styles.itemTextTitleIndex}>{index + 1}</Text>\n <Text style={styles.itemTextStepTitle}>\n {item.step_title}\n </Text>\n </View>\n <View\n style={styles[`${item.style ? item.style : 'Container'}`]}\n >\n {(item.style === 'Image' || item.style == 'LumiSpaIO') && (\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepImagePhoto}\n resizeMode=\"contain\"\n />\n )}\n <View\n style={\n styles[\n `${\n item.style\n ? `${item.style}TextContainer`\n : 'TextContainer'\n }`\n ]\n }\n >\n <Text style={styles.itemTextStepDescription}>\n {item.step_description}\n </Text>\n <Text style={styles.itemTextStepSubDescription}>\n {item.step_sub_description}\n </Text>\n {item.style === 'LumiSpaIO' && (\n <Pressable style={styles.textLumiSpaTreatmentContainer}>\n <Text style={styles.textLumiSpaTreatment}>\n {item.image_title}\n </Text>\n </Pressable>\n )}\n </View>\n </View>\n {item.style === 'Product' && (\n <View style={styles.stepProductContainer}>\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepProductPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextStepProduct}>\n {item.image_title}\n </Text>\n <Text style={styles.itemTextStepProduct}>\n {item.image_description}\n </Text>\n </View>\n </View>\n )}\n </View>\n );\n })}\n </>\n )}\n </ScrollView>\n </SafeAreaView>\n );\n}\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n // color: '#f4f4f4',\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n imageOverlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n height: '100%',\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n aspectRatio: 1.5,\n },\n Image: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n ImageTextContainer: {\n flex: 1,\n padding: 20,\n },\n LumiSpaIOTextContainer: {\n flex: 1,\n padding: 20,\n },\n Container: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n Product: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n LumiSpaIO: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n productName: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 5,\n },\n routineDetailsContainer: {\n backgroundColor: 'white',\n paddingTop: 20,\n paddingBottom: 10,\n marginBottom: 10,\n },\n routineDetails: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n stepImagePhoto: {\n width: 130,\n minHeight: 150,\n },\n stepProductPhoto: {\n width: 80,\n height: 80,\n },\n stepProductContainer: {\n flexDirection: 'row',\n backgroundColor: colors.white,\n paddingHorizontal: 20,\n paddingBottom: 20,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTextStepProduct: {\n fontWeight: '400',\n fontSize: 13,\n lineHeight: 18,\n },\n itemTitleContainer: {\n flexDirection: 'column',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n position: 'absolute',\n bottom: 20,\n },\n itemTextSpan: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 14,\n textTransform: 'uppercase',\n },\n itemTextTitleIndex: {\n color: colors.accentB400,\n fontWeight: '400',\n fontSize: 20,\n lineHeight: 26,\n paddingRight: 10,\n },\n itemTextStepTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n lineHeight: 26,\n },\n itemTextStepSubDescription: {\n fontWeight: '700',\n fontSize: 10,\n lineHeight: 15,\n letterSpacing: 0.5,\n paddingTop: 5,\n textTransform: 'uppercase',\n },\n itemTextTitle: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 26,\n },\n itemTextDescription: {\n color: colors.primaryBlack,\n fontWeight: '400',\n fontSize: 14,\n lineHeight: 20,\n paddingBottom: 20,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextStepDescription: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n },\n itemTextProduct: {\n color: colors.primaryBlack,\n fontSize: 11,\n fontWeight: '600',\n textTransform: 'uppercase',\n letterSpacing: 0.05,\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n textLumiSpaTreatmentContainer: {\n marginTop: 10,\n padding: 10,\n textAlign: 'center',\n borderStyle: 'solid',\n borderWidth: 1,\n borderColor: colors.primaryBlack,\n },\n textLumiSpaTreatment: {\n textAlign: 'center',\n fontSize: 14,\n fontWeight: '600',\n lineHeight: 16,\n letterSpacing: 0.05,\n },\n});\nexport default RoutineDetails;\n"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -11,7 +11,6 @@ var _client = require("@apollo/client");
|
|
|
11
11
|
var _native = require("@react-navigation/native");
|
|
12
12
|
var _mobileUi = require("@ns/mobile-ui");
|
|
13
13
|
var _utilsModule = require("@nuskin/utils-module");
|
|
14
|
-
var _valtio = require("valtio");
|
|
15
14
|
var _RoutineDetails = _interopRequireDefault(require("./RoutineDetails"));
|
|
16
15
|
var _mobileLogging = require("@nuskin/mobile-logging");
|
|
17
16
|
var _Accessibility = require("./helpers/Accessibility");
|
|
@@ -128,9 +127,10 @@ const ListItem = _ref => {
|
|
|
128
127
|
})))));
|
|
129
128
|
};
|
|
130
129
|
const Routines = () => {
|
|
131
|
-
const
|
|
130
|
+
const localeState = _utilsModule.localization.useLocalization().locale;
|
|
132
131
|
const [refresh, setRefresh] = (0, _react.useState)(false);
|
|
133
132
|
const locale = _utilsModule.localization.getLocalization(_utilsModule.localization.LocalizationFormat.CONTENT_STACK);
|
|
133
|
+
const hideFeaturesByMarket = (0, _utilsModule.useMarketFlagsStore)(state => state.flags.hideVeraFeaturesByMarket);
|
|
134
134
|
const {
|
|
135
135
|
loading,
|
|
136
136
|
error,
|
|
@@ -143,7 +143,7 @@ const Routines = () => {
|
|
|
143
143
|
});
|
|
144
144
|
(0, _react.useEffect)(() => {
|
|
145
145
|
setRefresh(!refresh);
|
|
146
|
-
}, [
|
|
146
|
+
}, [localeState]);
|
|
147
147
|
const routinesPageData = data ? data.result.items[0] : {};
|
|
148
148
|
if (error || !routinesPageData) {
|
|
149
149
|
var _error$graphQLErrors$, _error$graphQLErrors$2, _error$graphQLErrors$3;
|
|
@@ -169,9 +169,7 @@ const Routines = () => {
|
|
|
169
169
|
left: /*#__PURE__*/_react.default.createElement(_mobileUi.Logo, {
|
|
170
170
|
accessibilityLabel: "logo"
|
|
171
171
|
}),
|
|
172
|
-
right: /*#__PURE__*/_react.default.createElement(_mobileUi.HeaderCart,
|
|
173
|
-
accessibilityLabel: "crt-btn"
|
|
174
|
-
}),
|
|
172
|
+
right: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_mobileUi.HeaderAccount, null), !hideFeaturesByMarket && /*#__PURE__*/_react.default.createElement(_mobileUi.HeaderCart, null)),
|
|
175
173
|
title: routinesPageData.title
|
|
176
174
|
}, (0, _Accessibility.accessibility)('routine-activity-indicator'))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
177
175
|
style: styles.routinesContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Stack","createStackNavigator","FETCH_ROUTINES_PAGE","gql","ListItem","item","index","navigation","useNavigation","handleOnPress","navigate","styles","itemContainer","accessibility","uri","routine_imageConnection","edges","node","url","itemPhoto","itemTextContainer","itemTitleContainer","itemTextTitle","routine_title","itemTextSteps","steps","length","routine_step_label","listContainer","itemText","products_used_label","products","product_imageConnection","productPhoto","Routines","localizationStore","useSnapshot","localizationState","refresh","setRefresh","useState","locale","localization","getLocalization","LocalizationFormat","CONTENT_STACK","loading","error","data","refetch","useQuery","variables","useEffect","routinesPageData","result","items","errorCode","graphQLErrors","extensions","errors","code","container","title","routinesContainer","sortListText","sort_list_label","routines","paddingHorizontal","RoutineStack","unsubscribe","addListener","Logger","info","headerShown","RoutineDetails","StyleSheet","create","flex","backgroundColor","colors","white","primaryGray","paddingTop","flexDirection","paddingVertical","sectionHeader","textTransform","fontWeight","fontSize","marginTop","marginBottom","margin","borderRadius","paddingBottom","width","minHeight","height","borderColor","borderWidth","justifyContent","color","primaryBlack","letterSpacing","textAlign","marginRight","paddingRight"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n FlatList,\n Image,\n SafeAreaView,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n ActivityIndicator,\n} from 'react-native';\nimport { gql, useQuery } from '@apollo/client';\nimport { useNavigation } from '@react-navigation/native';\nimport {\n VeraHeader,\n Logo,\n HeaderCart,\n colors,\n ErrorScreen,\n} from '@ns/mobile-ui';\nimport { localization, localizationState } from '@nuskin/utils-module';\nimport { useSnapshot } from 'valtio';\nimport RoutineDetails from './RoutineDetails';\nimport { Logger } from '@nuskin/mobile-logging';\nimport { accessibility } from './helpers/Accessibility';\nimport { createStackNavigator } from '@react-navigation/stack';\n\nconst Stack = createStackNavigator();\nexport const FETCH_ROUTINES_PAGE = gql`\n query fetchAllHomePages($locale: String) {\n result: all_routine(fallback_locale: true, locale: $locale) {\n items {\n products_used_label\n sort_list_label\n title\n routines {\n products {\n product_name\n product_category\n product_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n }\n products_used_label\n routine_title\n routine_subtitle\n routines_description\n routine_step_label\n reference\n routine_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n steps {\n imageConnection {\n edges {\n node {\n url\n }\n }\n }\n step_sub_description\n step_title\n step_description\n style\n image_title\n image_description\n }\n }\n }\n }\n }\n`;\n\nconst ListItem = ({ item, index }) => {\n const navigation = useNavigation();\n const handleOnPress = () => {\n navigation.navigate('RoutineDetails' as never, item as never);\n };\n return (\n <View style={styles.itemContainer}>\n <TouchableOpacity onPress={handleOnPress}>\n <View>\n <Image\n {...accessibility(`list-item-${index}`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n />\n </View>\n <View style={styles.itemTextContainer}>\n <View style={styles.itemTitleContainer}>\n <Text\n {...accessibility(`list-item-title-${index}`)}\n style={styles.itemTextTitle}\n >\n {item.routine_title}\n </Text>\n <Text style={styles.itemTextSteps}>\n {item.steps.length} {item.routine_step_label}\n </Text>\n </View>\n <View style={styles.listContainer}>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n <FlatList\n data={item.products}\n horizontal\n renderItem={({ item, index }) => (\n <Image\n key={index}\n {...accessibility(`list-item-product-${index}`)}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n )}\n showsHorizontalScrollIndicator={false}\n />\n </View>\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n\nconst Routines = () => {\n const localizationStore = useSnapshot(localizationState);\n const [refresh, setRefresh] = useState(false);\n const locale = localization.getLocalization(\n localization.LocalizationFormat.CONTENT_STACK\n );\n\n const { loading, error, data, refetch } = useQuery(FETCH_ROUTINES_PAGE, {\n variables: { locale },\n });\n\n useEffect(() => {\n setRefresh(!refresh);\n }, [localizationStore]);\n\n const routinesPageData = data ? data.result.items[0] : {};\n if (error || !routinesPageData) {\n const errorCode = error?.graphQLErrors[0]?.extensions?.errors[0]?.code;\n\n return (\n <SafeAreaView style={styles.container}>\n <ErrorScreen errorCode={errorCode} refresh={() => refetch()} />\n </SafeAreaView>\n );\n }\n if (loading) {\n return (\n <SafeAreaView\n style={styles.container}\n {...accessibility('routine-container-loading')}\n >\n <ActivityIndicator\n size=\"large\"\n {...accessibility('routine-activity-indicator')}\n />\n </SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<Logo accessibilityLabel=\"logo\" />}\n right={<HeaderCart accessibilityLabel=\"crt-btn\" />}\n title={routinesPageData.title}\n {...accessibility('routine-activity-indicator')}\n />\n <View style={styles.routinesContainer}>\n {routinesPageData && (\n <>\n <Text style={styles.sortListText}>\n {routinesPageData.sort_list_label}\n </Text>\n <FlatList\n data={routinesPageData.routines}\n renderItem={({ item, index }) => (\n <ListItem index={index} item={item} key={index} />\n )}\n showsHorizontalScrollIndicator={false}\n contentContainerStyle={{ paddingHorizontal: 15 }}\n />\n </>\n )}\n </View>\n </SafeAreaView>\n );\n};\n\nfunction RoutineStack() {\n const navigation = useNavigation();\n useEffect(() => {\n const unsubscribe = navigation.addListener('focus', () => {\n Logger.info('User navigated to the RoutineStack page.');\n });\n return unsubscribe;\n }, [navigation]);\n\n return (\n <Stack.Navigator initialRouteName=\"Routines\">\n <Stack.Screen\n name=\"Routines\"\n component={Routines}\n options={{ headerShown: false }}\n />\n <Stack.Screen\n name=\"RoutineDetails\"\n component={RoutineDetails}\n options={{ headerShown: false }}\n />\n </Stack.Navigator>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n paddingTop: 10,\n },\n listContainer: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemContainer: {\n backgroundColor: 'transparent',\n flex: 1,\n marginBottom: 10,\n },\n itemTextContainer: {\n backgroundColor: colors.white,\n paddingTop: 20,\n paddingBottom: 10,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTitleContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n },\n itemTextTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n sortListText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n textAlign: 'right',\n marginRight: 10,\n letterSpacing: 0.5,\n paddingVertical: 10,\n paddingRight: 20,\n },\n});\n\nexport { RoutineStack };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Stack","createStackNavigator","FETCH_ROUTINES_PAGE","gql","ListItem","item","index","navigation","useNavigation","handleOnPress","navigate","styles","itemContainer","accessibility","uri","routine_imageConnection","edges","node","url","itemPhoto","itemTextContainer","itemTitleContainer","itemTextTitle","routine_title","itemTextSteps","steps","length","routine_step_label","listContainer","itemText","products_used_label","products","product_imageConnection","productPhoto","Routines","localeState","localization","useLocalization","locale","refresh","setRefresh","useState","getLocalization","LocalizationFormat","CONTENT_STACK","hideFeaturesByMarket","useMarketFlagsStore","state","flags","hideVeraFeaturesByMarket","loading","error","data","refetch","useQuery","variables","useEffect","routinesPageData","result","items","errorCode","graphQLErrors","extensions","errors","code","container","title","routinesContainer","sortListText","sort_list_label","routines","paddingHorizontal","RoutineStack","unsubscribe","addListener","Logger","info","headerShown","RoutineDetails","StyleSheet","create","flex","backgroundColor","colors","white","primaryGray","paddingTop","flexDirection","paddingVertical","sectionHeader","textTransform","fontWeight","fontSize","marginTop","marginBottom","margin","borderRadius","paddingBottom","width","minHeight","height","borderColor","borderWidth","justifyContent","color","primaryBlack","letterSpacing","textAlign","marginRight","paddingRight"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n FlatList,\n Image,\n SafeAreaView,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n ActivityIndicator,\n} from 'react-native';\nimport { gql, useQuery } from '@apollo/client';\nimport { useNavigation } from '@react-navigation/native';\nimport {\n VeraHeader,\n Logo,\n HeaderCart,\n HeaderAccount,\n colors,\n ErrorScreen,\n} from '@ns/mobile-ui';\nimport { localization, useMarketFlagsStore } from '@nuskin/utils-module';\nimport RoutineDetails from './RoutineDetails';\nimport { Logger } from '@nuskin/mobile-logging';\nimport { accessibility } from './helpers/Accessibility';\nimport { createStackNavigator } from '@react-navigation/stack';\n\nconst Stack = createStackNavigator();\nexport const FETCH_ROUTINES_PAGE = gql`\n query fetchAllHomePages($locale: String) {\n result: all_routine(fallback_locale: true, locale: $locale) {\n items {\n products_used_label\n sort_list_label\n title\n routines {\n products {\n product_name\n product_category\n product_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n }\n products_used_label\n routine_title\n routine_subtitle\n routines_description\n routine_step_label\n reference\n routine_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n steps {\n imageConnection {\n edges {\n node {\n url\n }\n }\n }\n step_sub_description\n step_title\n step_description\n style\n image_title\n image_description\n }\n }\n }\n }\n }\n`;\n\nconst ListItem = ({ item, index }) => {\n const navigation = useNavigation();\n const handleOnPress = () => {\n navigation.navigate('RoutineDetails' as never, item as never);\n };\n return (\n <View style={styles.itemContainer}>\n <TouchableOpacity onPress={handleOnPress}>\n <View>\n <Image\n {...accessibility(`list-item-${index}`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n />\n </View>\n <View style={styles.itemTextContainer}>\n <View style={styles.itemTitleContainer}>\n <Text\n {...accessibility(`list-item-title-${index}`)}\n style={styles.itemTextTitle}\n >\n {item.routine_title}\n </Text>\n <Text style={styles.itemTextSteps}>\n {item.steps.length} {item.routine_step_label}\n </Text>\n </View>\n <View style={styles.listContainer}>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n <FlatList\n data={item.products}\n horizontal\n renderItem={({ item, index }) => (\n <Image\n key={index}\n {...accessibility(`list-item-product-${index}`)}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n )}\n showsHorizontalScrollIndicator={false}\n />\n </View>\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n\nconst Routines = () => {\n const localeState = localization.useLocalization().locale;\n const [refresh, setRefresh] = useState(false);\n const locale = localization.getLocalization(\n localization.LocalizationFormat.CONTENT_STACK\n );\n const hideFeaturesByMarket = useMarketFlagsStore(\n (state) => state.flags.hideVeraFeaturesByMarket\n );\n\n const { loading, error, data, refetch } = useQuery(FETCH_ROUTINES_PAGE, {\n variables: { locale },\n });\n\n useEffect(() => {\n setRefresh(!refresh);\n }, [localeState]);\n\n const routinesPageData = data ? data.result.items[0] : {};\n if (error || !routinesPageData) {\n const errorCode = error?.graphQLErrors[0]?.extensions?.errors[0]?.code;\n\n return (\n <SafeAreaView style={styles.container}>\n <ErrorScreen errorCode={errorCode} refresh={() => refetch()} />\n </SafeAreaView>\n );\n }\n if (loading) {\n return (\n <SafeAreaView\n style={styles.container}\n {...accessibility('routine-container-loading')}\n >\n <ActivityIndicator\n size=\"large\"\n {...accessibility('routine-activity-indicator')}\n />\n </SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<Logo accessibilityLabel=\"logo\" />}\n right={\n <>\n <HeaderAccount />\n {!hideFeaturesByMarket && <HeaderCart />}\n </>\n }\n title={routinesPageData.title}\n {...accessibility('routine-activity-indicator')}\n />\n <View style={styles.routinesContainer}>\n {routinesPageData && (\n <>\n <Text style={styles.sortListText}>\n {routinesPageData.sort_list_label}\n </Text>\n <FlatList\n data={routinesPageData.routines}\n renderItem={({ item, index }) => (\n <ListItem index={index} item={item} key={index} />\n )}\n showsHorizontalScrollIndicator={false}\n contentContainerStyle={{ paddingHorizontal: 15 }}\n />\n </>\n )}\n </View>\n </SafeAreaView>\n );\n};\n\nfunction RoutineStack() {\n const navigation = useNavigation();\n useEffect(() => {\n const unsubscribe = navigation.addListener('focus', () => {\n Logger.info('User navigated to the RoutineStack page.');\n });\n return unsubscribe;\n }, [navigation]);\n\n return (\n <Stack.Navigator initialRouteName=\"Routines\">\n <Stack.Screen\n name=\"Routines\"\n component={Routines}\n options={{ headerShown: false }}\n />\n <Stack.Screen\n name=\"RoutineDetails\"\n component={RoutineDetails}\n options={{ headerShown: false }}\n />\n </Stack.Navigator>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n paddingTop: 10,\n },\n listContainer: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemContainer: {\n backgroundColor: 'transparent',\n flex: 1,\n marginBottom: 10,\n },\n itemTextContainer: {\n backgroundColor: colors.white,\n paddingTop: 20,\n paddingBottom: 10,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTitleContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n },\n itemTextTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n sortListText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n textAlign: 'right',\n marginRight: 10,\n letterSpacing: 0.5,\n paddingVertical: 10,\n paddingRight: 20,\n },\n});\n\nexport { RoutineStack };\n"],"mappings":"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"}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { SafeAreaView, View, StyleSheet, ScrollView, Text, Image, ImageBackground, Pressable } from 'react-native';
|
|
4
|
-
import { VeraHeader,
|
|
4
|
+
import { VeraHeader, BackArrow, HeaderCart, HeaderAccount, colors } from '@ns/mobile-ui';
|
|
5
5
|
import LinearGradient from 'react-native-linear-gradient';
|
|
6
6
|
import { accessibility } from './helpers/Accessibility';
|
|
7
|
+
import { useMarketFlagsStore } from '@nuskin/utils-module';
|
|
7
8
|
function RoutineDetails(props) {
|
|
8
9
|
var _props$route, _item$routine_imageCo, _item$routine_imageCo2, _item$routine_imageCo3;
|
|
9
10
|
const item = (_props$route = props.route) === null || _props$route === void 0 ? void 0 : _props$route.params;
|
|
11
|
+
const hideFeaturesByMarket = useMarketFlagsStore(state => state.flags.hideVeraFeaturesByMarket);
|
|
10
12
|
return /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
11
13
|
style: styles.container,
|
|
12
14
|
testID: "routineStack"
|
|
13
15
|
}, /*#__PURE__*/React.createElement(VeraHeader, _extends({
|
|
14
|
-
left: /*#__PURE__*/React.createElement(
|
|
15
|
-
|
|
16
|
-
}),
|
|
17
|
-
right: /*#__PURE__*/React.createElement(HeaderCart, {
|
|
18
|
-
accessibilityLabel: "crt-btn"
|
|
19
|
-
}),
|
|
16
|
+
left: /*#__PURE__*/React.createElement(BackArrow, null),
|
|
17
|
+
right: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeaderAccount, null), !hideFeaturesByMarket && /*#__PURE__*/React.createElement(HeaderCart, null)),
|
|
20
18
|
title: item.reference
|
|
21
19
|
}, accessibility(`vera-header`))), /*#__PURE__*/React.createElement(ScrollView, {
|
|
22
20
|
style: styles.routinesContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","SafeAreaView","View","StyleSheet","ScrollView","Text","Image","ImageBackground","Pressable","VeraHeader","Logo","HeaderCart","colors","LinearGradient","accessibility","RoutineDetails","props","item","route","params","styles","container","reference","routinesContainer","position","uri","routine_imageConnection","edges","node","url","itemPhoto","imageOverlay","itemTitleContainer","itemTextSpan","routine_subtitle","itemTextTitle","routine_title","routineDetailsContainer","routineDetails","itemTextDescription","routines_description","itemText","products_used_label","products","map","index","flexDirection","product_imageConnection","productPhoto","productName","itemTextProduct","product_category","product_name","steps","marginHorizontal","marginBottom","marginVertical","itemTextTitleIndex","itemTextStepTitle","step_title","style","imageConnection","stepImagePhoto","itemTextStepDescription","step_description","itemTextStepSubDescription","step_sub_description","textLumiSpaTreatmentContainer","textLumiSpaTreatment","image_title","stepProductContainer","stepProductPhoto","itemTextStepProduct","image_description","create","flex","backgroundColor","white","primaryGray","sectionHeader","textTransform","fontWeight","fontSize","marginTop","paddingHorizontal","left","right","top","height","margin","borderRadius","width","minHeight","aspectRatio","ImageTextContainer","padding","LumiSpaIOTextContainer","Container","Product","LumiSpaIO","justifyContent","marginLeft","paddingTop","paddingBottom","paddingVertical","borderColor","borderWidth","lineHeight","bottom","color","accentB400","paddingRight","primaryBlack","letterSpacing","itemTextSteps","textAlign","borderStyle"],"sources":["RoutineDetails.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SafeAreaView,\n View,\n StyleSheet,\n ScrollView,\n Text,\n Image,\n ImageBackground,\n Pressable,\n} from 'react-native';\nimport { VeraHeader, Logo, HeaderCart, colors } from '@ns/mobile-ui';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { accessibility } from './helpers/Accessibility';\n\nfunction RoutineDetails(props) {\n const item = props.route?.params;\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<Logo accessibilityLabel=\"logo\" />}\n right={<HeaderCart accessibilityLabel=\"crt-btn\" />}\n title={item.reference}\n {...accessibility(`vera-header`)}\n />\n <ScrollView style={styles.routinesContainer}>\n {item && (\n <>\n <View style={{ position: 'relative' }}>\n <ImageBackground\n {...accessibility(`image-routine-background`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n >\n <LinearGradient\n colors={['rgba(0, 0, 0, 0)', 'rgba(0, 0, 0, 0.6)']}\n locations={[0.6, 1]}\n style={styles.imageOverlay}\n />\n <View style={styles.itemTitleContainer}>\n <Text style={styles.itemTextSpan}>\n {item.routine_subtitle}\n </Text>\n <Text style={styles.itemTextTitle}>{item.routine_title}</Text>\n </View>\n </ImageBackground>\n </View>\n <View style={styles.routineDetailsContainer}>\n <View style={styles.routineDetails}>\n <Text style={styles.itemTextDescription}>\n {item.routines_description}\n </Text>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n {item.products.map((item, index) => {\n return (\n <View key={index} style={{ flexDirection: 'row' }}>\n <Image\n key={index}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node\n ?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextProduct}>\n {item.product_category}\n </Text>\n <Text style={styles.itemTextProduct}>\n {item.product_name}\n </Text>\n </View>\n </View>\n );\n })}\n </View>\n </View>\n {item.steps.map((item, index) => {\n return (\n <View\n key={index}\n style={{\n marginHorizontal: 20,\n marginBottom: 15,\n }}\n >\n <View\n style={{\n flexDirection: 'row',\n marginVertical: 10,\n }}\n >\n <Text style={styles.itemTextTitleIndex}>{index + 1}</Text>\n <Text style={styles.itemTextStepTitle}>\n {item.step_title}\n </Text>\n </View>\n <View\n style={styles[`${item.style ? item.style : 'Container'}`]}\n >\n {(item.style === 'Image' || item.style == 'LumiSpaIO') && (\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepImagePhoto}\n resizeMode=\"contain\"\n />\n )}\n <View\n style={\n styles[\n `${\n item.style\n ? `${item.style}TextContainer`\n : 'TextContainer'\n }`\n ]\n }\n >\n <Text style={styles.itemTextStepDescription}>\n {item.step_description}\n </Text>\n <Text style={styles.itemTextStepSubDescription}>\n {item.step_sub_description}\n </Text>\n {item.style === 'LumiSpaIO' && (\n <Pressable style={styles.textLumiSpaTreatmentContainer}>\n <Text style={styles.textLumiSpaTreatment}>\n {item.image_title}\n </Text>\n </Pressable>\n )}\n </View>\n </View>\n {item.style === 'Product' && (\n <View style={styles.stepProductContainer}>\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepProductPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextStepProduct}>\n {item.image_title}\n </Text>\n <Text style={styles.itemTextStepProduct}>\n {item.image_description}\n </Text>\n </View>\n </View>\n )}\n </View>\n );\n })}\n </>\n )}\n </ScrollView>\n </SafeAreaView>\n );\n}\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n // color: '#f4f4f4',\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n imageOverlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n height: '100%',\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n aspectRatio: 1.5,\n },\n Image: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n ImageTextContainer: {\n flex: 1,\n padding: 20,\n },\n LumiSpaIOTextContainer: {\n flex: 1,\n padding: 20,\n },\n Container: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n Product: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n LumiSpaIO: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n productName: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 5,\n },\n routineDetailsContainer: {\n backgroundColor: 'white',\n paddingTop: 20,\n paddingBottom: 10,\n marginBottom: 10,\n },\n routineDetails: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n stepImagePhoto: {\n width: 130,\n minHeight: 150,\n },\n stepProductPhoto: {\n width: 80,\n height: 80,\n },\n stepProductContainer: {\n flexDirection: 'row',\n backgroundColor: colors.white,\n paddingHorizontal: 20,\n paddingBottom: 20,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTextStepProduct: {\n fontWeight: '400',\n fontSize: 13,\n lineHeight: 18,\n },\n itemTitleContainer: {\n flexDirection: 'column',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n position: 'absolute',\n bottom: 20,\n },\n itemTextSpan: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 14,\n textTransform: 'uppercase',\n },\n itemTextTitleIndex: {\n color: colors.accentB400,\n fontWeight: '400',\n fontSize: 20,\n lineHeight: 26,\n paddingRight: 10,\n },\n itemTextStepTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n lineHeight: 26,\n },\n itemTextStepSubDescription: {\n fontWeight: '700',\n fontSize: 10,\n lineHeight: 15,\n letterSpacing: 0.5,\n paddingTop: 5,\n textTransform: 'uppercase',\n },\n itemTextTitle: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 26,\n },\n itemTextDescription: {\n color: colors.primaryBlack,\n fontWeight: '400',\n fontSize: 14,\n lineHeight: 20,\n paddingBottom: 20,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextStepDescription: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n },\n itemTextProduct: {\n color: colors.primaryBlack,\n fontSize: 11,\n fontWeight: '600',\n textTransform: 'uppercase',\n letterSpacing: 0.05,\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n textLumiSpaTreatmentContainer: {\n marginTop: 10,\n padding: 10,\n textAlign: 'center',\n borderStyle: 'solid',\n borderWidth: 1,\n borderColor: colors.primaryBlack,\n },\n textLumiSpaTreatment: {\n textAlign: 'center',\n fontSize: 14,\n fontWeight: '600',\n lineHeight: 16,\n letterSpacing: 0.05,\n },\n});\nexport default RoutineDetails;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","SafeAreaView","View","StyleSheet","ScrollView","Text","Image","ImageBackground","Pressable","VeraHeader","BackArrow","HeaderCart","HeaderAccount","colors","LinearGradient","accessibility","useMarketFlagsStore","RoutineDetails","props","item","route","params","hideFeaturesByMarket","state","flags","hideVeraFeaturesByMarket","styles","container","reference","routinesContainer","position","uri","routine_imageConnection","edges","node","url","itemPhoto","imageOverlay","itemTitleContainer","itemTextSpan","routine_subtitle","itemTextTitle","routine_title","routineDetailsContainer","routineDetails","itemTextDescription","routines_description","itemText","products_used_label","products","map","index","flexDirection","product_imageConnection","productPhoto","productName","itemTextProduct","product_category","product_name","steps","marginHorizontal","marginBottom","marginVertical","itemTextTitleIndex","itemTextStepTitle","step_title","style","imageConnection","stepImagePhoto","itemTextStepDescription","step_description","itemTextStepSubDescription","step_sub_description","textLumiSpaTreatmentContainer","textLumiSpaTreatment","image_title","stepProductContainer","stepProductPhoto","itemTextStepProduct","image_description","create","flex","backgroundColor","white","primaryGray","sectionHeader","textTransform","fontWeight","fontSize","marginTop","paddingHorizontal","left","right","top","height","margin","borderRadius","width","minHeight","aspectRatio","ImageTextContainer","padding","LumiSpaIOTextContainer","Container","Product","LumiSpaIO","justifyContent","marginLeft","paddingTop","paddingBottom","paddingVertical","borderColor","borderWidth","lineHeight","bottom","color","accentB400","paddingRight","primaryBlack","letterSpacing","itemTextSteps","textAlign","borderStyle"],"sources":["RoutineDetails.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SafeAreaView,\n View,\n StyleSheet,\n ScrollView,\n Text,\n Image,\n ImageBackground,\n Pressable,\n} from 'react-native';\nimport {\n VeraHeader,\n BackArrow,\n HeaderCart,\n HeaderAccount,\n colors,\n} from '@ns/mobile-ui';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { accessibility } from './helpers/Accessibility';\nimport { useMarketFlagsStore } from '@nuskin/utils-module';\n\nfunction RoutineDetails(props) {\n const item = props.route?.params;\n const hideFeaturesByMarket = useMarketFlagsStore(\n (state) => state.flags.hideVeraFeaturesByMarket\n );\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<BackArrow />}\n right={\n <>\n <HeaderAccount />\n {!hideFeaturesByMarket && <HeaderCart />}\n </>\n }\n title={item.reference}\n {...accessibility(`vera-header`)}\n />\n <ScrollView style={styles.routinesContainer}>\n {item && (\n <>\n <View style={{ position: 'relative' }}>\n <ImageBackground\n {...accessibility(`image-routine-background`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n >\n <LinearGradient\n colors={['rgba(0, 0, 0, 0)', 'rgba(0, 0, 0, 0.6)']}\n locations={[0.6, 1]}\n style={styles.imageOverlay}\n />\n <View style={styles.itemTitleContainer}>\n <Text style={styles.itemTextSpan}>\n {item.routine_subtitle}\n </Text>\n <Text style={styles.itemTextTitle}>{item.routine_title}</Text>\n </View>\n </ImageBackground>\n </View>\n <View style={styles.routineDetailsContainer}>\n <View style={styles.routineDetails}>\n <Text style={styles.itemTextDescription}>\n {item.routines_description}\n </Text>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n {item.products.map((item, index) => {\n return (\n <View key={index} style={{ flexDirection: 'row' }}>\n <Image\n key={index}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node\n ?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextProduct}>\n {item.product_category}\n </Text>\n <Text style={styles.itemTextProduct}>\n {item.product_name}\n </Text>\n </View>\n </View>\n );\n })}\n </View>\n </View>\n {item.steps.map((item, index) => {\n return (\n <View\n key={index}\n style={{\n marginHorizontal: 20,\n marginBottom: 15,\n }}\n >\n <View\n style={{\n flexDirection: 'row',\n marginVertical: 10,\n }}\n >\n <Text style={styles.itemTextTitleIndex}>{index + 1}</Text>\n <Text style={styles.itemTextStepTitle}>\n {item.step_title}\n </Text>\n </View>\n <View\n style={styles[`${item.style ? item.style : 'Container'}`]}\n >\n {(item.style === 'Image' || item.style == 'LumiSpaIO') && (\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepImagePhoto}\n resizeMode=\"contain\"\n />\n )}\n <View\n style={\n styles[\n `${\n item.style\n ? `${item.style}TextContainer`\n : 'TextContainer'\n }`\n ]\n }\n >\n <Text style={styles.itemTextStepDescription}>\n {item.step_description}\n </Text>\n <Text style={styles.itemTextStepSubDescription}>\n {item.step_sub_description}\n </Text>\n {item.style === 'LumiSpaIO' && (\n <Pressable style={styles.textLumiSpaTreatmentContainer}>\n <Text style={styles.textLumiSpaTreatment}>\n {item.image_title}\n </Text>\n </Pressable>\n )}\n </View>\n </View>\n {item.style === 'Product' && (\n <View style={styles.stepProductContainer}>\n <Image\n source={{\n uri: item.imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.stepProductPhoto}\n resizeMode=\"contain\"\n />\n <View style={styles.productName}>\n <Text style={styles.itemTextStepProduct}>\n {item.image_title}\n </Text>\n <Text style={styles.itemTextStepProduct}>\n {item.image_description}\n </Text>\n </View>\n </View>\n )}\n </View>\n );\n })}\n </>\n )}\n </ScrollView>\n </SafeAreaView>\n );\n}\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n // color: '#f4f4f4',\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n imageOverlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n height: '100%',\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n aspectRatio: 1.5,\n },\n Image: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n ImageTextContainer: {\n flex: 1,\n padding: 20,\n },\n LumiSpaIOTextContainer: {\n flex: 1,\n padding: 20,\n },\n Container: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n Product: {\n flexDirection: 'column',\n flex: 1,\n padding: 20,\n backgroundColor: colors.white,\n },\n LumiSpaIO: {\n flexDirection: 'row',\n flex: 1,\n backgroundColor: colors.white,\n },\n productName: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 5,\n },\n routineDetailsContainer: {\n backgroundColor: 'white',\n paddingTop: 20,\n paddingBottom: 10,\n marginBottom: 10,\n },\n routineDetails: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n stepImagePhoto: {\n width: 130,\n minHeight: 150,\n },\n stepProductPhoto: {\n width: 80,\n height: 80,\n },\n stepProductContainer: {\n flexDirection: 'row',\n backgroundColor: colors.white,\n paddingHorizontal: 20,\n paddingBottom: 20,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTextStepProduct: {\n fontWeight: '400',\n fontSize: 13,\n lineHeight: 18,\n },\n itemTitleContainer: {\n flexDirection: 'column',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n position: 'absolute',\n bottom: 20,\n },\n itemTextSpan: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 14,\n textTransform: 'uppercase',\n },\n itemTextTitleIndex: {\n color: colors.accentB400,\n fontWeight: '400',\n fontSize: 20,\n lineHeight: 26,\n paddingRight: 10,\n },\n itemTextStepTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n lineHeight: 26,\n },\n itemTextStepSubDescription: {\n fontWeight: '700',\n fontSize: 10,\n lineHeight: 15,\n letterSpacing: 0.5,\n paddingTop: 5,\n textTransform: 'uppercase',\n },\n itemTextTitle: {\n color: colors.white,\n fontWeight: '400',\n fontSize: 26,\n },\n itemTextDescription: {\n color: colors.primaryBlack,\n fontWeight: '400',\n fontSize: 14,\n lineHeight: 20,\n paddingBottom: 20,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextStepDescription: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n },\n itemTextProduct: {\n color: colors.primaryBlack,\n fontSize: 11,\n fontWeight: '600',\n textTransform: 'uppercase',\n letterSpacing: 0.05,\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n textLumiSpaTreatmentContainer: {\n marginTop: 10,\n padding: 10,\n textAlign: 'center',\n borderStyle: 'solid',\n borderWidth: 1,\n borderColor: colors.primaryBlack,\n },\n textLumiSpaTreatment: {\n textAlign: 'center',\n fontSize: 14,\n fontWeight: '600',\n lineHeight: 16,\n letterSpacing: 0.05,\n },\n});\nexport default RoutineDetails;\n"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -3,9 +3,8 @@ import React, { useEffect, useState } from 'react';
|
|
|
3
3
|
import { FlatList, Image, SafeAreaView, StyleSheet, Text, TouchableOpacity, View, ActivityIndicator } from 'react-native';
|
|
4
4
|
import { gql, useQuery } from '@apollo/client';
|
|
5
5
|
import { useNavigation } from '@react-navigation/native';
|
|
6
|
-
import { VeraHeader, Logo, HeaderCart, colors, ErrorScreen } from '@ns/mobile-ui';
|
|
7
|
-
import { localization,
|
|
8
|
-
import { useSnapshot } from 'valtio';
|
|
6
|
+
import { VeraHeader, Logo, HeaderCart, HeaderAccount, colors, ErrorScreen } from '@ns/mobile-ui';
|
|
7
|
+
import { localization, useMarketFlagsStore } from '@nuskin/utils-module';
|
|
9
8
|
import RoutineDetails from './RoutineDetails';
|
|
10
9
|
import { Logger } from '@nuskin/mobile-logging';
|
|
11
10
|
import { accessibility } from './helpers/Accessibility';
|
|
@@ -117,9 +116,10 @@ const ListItem = _ref => {
|
|
|
117
116
|
})))));
|
|
118
117
|
};
|
|
119
118
|
const Routines = () => {
|
|
120
|
-
const
|
|
119
|
+
const localeState = localization.useLocalization().locale;
|
|
121
120
|
const [refresh, setRefresh] = useState(false);
|
|
122
121
|
const locale = localization.getLocalization(localization.LocalizationFormat.CONTENT_STACK);
|
|
122
|
+
const hideFeaturesByMarket = useMarketFlagsStore(state => state.flags.hideVeraFeaturesByMarket);
|
|
123
123
|
const {
|
|
124
124
|
loading,
|
|
125
125
|
error,
|
|
@@ -132,7 +132,7 @@ const Routines = () => {
|
|
|
132
132
|
});
|
|
133
133
|
useEffect(() => {
|
|
134
134
|
setRefresh(!refresh);
|
|
135
|
-
}, [
|
|
135
|
+
}, [localeState]);
|
|
136
136
|
const routinesPageData = data ? data.result.items[0] : {};
|
|
137
137
|
if (error || !routinesPageData) {
|
|
138
138
|
var _error$graphQLErrors$, _error$graphQLErrors$2, _error$graphQLErrors$3;
|
|
@@ -158,9 +158,7 @@ const Routines = () => {
|
|
|
158
158
|
left: /*#__PURE__*/React.createElement(Logo, {
|
|
159
159
|
accessibilityLabel: "logo"
|
|
160
160
|
}),
|
|
161
|
-
right: /*#__PURE__*/React.createElement(HeaderCart,
|
|
162
|
-
accessibilityLabel: "crt-btn"
|
|
163
|
-
}),
|
|
161
|
+
right: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeaderAccount, null), !hideFeaturesByMarket && /*#__PURE__*/React.createElement(HeaderCart, null)),
|
|
164
162
|
title: routinesPageData.title
|
|
165
163
|
}, accessibility('routine-activity-indicator'))), /*#__PURE__*/React.createElement(View, {
|
|
166
164
|
style: styles.routinesContainer
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","FlatList","Image","SafeAreaView","StyleSheet","Text","TouchableOpacity","View","ActivityIndicator","gql","useQuery","useNavigation","VeraHeader","Logo","HeaderCart","colors","ErrorScreen","localization","localizationState","useSnapshot","RoutineDetails","Logger","accessibility","createStackNavigator","Stack","FETCH_ROUTINES_PAGE","ListItem","item","index","navigation","handleOnPress","navigate","styles","itemContainer","uri","routine_imageConnection","edges","node","url","itemPhoto","itemTextContainer","itemTitleContainer","itemTextTitle","routine_title","itemTextSteps","steps","length","routine_step_label","listContainer","itemText","products_used_label","products","product_imageConnection","productPhoto","Routines","localizationStore","refresh","setRefresh","locale","getLocalization","LocalizationFormat","CONTENT_STACK","loading","error","data","refetch","variables","routinesPageData","result","items","errorCode","graphQLErrors","extensions","errors","code","container","title","routinesContainer","sortListText","sort_list_label","routines","paddingHorizontal","RoutineStack","unsubscribe","addListener","info","headerShown","create","flex","backgroundColor","white","primaryGray","paddingTop","flexDirection","paddingVertical","sectionHeader","textTransform","fontWeight","fontSize","marginTop","marginBottom","margin","borderRadius","paddingBottom","width","minHeight","height","borderColor","borderWidth","justifyContent","color","primaryBlack","letterSpacing","textAlign","marginRight","paddingRight"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n FlatList,\n Image,\n SafeAreaView,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n ActivityIndicator,\n} from 'react-native';\nimport { gql, useQuery } from '@apollo/client';\nimport { useNavigation } from '@react-navigation/native';\nimport {\n VeraHeader,\n Logo,\n HeaderCart,\n colors,\n ErrorScreen,\n} from '@ns/mobile-ui';\nimport { localization, localizationState } from '@nuskin/utils-module';\nimport { useSnapshot } from 'valtio';\nimport RoutineDetails from './RoutineDetails';\nimport { Logger } from '@nuskin/mobile-logging';\nimport { accessibility } from './helpers/Accessibility';\nimport { createStackNavigator } from '@react-navigation/stack';\n\nconst Stack = createStackNavigator();\nexport const FETCH_ROUTINES_PAGE = gql`\n query fetchAllHomePages($locale: String) {\n result: all_routine(fallback_locale: true, locale: $locale) {\n items {\n products_used_label\n sort_list_label\n title\n routines {\n products {\n product_name\n product_category\n product_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n }\n products_used_label\n routine_title\n routine_subtitle\n routines_description\n routine_step_label\n reference\n routine_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n steps {\n imageConnection {\n edges {\n node {\n url\n }\n }\n }\n step_sub_description\n step_title\n step_description\n style\n image_title\n image_description\n }\n }\n }\n }\n }\n`;\n\nconst ListItem = ({ item, index }) => {\n const navigation = useNavigation();\n const handleOnPress = () => {\n navigation.navigate('RoutineDetails' as never, item as never);\n };\n return (\n <View style={styles.itemContainer}>\n <TouchableOpacity onPress={handleOnPress}>\n <View>\n <Image\n {...accessibility(`list-item-${index}`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n />\n </View>\n <View style={styles.itemTextContainer}>\n <View style={styles.itemTitleContainer}>\n <Text\n {...accessibility(`list-item-title-${index}`)}\n style={styles.itemTextTitle}\n >\n {item.routine_title}\n </Text>\n <Text style={styles.itemTextSteps}>\n {item.steps.length} {item.routine_step_label}\n </Text>\n </View>\n <View style={styles.listContainer}>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n <FlatList\n data={item.products}\n horizontal\n renderItem={({ item, index }) => (\n <Image\n key={index}\n {...accessibility(`list-item-product-${index}`)}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n )}\n showsHorizontalScrollIndicator={false}\n />\n </View>\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n\nconst Routines = () => {\n const localizationStore = useSnapshot(localizationState);\n const [refresh, setRefresh] = useState(false);\n const locale = localization.getLocalization(\n localization.LocalizationFormat.CONTENT_STACK\n );\n\n const { loading, error, data, refetch } = useQuery(FETCH_ROUTINES_PAGE, {\n variables: { locale },\n });\n\n useEffect(() => {\n setRefresh(!refresh);\n }, [localizationStore]);\n\n const routinesPageData = data ? data.result.items[0] : {};\n if (error || !routinesPageData) {\n const errorCode = error?.graphQLErrors[0]?.extensions?.errors[0]?.code;\n\n return (\n <SafeAreaView style={styles.container}>\n <ErrorScreen errorCode={errorCode} refresh={() => refetch()} />\n </SafeAreaView>\n );\n }\n if (loading) {\n return (\n <SafeAreaView\n style={styles.container}\n {...accessibility('routine-container-loading')}\n >\n <ActivityIndicator\n size=\"large\"\n {...accessibility('routine-activity-indicator')}\n />\n </SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<Logo accessibilityLabel=\"logo\" />}\n right={<HeaderCart accessibilityLabel=\"crt-btn\" />}\n title={routinesPageData.title}\n {...accessibility('routine-activity-indicator')}\n />\n <View style={styles.routinesContainer}>\n {routinesPageData && (\n <>\n <Text style={styles.sortListText}>\n {routinesPageData.sort_list_label}\n </Text>\n <FlatList\n data={routinesPageData.routines}\n renderItem={({ item, index }) => (\n <ListItem index={index} item={item} key={index} />\n )}\n showsHorizontalScrollIndicator={false}\n contentContainerStyle={{ paddingHorizontal: 15 }}\n />\n </>\n )}\n </View>\n </SafeAreaView>\n );\n};\n\nfunction RoutineStack() {\n const navigation = useNavigation();\n useEffect(() => {\n const unsubscribe = navigation.addListener('focus', () => {\n Logger.info('User navigated to the RoutineStack page.');\n });\n return unsubscribe;\n }, [navigation]);\n\n return (\n <Stack.Navigator initialRouteName=\"Routines\">\n <Stack.Screen\n name=\"Routines\"\n component={Routines}\n options={{ headerShown: false }}\n />\n <Stack.Screen\n name=\"RoutineDetails\"\n component={RoutineDetails}\n options={{ headerShown: false }}\n />\n </Stack.Navigator>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n paddingTop: 10,\n },\n listContainer: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemContainer: {\n backgroundColor: 'transparent',\n flex: 1,\n marginBottom: 10,\n },\n itemTextContainer: {\n backgroundColor: colors.white,\n paddingTop: 20,\n paddingBottom: 10,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTitleContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n },\n itemTextTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n sortListText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n textAlign: 'right',\n marginRight: 10,\n letterSpacing: 0.5,\n paddingVertical: 10,\n paddingRight: 20,\n },\n});\n\nexport { RoutineStack };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","FlatList","Image","SafeAreaView","StyleSheet","Text","TouchableOpacity","View","ActivityIndicator","gql","useQuery","useNavigation","VeraHeader","Logo","HeaderCart","HeaderAccount","colors","ErrorScreen","localization","useMarketFlagsStore","RoutineDetails","Logger","accessibility","createStackNavigator","Stack","FETCH_ROUTINES_PAGE","ListItem","item","index","navigation","handleOnPress","navigate","styles","itemContainer","uri","routine_imageConnection","edges","node","url","itemPhoto","itemTextContainer","itemTitleContainer","itemTextTitle","routine_title","itemTextSteps","steps","length","routine_step_label","listContainer","itemText","products_used_label","products","product_imageConnection","productPhoto","Routines","localeState","useLocalization","locale","refresh","setRefresh","getLocalization","LocalizationFormat","CONTENT_STACK","hideFeaturesByMarket","state","flags","hideVeraFeaturesByMarket","loading","error","data","refetch","variables","routinesPageData","result","items","errorCode","graphQLErrors","extensions","errors","code","container","title","routinesContainer","sortListText","sort_list_label","routines","paddingHorizontal","RoutineStack","unsubscribe","addListener","info","headerShown","create","flex","backgroundColor","white","primaryGray","paddingTop","flexDirection","paddingVertical","sectionHeader","textTransform","fontWeight","fontSize","marginTop","marginBottom","margin","borderRadius","paddingBottom","width","minHeight","height","borderColor","borderWidth","justifyContent","color","primaryBlack","letterSpacing","textAlign","marginRight","paddingRight"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n FlatList,\n Image,\n SafeAreaView,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n ActivityIndicator,\n} from 'react-native';\nimport { gql, useQuery } from '@apollo/client';\nimport { useNavigation } from '@react-navigation/native';\nimport {\n VeraHeader,\n Logo,\n HeaderCart,\n HeaderAccount,\n colors,\n ErrorScreen,\n} from '@ns/mobile-ui';\nimport { localization, useMarketFlagsStore } from '@nuskin/utils-module';\nimport RoutineDetails from './RoutineDetails';\nimport { Logger } from '@nuskin/mobile-logging';\nimport { accessibility } from './helpers/Accessibility';\nimport { createStackNavigator } from '@react-navigation/stack';\n\nconst Stack = createStackNavigator();\nexport const FETCH_ROUTINES_PAGE = gql`\n query fetchAllHomePages($locale: String) {\n result: all_routine(fallback_locale: true, locale: $locale) {\n items {\n products_used_label\n sort_list_label\n title\n routines {\n products {\n product_name\n product_category\n product_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n }\n products_used_label\n routine_title\n routine_subtitle\n routines_description\n routine_step_label\n reference\n routine_imageConnection {\n edges {\n node {\n url\n }\n }\n }\n steps {\n imageConnection {\n edges {\n node {\n url\n }\n }\n }\n step_sub_description\n step_title\n step_description\n style\n image_title\n image_description\n }\n }\n }\n }\n }\n`;\n\nconst ListItem = ({ item, index }) => {\n const navigation = useNavigation();\n const handleOnPress = () => {\n navigation.navigate('RoutineDetails' as never, item as never);\n };\n return (\n <View style={styles.itemContainer}>\n <TouchableOpacity onPress={handleOnPress}>\n <View>\n <Image\n {...accessibility(`list-item-${index}`)}\n source={{\n uri: item.routine_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.itemPhoto}\n />\n </View>\n <View style={styles.itemTextContainer}>\n <View style={styles.itemTitleContainer}>\n <Text\n {...accessibility(`list-item-title-${index}`)}\n style={styles.itemTextTitle}\n >\n {item.routine_title}\n </Text>\n <Text style={styles.itemTextSteps}>\n {item.steps.length} {item.routine_step_label}\n </Text>\n </View>\n <View style={styles.listContainer}>\n <Text style={styles.itemText}>{item.products_used_label}</Text>\n <FlatList\n data={item.products}\n horizontal\n renderItem={({ item, index }) => (\n <Image\n key={index}\n {...accessibility(`list-item-product-${index}`)}\n source={{\n uri: item.product_imageConnection?.edges[0]?.node?.url,\n }}\n style={styles.productPhoto}\n resizeMode=\"contain\"\n />\n )}\n showsHorizontalScrollIndicator={false}\n />\n </View>\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n\nconst Routines = () => {\n const localeState = localization.useLocalization().locale;\n const [refresh, setRefresh] = useState(false);\n const locale = localization.getLocalization(\n localization.LocalizationFormat.CONTENT_STACK\n );\n const hideFeaturesByMarket = useMarketFlagsStore(\n (state) => state.flags.hideVeraFeaturesByMarket\n );\n\n const { loading, error, data, refetch } = useQuery(FETCH_ROUTINES_PAGE, {\n variables: { locale },\n });\n\n useEffect(() => {\n setRefresh(!refresh);\n }, [localeState]);\n\n const routinesPageData = data ? data.result.items[0] : {};\n if (error || !routinesPageData) {\n const errorCode = error?.graphQLErrors[0]?.extensions?.errors[0]?.code;\n\n return (\n <SafeAreaView style={styles.container}>\n <ErrorScreen errorCode={errorCode} refresh={() => refetch()} />\n </SafeAreaView>\n );\n }\n if (loading) {\n return (\n <SafeAreaView\n style={styles.container}\n {...accessibility('routine-container-loading')}\n >\n <ActivityIndicator\n size=\"large\"\n {...accessibility('routine-activity-indicator')}\n />\n </SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={styles.container} testID=\"routineStack\">\n <VeraHeader\n left={<Logo accessibilityLabel=\"logo\" />}\n right={\n <>\n <HeaderAccount />\n {!hideFeaturesByMarket && <HeaderCart />}\n </>\n }\n title={routinesPageData.title}\n {...accessibility('routine-activity-indicator')}\n />\n <View style={styles.routinesContainer}>\n {routinesPageData && (\n <>\n <Text style={styles.sortListText}>\n {routinesPageData.sort_list_label}\n </Text>\n <FlatList\n data={routinesPageData.routines}\n renderItem={({ item, index }) => (\n <ListItem index={index} item={item} key={index} />\n )}\n showsHorizontalScrollIndicator={false}\n contentContainerStyle={{ paddingHorizontal: 15 }}\n />\n </>\n )}\n </View>\n </SafeAreaView>\n );\n};\n\nfunction RoutineStack() {\n const navigation = useNavigation();\n useEffect(() => {\n const unsubscribe = navigation.addListener('focus', () => {\n Logger.info('User navigated to the RoutineStack page.');\n });\n return unsubscribe;\n }, [navigation]);\n\n return (\n <Stack.Navigator initialRouteName=\"Routines\">\n <Stack.Screen\n name=\"Routines\"\n component={Routines}\n options={{ headerShown: false }}\n />\n <Stack.Screen\n name=\"RoutineDetails\"\n component={RoutineDetails}\n options={{ headerShown: false }}\n />\n </Stack.Navigator>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.white,\n },\n routinesContainer: {\n backgroundColor: colors.primaryGray,\n flex: 1,\n paddingTop: 10,\n },\n listContainer: {\n flexDirection: 'column',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n sectionHeader: {\n textTransform: 'uppercase',\n fontWeight: '600',\n fontSize: 14,\n marginTop: 20,\n paddingHorizontal: 15,\n marginBottom: 5,\n },\n item: {\n margin: 10,\n borderRadius: 14,\n },\n itemContainer: {\n backgroundColor: 'transparent',\n flex: 1,\n marginBottom: 10,\n },\n itemTextContainer: {\n backgroundColor: colors.white,\n paddingTop: 20,\n paddingBottom: 10,\n },\n itemPhoto: {\n width: '100%',\n minHeight: 160,\n },\n productPhoto: {\n margin: 2,\n width: 40,\n height: 40,\n borderRadius: 50,\n borderColor: '#EDEDED',\n borderWidth: 1,\n },\n itemTitleContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingHorizontal: 15,\n },\n itemTextTitle: {\n color: colors.primaryBlack,\n fontWeight: '600',\n fontSize: 18,\n },\n itemText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n fontSize: 12,\n letterSpacing: 0.05,\n paddingBottom: 5,\n textTransform: 'uppercase',\n },\n itemTextSteps: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n sortListText: {\n color: colors.primaryBlack,\n fontWeight: 'bold',\n textTransform: 'uppercase',\n textAlign: 'right',\n marginRight: 10,\n letterSpacing: 0.5,\n paddingVertical: 10,\n paddingRight: 20,\n },\n});\n\nexport { RoutineStack };\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SACEC,QAAQ,EACRC,KAAK,EACLC,YAAY,EACZC,UAAU,EACVC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,EACJC,iBAAiB,QACZ,cAAc;AACrB,SAASC,GAAG,EAAEC,QAAQ,QAAQ,gBAAgB;AAC9C,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SACEC,UAAU,EACVC,IAAI,EACJC,UAAU,EACVC,aAAa,EACbC,MAAM,EACNC,WAAW,QACN,eAAe;AACtB,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,sBAAsB;AACxE,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,oBAAoB,QAAQ,yBAAyB;AAE9D,MAAMC,KAAK,GAAGD,oBAAoB,EAAE;AACpC,OAAO,MAAME,mBAAmB,GAAGhB,GAAI;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMiB,QAAQ,GAAG,QAAqB;EAAA;EAAA,IAApB;IAAEC,IAAI;IAAEC;EAAM,CAAC;EAC/B,MAAMC,UAAU,GAAGlB,aAAa,EAAE;EAClC,MAAMmB,aAAa,GAAG,MAAM;IAC1BD,UAAU,CAACE,QAAQ,CAAC,gBAAgB,EAAWJ,IAAI,CAAU;EAC/D,CAAC;EACD,oBACE,oBAAC,IAAI;IAAC,KAAK,EAAEK,MAAM,CAACC;EAAc,gBAChC,oBAAC,gBAAgB;IAAC,OAAO,EAAEH;EAAc,gBACvC,oBAAC,IAAI,qBACH,oBAAC,KAAK,eACAR,aAAa,CAAE,aAAYM,KAAM,EAAC,CAAC;IACvC,MAAM,EAAE;MACNM,GAAG,2BAAEP,IAAI,CAACQ,uBAAuB,oFAA5B,sBAA8BC,KAAK,CAAC,CAAC,CAAC,qFAAtC,uBAAwCC,IAAI,2DAA5C,uBAA8CC;IACrD,CAAE;IACF,KAAK,EAAEN,MAAM,CAACO;EAAU,GACxB,CACG,eACP,oBAAC,IAAI;IAAC,KAAK,EAAEP,MAAM,CAACQ;EAAkB,gBACpC,oBAAC,IAAI;IAAC,KAAK,EAAER,MAAM,CAACS;EAAmB,gBACrC,oBAAC,IAAI,eACCnB,aAAa,CAAE,mBAAkBM,KAAM,EAAC,CAAC;IAC7C,KAAK,EAAEI,MAAM,CAACU;EAAc,IAE3Bf,IAAI,CAACgB,aAAa,CACd,eACP,oBAAC,IAAI;IAAC,KAAK,EAAEX,MAAM,CAACY;EAAc,GAC/BjB,IAAI,CAACkB,KAAK,CAACC,MAAM,EAAC,GAAC,EAACnB,IAAI,CAACoB,kBAAkB,CACvC,CACF,eACP,oBAAC,IAAI;IAAC,KAAK,EAAEf,MAAM,CAACgB;EAAc,gBAChC,oBAAC,IAAI;IAAC,KAAK,EAAEhB,MAAM,CAACiB;EAAS,GAAEtB,IAAI,CAACuB,mBAAmB,CAAQ,eAC/D,oBAAC,QAAQ;IACP,IAAI,EAAEvB,IAAI,CAACwB,QAAS;IACpB,UAAU;IACV,UAAU,EAAE;MAAA;MAAA,IAAC;QAAExB,IAAI;QAAEC;MAAM,CAAC;MAAA,oBAC1B,oBAAC,KAAK;QACJ,GAAG,EAAEA;MAAM,GACPN,aAAa,CAAE,qBAAoBM,KAAM,EAAC,CAAC;QAC/C,MAAM,EAAE;UACNM,GAAG,2BAAEP,IAAI,CAACyB,uBAAuB,oFAA5B,sBAA8BhB,KAAK,CAAC,CAAC,CAAC,qFAAtC,uBAAwCC,IAAI,2DAA5C,uBAA8CC;QACrD,CAAE;QACF,KAAK,EAAEN,MAAM,CAACqB,YAAa;QAC3B,UAAU,EAAC;MAAS,GACpB;IAAA,CACF;IACF,8BAA8B,EAAE;EAAM,EACtC,CACG,CACF,CACU,CACd;AAEX,CAAC;AAED,MAAMC,QAAQ,GAAG,MAAM;EACrB,MAAMC,WAAW,GAAGrC,YAAY,CAACsC,eAAe,EAAE,CAACC,MAAM;EACzD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG3D,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMyD,MAAM,GAAGvC,YAAY,CAAC0C,eAAe,CACzC1C,YAAY,CAAC2C,kBAAkB,CAACC,aAAa,CAC9C;EACD,MAAMC,oBAAoB,GAAG5C,mBAAmB,CAC7C6C,KAAK,IAAKA,KAAK,CAACC,KAAK,CAACC,wBAAwB,CAChD;EAED,MAAM;IAAEC,OAAO;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAQ,CAAC,GAAG5D,QAAQ,CAACe,mBAAmB,EAAE;IACtE8C,SAAS,EAAE;MAAEd;IAAO;EACtB,CAAC,CAAC;EAEF1D,SAAS,CAAC,MAAM;IACd4D,UAAU,CAAC,CAACD,OAAO,CAAC;EACtB,CAAC,EAAE,CAACH,WAAW,CAAC,CAAC;EAEjB,MAAMiB,gBAAgB,GAAGH,IAAI,GAAGA,IAAI,CAACI,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EACzD,IAAIN,KAAK,IAAI,CAACI,gBAAgB,EAAE;IAAA;IAC9B,MAAMG,SAAS,GAAGP,KAAK,aAALA,KAAK,gDAALA,KAAK,CAAEQ,aAAa,CAAC,CAAC,CAAC,oFAAvB,sBAAyBC,UAAU,qFAAnC,uBAAqCC,MAAM,CAAC,CAAC,CAAC,2DAA9C,uBAAgDC,IAAI;IAEtE,oBACE,oBAAC,YAAY;MAAC,KAAK,EAAE/C,MAAM,CAACgD;IAAU,gBACpC,oBAAC,WAAW;MAAC,SAAS,EAAEL,SAAU;MAAC,OAAO,EAAE,MAAML,OAAO;IAAG,EAAG,CAClD;EAEnB;EACA,IAAIH,OAAO,EAAE;IACX,oBACE,oBAAC,YAAY;MACX,KAAK,EAAEnC,MAAM,CAACgD;IAAU,GACpB1D,aAAa,CAAC,2BAA2B,CAAC,gBAE9C,oBAAC,iBAAiB;MAChB,IAAI,EAAC;IAAO,GACRA,aAAa,CAAC,4BAA4B,CAAC,EAC/C,CACW;EAEnB;EAEA,oBACE,oBAAC,YAAY;IAAC,KAAK,EAAEU,MAAM,CAACgD,SAAU;IAAC,MAAM,EAAC;EAAc,gBAC1D,oBAAC,UAAU;IACT,IAAI,eAAE,oBAAC,IAAI;MAAC,kBAAkB,EAAC;IAAM,EAAI;IACzC,KAAK,eACH,uDACE,oBAAC,aAAa,OAAG,EAChB,CAACjB,oBAAoB,iBAAI,oBAAC,UAAU,OAAG,CAE3C;IACD,KAAK,EAAES,gBAAgB,CAACS;EAAM,GAC1B3D,aAAa,CAAC,4BAA4B,CAAC,EAC/C,eACF,oBAAC,IAAI;IAAC,KAAK,EAAEU,MAAM,CAACkD;EAAkB,GACnCV,gBAAgB,iBACf,uDACE,oBAAC,IAAI;IAAC,KAAK,EAAExC,MAAM,CAACmD;EAAa,GAC9BX,gBAAgB,CAACY,eAAe,CAC5B,eACP,oBAAC,QAAQ;IACP,IAAI,EAAEZ,gBAAgB,CAACa,QAAS;IAChC,UAAU,EAAE;MAAA,IAAC;QAAE1D,IAAI;QAAEC;MAAM,CAAC;MAAA,oBAC1B,oBAAC,QAAQ;QAAC,KAAK,EAAEA,KAAM;QAAC,IAAI,EAAED,IAAK;QAAC,GAAG,EAAEC;MAAM,EAAG;IAAA,CAClD;IACF,8BAA8B,EAAE,KAAM;IACtC,qBAAqB,EAAE;MAAE0D,iBAAiB,EAAE;IAAG;EAAE,EACjD,CAEL,CACI,CACM;AAEnB,CAAC;AAED,SAASC,YAAY,GAAG;EACtB,MAAM1D,UAAU,GAAGlB,aAAa,EAAE;EAClCZ,SAAS,CAAC,MAAM;IACd,MAAMyF,WAAW,GAAG3D,UAAU,CAAC4D,WAAW,CAAC,OAAO,EAAE,MAAM;MACxDpE,MAAM,CAACqE,IAAI,CAAC,0CAA0C,CAAC;IACzD,CAAC,CAAC;IACF,OAAOF,WAAW;EACpB,CAAC,EAAE,CAAC3D,UAAU,CAAC,CAAC;EAEhB,oBACE,oBAAC,KAAK,CAAC,SAAS;IAAC,gBAAgB,EAAC;EAAU,gBAC1C,oBAAC,KAAK,CAAC,MAAM;IACX,IAAI,EAAC,UAAU;IACf,SAAS,EAAEyB,QAAS;IACpB,OAAO,EAAE;MAAEqC,WAAW,EAAE;IAAM;EAAE,EAChC,eACF,oBAAC,KAAK,CAAC,MAAM;IACX,IAAI,EAAC,gBAAgB;IACrB,SAAS,EAAEvE,cAAe;IAC1B,OAAO,EAAE;MAAEuE,WAAW,EAAE;IAAM;EAAE,EAChC,CACc;AAEtB;AAEA,MAAM3D,MAAM,GAAG5B,UAAU,CAACwF,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE9E,MAAM,CAAC+E;EAC1B,CAAC;EACDb,iBAAiB,EAAE;IACjBY,eAAe,EAAE9E,MAAM,CAACgF,WAAW;IACnCH,IAAI,EAAE,CAAC;IACPI,UAAU,EAAE;EACd,CAAC;EACDjD,aAAa,EAAE;IACbkD,aAAa,EAAE,QAAQ;IACvBZ,iBAAiB,EAAE,EAAE;IACrBa,eAAe,EAAE;EACnB,CAAC;EACDC,aAAa,EAAE;IACbC,aAAa,EAAE,WAAW;IAC1BC,UAAU,EAAE,KAAK;IACjBC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,EAAE;IACblB,iBAAiB,EAAE,EAAE;IACrBmB,YAAY,EAAE;EAChB,CAAC;EACD9E,IAAI,EAAE;IACJ+E,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE;EAChB,CAAC;EACD1E,aAAa,EAAE;IACb6D,eAAe,EAAE,aAAa;IAC9BD,IAAI,EAAE,CAAC;IACPY,YAAY,EAAE;EAChB,CAAC;EACDjE,iBAAiB,EAAE;IACjBsD,eAAe,EAAE9E,MAAM,CAAC+E,KAAK;IAC7BE,UAAU,EAAE,EAAE;IACdW,aAAa,EAAE;EACjB,CAAC;EACDrE,SAAS,EAAE;IACTsE,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACb,CAAC;EACDzD,YAAY,EAAE;IACZqD,MAAM,EAAE,CAAC;IACTG,KAAK,EAAE,EAAE;IACTE,MAAM,EAAE,EAAE;IACVJ,YAAY,EAAE,EAAE;IAChBK,WAAW,EAAE,SAAS;IACtBC,WAAW,EAAE;EACf,CAAC;EACDxE,kBAAkB,EAAE;IAClByD,aAAa,EAAE,KAAK;IACpBgB,cAAc,EAAE,eAAe;IAC/B5B,iBAAiB,EAAE;EACrB,CAAC;EACD5C,aAAa,EAAE;IACbyE,KAAK,EAAEnG,MAAM,CAACoG,YAAY;IAC1Bd,UAAU,EAAE,KAAK;IACjBC,QAAQ,EAAE;EACZ,CAAC;EACDtD,QAAQ,EAAE;IACRkE,KAAK,EAAEnG,MAAM,CAACoG,YAAY;IAC1Bd,UAAU,EAAE,MAAM;IAClBC,QAAQ,EAAE,EAAE;IACZc,aAAa,EAAE,IAAI;IACnBT,aAAa,EAAE,CAAC;IAChBP,aAAa,EAAE;EACjB,CAAC;EACDzD,aAAa,EAAE;IACbuE,KAAK,EAAEnG,MAAM,CAACoG,YAAY;IAC1Bd,UAAU,EAAE,MAAM;IAClBD,aAAa,EAAE;EACjB,CAAC;EACDlB,YAAY,EAAE;IACZgC,KAAK,EAAEnG,MAAM,CAACoG,YAAY;IAC1Bd,UAAU,EAAE,MAAM;IAClBD,aAAa,EAAE,WAAW;IAC1BiB,SAAS,EAAE,OAAO;IAClBC,WAAW,EAAE,EAAE;IACfF,aAAa,EAAE,GAAG;IAClBlB,eAAe,EAAE,EAAE;IACnBqB,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,SAASjC,YAAY"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuskin/routine-feature",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://code.tls.nuskin.io/ns-am/mobile/applications/luna-and-sol/shared2.git",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@apollo/client": "^3.7.4",
|
|
37
37
|
"@react-navigation/stack": "^6.2.2",
|
|
38
|
-
"@ns/mobile-ui": "^1.3.
|
|
39
|
-
"@nuskin/utils-module": "^
|
|
38
|
+
"@ns/mobile-ui": "^1.3.42",
|
|
39
|
+
"@nuskin/utils-module": "^3.0.0",
|
|
40
40
|
"react-native-linear-gradient": "^2.5.6",
|
|
41
41
|
"@nuskin/mobile-logging": "^1.0.3"
|
|
42
42
|
},
|
|
@@ -139,10 +139,10 @@
|
|
|
139
139
|
]
|
|
140
140
|
]
|
|
141
141
|
},
|
|
142
|
-
"commithash": "
|
|
142
|
+
"commithash": "d107e502743ba4fd91dccdebfe6d4082a957be37",
|
|
143
143
|
"author": {
|
|
144
|
-
"name": "
|
|
145
|
-
"email": "
|
|
146
|
-
"url": "https://code.tls.nuskin.io/
|
|
144
|
+
"name": "Andres Caycho Tiznado",
|
|
145
|
+
"email": "acaycho@nuskin.onmicrosoft.com",
|
|
146
|
+
"url": "https://code.tls.nuskin.io/acaycho1"
|
|
147
147
|
}
|
|
148
148
|
}
|
package/src/RoutineDetails.tsx
CHANGED
|
@@ -9,17 +9,32 @@ import {
|
|
|
9
9
|
ImageBackground,
|
|
10
10
|
Pressable,
|
|
11
11
|
} from 'react-native';
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
VeraHeader,
|
|
14
|
+
BackArrow,
|
|
15
|
+
HeaderCart,
|
|
16
|
+
HeaderAccount,
|
|
17
|
+
colors,
|
|
18
|
+
} from '@ns/mobile-ui';
|
|
13
19
|
import LinearGradient from 'react-native-linear-gradient';
|
|
14
20
|
import { accessibility } from './helpers/Accessibility';
|
|
21
|
+
import { useMarketFlagsStore } from '@nuskin/utils-module';
|
|
15
22
|
|
|
16
23
|
function RoutineDetails(props) {
|
|
17
24
|
const item = props.route?.params;
|
|
25
|
+
const hideFeaturesByMarket = useMarketFlagsStore(
|
|
26
|
+
(state) => state.flags.hideVeraFeaturesByMarket
|
|
27
|
+
);
|
|
18
28
|
return (
|
|
19
29
|
<SafeAreaView style={styles.container} testID="routineStack">
|
|
20
30
|
<VeraHeader
|
|
21
|
-
left={<
|
|
22
|
-
right={
|
|
31
|
+
left={<BackArrow />}
|
|
32
|
+
right={
|
|
33
|
+
<>
|
|
34
|
+
<HeaderAccount />
|
|
35
|
+
{!hideFeaturesByMarket && <HeaderCart />}
|
|
36
|
+
</>
|
|
37
|
+
}
|
|
23
38
|
title={item.reference}
|
|
24
39
|
{...accessibility(`vera-header`)}
|
|
25
40
|
/>
|
package/src/index.tsx
CHANGED
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
VeraHeader,
|
|
16
16
|
Logo,
|
|
17
17
|
HeaderCart,
|
|
18
|
+
HeaderAccount,
|
|
18
19
|
colors,
|
|
19
20
|
ErrorScreen,
|
|
20
21
|
} from '@ns/mobile-ui';
|
|
21
|
-
import { localization,
|
|
22
|
-
import { useSnapshot } from 'valtio';
|
|
22
|
+
import { localization, useMarketFlagsStore } from '@nuskin/utils-module';
|
|
23
23
|
import RoutineDetails from './RoutineDetails';
|
|
24
24
|
import { Logger } from '@nuskin/mobile-logging';
|
|
25
25
|
import { accessibility } from './helpers/Accessibility';
|
|
@@ -134,11 +134,14 @@ const ListItem = ({ item, index }) => {
|
|
|
134
134
|
};
|
|
135
135
|
|
|
136
136
|
const Routines = () => {
|
|
137
|
-
const
|
|
137
|
+
const localeState = localization.useLocalization().locale;
|
|
138
138
|
const [refresh, setRefresh] = useState(false);
|
|
139
139
|
const locale = localization.getLocalization(
|
|
140
140
|
localization.LocalizationFormat.CONTENT_STACK
|
|
141
141
|
);
|
|
142
|
+
const hideFeaturesByMarket = useMarketFlagsStore(
|
|
143
|
+
(state) => state.flags.hideVeraFeaturesByMarket
|
|
144
|
+
);
|
|
142
145
|
|
|
143
146
|
const { loading, error, data, refetch } = useQuery(FETCH_ROUTINES_PAGE, {
|
|
144
147
|
variables: { locale },
|
|
@@ -146,7 +149,7 @@ const Routines = () => {
|
|
|
146
149
|
|
|
147
150
|
useEffect(() => {
|
|
148
151
|
setRefresh(!refresh);
|
|
149
|
-
}, [
|
|
152
|
+
}, [localeState]);
|
|
150
153
|
|
|
151
154
|
const routinesPageData = data ? data.result.items[0] : {};
|
|
152
155
|
if (error || !routinesPageData) {
|
|
@@ -176,7 +179,12 @@ const Routines = () => {
|
|
|
176
179
|
<SafeAreaView style={styles.container} testID="routineStack">
|
|
177
180
|
<VeraHeader
|
|
178
181
|
left={<Logo accessibilityLabel="logo" />}
|
|
179
|
-
right={
|
|
182
|
+
right={
|
|
183
|
+
<>
|
|
184
|
+
<HeaderAccount />
|
|
185
|
+
{!hideFeaturesByMarket && <HeaderCart />}
|
|
186
|
+
</>
|
|
187
|
+
}
|
|
180
188
|
title={routinesPageData.title}
|
|
181
189
|
{...accessibility('routine-activity-indicator')}
|
|
182
190
|
/>
|