@momo-kits/template 0.89.1-beta.5 → 0.89.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,19 @@
1
1
  import React, {FC, useContext, useEffect, useState} from 'react';
2
- import {NativeModules, TouchableOpacity, View} from 'react-native';
2
+ import {TouchableOpacity, View} from 'react-native';
3
3
  import {TrustBannerCallbackParams, TrustBannerProps} from './types';
4
4
  import styles from './styles';
5
5
  import {ApplicationContext, Colors, Image, Text} from '@momo-kits/foundation';
6
6
  import CustomAvatar from './CustomAvatar';
7
- import MaxApi from '@momo-platform/api';
7
+
8
+ const dataJsonUrl =
9
+ 'https://static.momocdn.net/app/json/component-kits/design_system.json';
10
+
11
+ const defaultIcons = [
12
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_viettinbank.png',
13
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_agribank.png',
14
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_vietcombank.png',
15
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_bidv.png',
16
+ ];
8
17
 
9
18
  const defaultData = {
10
19
  content: {
@@ -13,26 +22,31 @@ const defaultData = {
13
22
  },
14
23
  pciImage: 'https://static.momocdn.net/app/img/kits/trustBanner/pci.png',
15
24
  sslImage: 'https://static.momocdn.net/app/img/kits/trustBanner/ssl.png',
25
+ url_config: 'https://momo.vn/an-toan-bao-mat',
26
+ feature_code: 'login_and_security',
27
+ icons: defaultIcons,
16
28
  momoImage:
17
29
  'https://static.momocdn.net/app/img/kits/trustBanner/ic_momo_secu.png',
18
- urlConfig: 'login_and_security',
19
- icons: [
20
- 'https://static.momocdn.net/app/img/kits/trustBanner/ic_viettinbank.png',
21
- 'https://static.momocdn.net/app/img/kits/trustBanner/ic_agribank.png',
22
- 'https://static.momocdn.net/app/img/kits/trustBanner/ic_vietcombank.png',
23
- 'https://static.momocdn.net/app/img/kits/trustBanner/ic_bidv.png',
24
- ],
25
30
  };
26
31
 
27
32
  const TrustBanner: FC<TrustBannerProps> = ({
28
33
  style,
29
34
  screenName = '',
30
35
  serviceName = '',
36
+ onPress,
31
37
  trackEvent,
32
38
  }) => {
33
39
  const {theme, language} = useContext(ApplicationContext);
34
40
  const [data, setData] = useState(defaultData);
35
- const {icons, sslImage, pciImage, momoImage, urlConfig, content} = data;
41
+ const {
42
+ icons,
43
+ sslImage,
44
+ pciImage,
45
+ momoImage,
46
+ url_config,
47
+ content,
48
+ feature_code,
49
+ } = data;
36
50
  const trackingParams: TrustBannerCallbackParams = {
37
51
  screen_name: screenName,
38
52
  service_name: serviceName,
@@ -44,25 +58,21 @@ const TrustBanner: FC<TrustBannerProps> = ({
44
58
  fetchJson();
45
59
  }, []);
46
60
 
47
- const fetchJson = () => {
48
- try {
49
- const config = JSON.parse(
50
- NativeModules?.ConfigsModule?.getConfigSync?.('DESIGN_SYSTEM'),
51
- );
52
- const dataJSon = config?.trustBanner;
61
+ const fetchJson = async () => {
62
+ const res = await fetch(dataJsonUrl);
63
+ const dataJSon = await res.json();
53
64
 
54
- if (dataJSon && dataJSon?.trustBanner) {
55
- setData({
56
- icons: dataJSon.trustBanner.icons || defaultData.icons,
57
- sslImage: dataJSon.trustBanner.sslImage || defaultData.sslImage,
58
- pciImage: dataJSon.trustBanner.pciImage || defaultData.pciImage,
59
- momoImage: dataJSon.trustBanner.momoImage || defaultData.momoImage,
60
- content: dataJSon.trustBanner.content || defaultData.content,
61
- urlConfig: dataJSon.trustBanner.urlConfig || defaultData.urlConfig,
62
- });
63
- }
64
- } catch (e) {
65
- console.log(e);
65
+ if (dataJSon && dataJSon?.trustBanner) {
66
+ setData({
67
+ icons: dataJSon.trustBanner.icons || defaultData.icons,
68
+ sslImage: dataJSon.trustBanner.sslImage || defaultData.sslImage,
69
+ pciImage: dataJSon.trustBanner.pciImage || defaultData.pciImage,
70
+ momoImage: dataJSon.trustBanner.momoImage || defaultData.momoImage,
71
+ content: dataJSon.trustBanner.content || defaultData.content,
72
+ url_config: dataJSon.trustBanner.url_config || defaultData.url_config,
73
+ feature_code:
74
+ dataJSon.trustBanner.feature_code || defaultData.feature_code,
75
+ });
66
76
  }
67
77
  };
68
78
 
@@ -107,18 +117,14 @@ const TrustBanner: FC<TrustBannerProps> = ({
107
117
  };
108
118
 
109
119
  const _onPress = () => {
110
- trackEvent?.('service_component_clicked', {...trackingParams, urlConfig});
111
- if (urlConfig.indexOf('https') > -1) {
112
- MaxApi.openWeb(urlConfig, {}, () => {});
113
- } else {
114
- MaxApi.startFeatureCode(urlConfig, {}, () => {});
115
- }
120
+ trackEvent?.('service_component_clicked', {...trackingParams, url_config});
121
+ onPress?.({...trackingParams, url_config, feature_code});
116
122
  };
117
123
 
118
124
  return (
119
125
  <TouchableOpacity
120
126
  onPress={_onPress}
121
- activeOpacity={0.7}
127
+ activeOpacity={onPress ? 0.7 : 1}
122
128
  style={[style, styles.container]}>
123
129
  <Image
124
130
  style={styles.momoImage}
@@ -131,7 +137,7 @@ const TrustBanner: FC<TrustBannerProps> = ({
131
137
  <Text
132
138
  style={styles.message}
133
139
  color={theme.colors.text.secondary}
134
- typography={'description_s'}>
140
+ typography={'description_default_regular'}>
135
141
  {content?.[language || 'vi'] || defaultData.content.vi}
136
142
  </Text>
137
143
  {renderFooter()}
@@ -4,7 +4,8 @@ export type TrustBannerCallbackParams = {
4
4
  service_name: string;
5
5
  screen_name: string;
6
6
  component_name: string;
7
- urlConfig?: string;
7
+ url_config?: string;
8
+ feature_code?: string;
8
9
  };
9
10
 
10
11
  export type TrustBannerProps = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momo-kits/template",
3
- "version": "0.89.1-beta.5",
3
+ "version": "0.89.1-rc.1",
4
4
  "private": false,
5
5
  "main": "index.tsx",
6
6
  "dependencies": {},
@@ -9,8 +9,7 @@
9
9
  "@momo-kits/carousel": "*",
10
10
  "prop-types": "^15.7.2",
11
11
  "react": "16.9.0",
12
- "react-native": ">=0.55",
13
- "@momo-platform/api": "0.1.67-rc.3"
12
+ "react-native": ">=0.55"
14
13
  },
15
14
  "license": "MoMo"
16
15
  }