@eohjsc/react-native-smart-city 0.7.3-rc2 → 0.7.3-rc20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/package.json +17 -15
  2. package/src/commons/Action/__test__/ItemQuickAction.test.js +6 -6
  3. package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +3 -3
  4. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/ButtonWrapper.js +3 -3
  5. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/index.test.js +5 -5
  6. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/index.js +3 -3
  7. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/ButtonWrapper.js +2 -2
  8. package/src/commons/ActionGroup/OnOffTemplate/OnOffSimpleTemplate.js +2 -2
  9. package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +2 -2
  10. package/src/commons/ActionGroup/SliderRangeTemplate.js +7 -7
  11. package/src/commons/ActionGroup/SmartTiviActionTemplate/SmartTiviActionTemplate.js +2 -2
  12. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/CircleButton.js +5 -5
  13. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/ControlPlay.js +5 -5
  14. package/src/commons/ActionGroup/TerminalBoxTemplate.js +2 -2
  15. package/src/commons/ActionGroup/TextBoxTemplate.js +2 -2
  16. package/src/commons/ActionGroup/ThreeButtonTemplate/__test__/ThreeButtonCircle.test.js +2 -2
  17. package/src/commons/ActionGroup/ThreeButtonTemplate/__test__/ThreeButtonDefault.test.js +2 -2
  18. package/src/commons/ActionGroup/TimerActionTemplate.js +6 -3
  19. package/src/commons/ActionGroup/TwoButtonTemplate/index.js +2 -2
  20. package/src/commons/ActionGroup/__test__/ColorPickerTemplate.test.js +9 -10
  21. package/src/commons/ActionGroup/__test__/OnOffSmartLock.test.js +5 -5
  22. package/src/commons/ActionGroup/__test__/OnOffTemplate.test.js +5 -5
  23. package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +8 -8
  24. package/src/commons/ActionGroup/__test__/StatesGridActionTemplate.test.js +3 -3
  25. package/src/commons/ActionGroup/__test__/TimerActionTemplate.test.js +6 -6
  26. package/src/commons/ActionGroup/__test__/TwoButtonTemplate.test.js +1 -1
  27. package/src/commons/ActionGroup/__test__/index.test.js +6 -6
  28. package/src/commons/ActionTemplate/__test__/index.test.js +4 -4
  29. package/src/commons/Automate/ItemAutomate.js +8 -7
  30. package/src/commons/Automate/__test__/ItemAutomate.test.js +2 -2
  31. package/src/commons/BackDefault/index.js +2 -2
  32. package/src/commons/ButtonPopup/index.js +2 -2
  33. package/src/commons/ChartAggregationOption/__test__/FourButtonFilterHistory.test.js +2 -2
  34. package/src/commons/Dashboard/MyPinnedSharedUnit/__test__/MyPinnedSharedUnit.test.js +8 -9
  35. package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +7 -7
  36. package/src/commons/DateTimeRangeChange/DateTimeButton.js +3 -3
  37. package/src/commons/Device/ConnectedViewHeader.js +2 -2
  38. package/src/commons/Device/Emergency/EmergencyDetail.js +3 -3
  39. package/src/commons/Device/Emergency/__test__/EmergencyButton.test.js +1 -1
  40. package/src/commons/Device/FlatListItems.js +20 -19
  41. package/src/commons/Device/Hanet/ItemHanetDevice.js +3 -3
  42. package/src/commons/Device/Hanet/ItemHanetDevice.test.js +3 -3
  43. package/src/commons/Device/HorizontalBarChart.js +54 -34
  44. package/src/commons/Device/ItemAddNew/index.js +2 -2
  45. package/src/commons/Device/ItemDevice.js +2 -2
  46. package/src/commons/Device/SonosSpeaker/index.js +3 -3
  47. package/src/commons/Device/WaterPurifierStatus/AlertStatusMachine.js +2 -2
  48. package/src/commons/Device/WaterQualitySensor/QualityIndicatorsItem.js +6 -2
  49. package/src/commons/DisplayChecking/index.js +2 -2
  50. package/src/commons/EmergencyButton/AlertSendConfirm.js +2 -2
  51. package/src/commons/FieldTemplate/ChooseUserField/index.js +2 -2
  52. package/src/commons/FieldTemplate/PasscodeField/__test__/index.test.js +3 -3
  53. package/src/commons/FieldTemplate/ScheduleField/__test__/index.test.js +6 -6
  54. package/src/commons/FlatListDnD/__test__/index.test.js +4 -4
  55. package/src/commons/FlatListDnD/index.js +12 -9
  56. package/src/commons/Grid/GridItem.js +10 -2
  57. package/src/commons/GroupCheckBox/__test__/GroupCheckBox.test.js +3 -3
  58. package/src/commons/Header/HeaderCustom.js +2 -2
  59. package/src/commons/Header/__test__/HeaderCT.test.js +3 -3
  60. package/src/commons/HeaderAni/index.js +2 -2
  61. package/src/commons/IconComponent/index.js +3 -3
  62. package/src/commons/ImagePicker/__test__/ImagePicker.test.js +5 -5
  63. package/src/commons/MediaPlayerDetail/__test__/MediaPlayerDetail.test.js +6 -4
  64. package/src/commons/NavBar/index.js +2 -2
  65. package/src/commons/OneTapTemplate/NumberUpDownActionTemplate.js +3 -3
  66. package/src/commons/OneTapTemplate/__test__/StatesGridActionTemplate.test.js +1 -1
  67. package/src/commons/Popover/__test__/index.test.js +3 -3
  68. package/src/commons/Processing/__test__/Connecting.test.js +4 -4
  69. package/src/commons/SearchLocation/index.js +3 -3
  70. package/src/commons/SelectActionCard/index.js +2 -2
  71. package/src/commons/SelectSubUnit/index.js +6 -2
  72. package/src/commons/SelectUnit/__test__/SelectUnit.test.js +5 -5
  73. package/src/commons/Sharing/BtnRemoveMember.js +2 -2
  74. package/src/commons/Sharing/StationDevicePermissions.js +2 -2
  75. package/src/commons/SubUnit/DeviceTemplate/ConfigAndEvaluation/ConfigAndEvaluation.js +2 -2
  76. package/src/commons/SubUnit/DeviceTemplate/ConfigValue/ConfigValue.js +2 -2
  77. package/src/commons/SubUnit/DeviceTemplate/EvaluationOverConfig/EvaluationOverConfig.js +2 -2
  78. package/src/commons/SubUnit/OneTap/ItemOneTap.js +3 -4
  79. package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +0 -2
  80. package/src/commons/SubUnit/OneTap/index.js +9 -8
  81. package/src/commons/SubUnit/__test__/ShortDetail.test.js +8 -8
  82. package/src/commons/Unit/HeaderUnit/index.js +3 -3
  83. package/src/commons/Unit/SharedUnit.js +7 -7
  84. package/src/commons/Widgets/IFrame/__tests__/IFrame.test.js +9 -13
  85. package/src/configs/Theme.js +1 -1
  86. package/src/hooks/Common/__test__/useAndroidTranslucentStatusBar.test.js +5 -5
  87. package/src/hooks/IoT/__test__/useHomeAssistantConnection.test.js +12 -12
  88. package/src/hooks/IoT/__test__/useWatchConfigs.test.js +3 -3
  89. package/src/hooks/IoT/useRemoteControl.js +6 -6
  90. package/src/hooks/useMqtt.js +2 -2
  91. package/src/iot/RemoteControl/Internet.js +2 -2
  92. package/src/iot/RemoteControl/__test__/Internet.test.js +7 -7
  93. package/src/navigations/EmergencyContactsStack.js +4 -3
  94. package/src/navigations/SharedStack.js +2 -0
  95. package/src/navigations/UnitStack.js +55 -54
  96. package/src/screens/AQIGuide/index.js +0 -2
  97. package/src/screens/ActivityLog/index.js +2 -2
  98. package/src/screens/AddLocationMaps/__test__/index.test.js +12 -12
  99. package/src/screens/AddLocationMaps/index.js +15 -15
  100. package/src/screens/AddNewGateway/RenameNewDevices.js +2 -2
  101. package/src/screens/AddNewGateway/SelectDeviceType.js +1 -1
  102. package/src/screens/AddNewGateway/ShareWifiPassword.js +16 -15
  103. package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +7 -7
  104. package/src/screens/AddNewGateway/__test__/ConnectingWifiDevice.test.js +8 -8
  105. package/src/screens/AddNewGateway/__test__/ConnectingZigbeeDevice.test.js +7 -7
  106. package/src/screens/AddNewGateway/__test__/RenameNewDevices.test.js +8 -8
  107. package/src/screens/AddNewGateway/__test__/ScanGatewayQR.test.js +5 -5
  108. package/src/screens/AddNewGateway/__test__/SelectDeviceUnit.test.js +4 -4
  109. package/src/screens/AddNewGateway/__test__/SelectModbusGateway.test.js +6 -6
  110. package/src/screens/AddNewGateway/__test__/SelectZigbeeGateway.test.js +6 -6
  111. package/src/screens/AddNewGateway/__test__/ShareWifiPassword.test.js +0 -4
  112. package/src/screens/AddNewGateway/hooks/__Tests__/useWifiManage.test.js +2 -2
  113. package/src/screens/AllGateway/DetailConfigActionModbus/__test__/index.test.js +6 -6
  114. package/src/screens/AllGateway/DeviceInternalDetail/__test__/index.test.js +19 -17
  115. package/src/screens/AllGateway/DeviceModbusDetail/__test__/index.test.js +19 -17
  116. package/src/screens/AllGateway/DeviceZigbeeDetail/__test__/index.test.js +18 -16
  117. package/src/screens/AllGateway/GatewayDetail/__test__/index.test.js +43 -35
  118. package/src/screens/AllGateway/GatewayInfo/__test__/index.test.js +13 -13
  119. package/src/screens/AllGateway/__test__/index.test.js +6 -6
  120. package/src/screens/AllGateway/components/Detail/__test__/index.test.js +3 -5
  121. package/src/screens/AllGateway/components/GatewayItem/__test__/index.test.js +3 -3
  122. package/src/screens/AllGateway/components/TabPaneCT/__test__/index.test.js +6 -6
  123. package/src/screens/AllGateway/hooks/__test__/index.test.js +2 -2
  124. package/src/screens/AllGateway/test-utils.js +3 -4
  125. package/src/screens/Automate/AddNewAction/ChooseAction.js +17 -3
  126. package/src/screens/Automate/AddNewAction/ChooseConfig.js +7 -6
  127. package/src/screens/Automate/AddNewAction/NewActionWrapper.js +8 -8
  128. package/src/screens/Automate/AddNewAction/SelectControlDevices.js +30 -20
  129. package/src/screens/Automate/AddNewAction/SelectMonitorDevices.js +17 -10
  130. package/src/screens/Automate/AddNewAction/SetupConfigCondition.js +42 -34
  131. package/src/screens/Automate/AddNewAction/SetupScriptDelay.js +1 -1
  132. package/src/screens/Automate/AddNewAction/SetupScriptNotify.js +3 -3
  133. package/src/screens/Automate/AddNewAction/Styles/SetupSensorStyles.js +20 -4
  134. package/src/screens/Automate/AddNewAction/__test__/ChooseAction.test.js +12 -12
  135. package/src/screens/Automate/AddNewAction/__test__/SelectControlDevices.test.js +14 -8
  136. package/src/screens/Automate/AddNewAction/__test__/SelectMonitorDevices.test.js +13 -7
  137. package/src/screens/Automate/AddNewAction/__test__/SetupConfigCondition.test.js +12 -11
  138. package/src/screens/Automate/AddNewAction/__test__/SetupScriptDelay.test.js +9 -9
  139. package/src/screens/Automate/AddNewAction/__test__/SetupScriptNotify.test.js +39 -10
  140. package/src/screens/Automate/AddNewAutoSmart/AddTypeSmart.js +10 -9
  141. package/src/screens/Automate/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +13 -8
  142. package/src/screens/Automate/Components/InputName.js +10 -7
  143. package/src/screens/Automate/EditActionsList/__tests__/UpdateActionScript.test.js +8 -8
  144. package/src/screens/Automate/EditActionsList/__tests__/UpdateDelayScript.test.js +6 -6
  145. package/src/screens/Automate/EditActionsList/__tests__/UpdateNotifyScript.test.js +7 -7
  146. package/src/screens/Automate/EditActionsList/index.js +19 -17
  147. package/src/screens/Automate/MultiUnits.js +19 -22
  148. package/src/screens/Automate/OneTap/__test__/AddNewOneTap.test.js +18 -8
  149. package/src/screens/Automate/Scenario/__test__/AddNewOneTap.test.js +15 -7
  150. package/src/screens/Automate/ScriptDetail/Components/AddActionScript.js +14 -6
  151. package/src/screens/Automate/ScriptDetail/Components/RenameScript.js +4 -7
  152. package/src/screens/Automate/ScriptDetail/__test__/index.test.js +3 -1
  153. package/src/screens/Automate/ScriptDetail/__test__/useStarredScript.test.js +6 -6
  154. package/src/screens/Automate/ScriptDetail/index.js +48 -38
  155. package/src/screens/Automate/SetSchedule/__test__/SelectWeekday.test.js +4 -4
  156. package/src/screens/Automate/SetSchedule/__test__/index.test.js +29 -18
  157. package/src/screens/Automate/SetSchedule/components/RowItem.js +5 -5
  158. package/src/screens/Automate/SetSchedule/index.js +8 -7
  159. package/src/screens/Automate/Styles/indexStyles.js +1 -1
  160. package/src/screens/Automate/__test__/MultiUnits.test.js +1 -4
  161. package/src/screens/Automate/__test__/index.test.js +0 -1
  162. package/src/screens/Automate/index.js +36 -34
  163. package/src/screens/ChangePosition/__test__/index.test.js +6 -6
  164. package/src/screens/ChangePosition/index.js +2 -1
  165. package/src/screens/Device/EditDevice/__test__/EditDevice.test.js +9 -9
  166. package/src/screens/Device/EditDevice/index.js +2 -2
  167. package/src/screens/Device/__test__/detail.test.js +14 -14
  168. package/src/screens/Device/__test__/mqttDetail.test.js +9 -9
  169. package/src/screens/Device/components/SensorDisplayItem.js +5 -5
  170. package/src/screens/Device/detail.js +7 -7
  171. package/src/screens/Device/hooks/useEvaluateValue.js +1 -1
  172. package/src/screens/Drawer/Drawer.test.js +2 -2
  173. package/src/screens/Drawer/index.js +3 -3
  174. package/src/screens/EmergencyContacts/EmergencyContactsList.js +8 -4
  175. package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +3 -3
  176. package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +7 -7
  177. package/src/screens/EmergencySetting/components/DropDownItem.js +2 -2
  178. package/src/screens/EnterPassword/__test__/EnterPassword.test.js +8 -8
  179. package/src/screens/GuestInfo/components/RowGuestInfo.js +2 -2
  180. package/src/screens/GuestInfo/components/__test__/AccessScheduleSheet.test.js +3 -3
  181. package/src/screens/GuestInfo/index.js +2 -2
  182. package/src/screens/HanetCamera/ManageAccess.js +3 -3
  183. package/src/screens/HanetCamera/MemberInfo.js +2 -2
  184. package/src/screens/HanetCamera/__test__/Detail.test.js +9 -9
  185. package/src/screens/HanetCamera/__test__/MemberInfo.test.js +10 -10
  186. package/src/screens/HanetCamera/components/RequestFaceIDPopup.js +2 -2
  187. package/src/screens/ManageAccess/index.js +3 -3
  188. package/src/screens/MoveToAnotherSubUnit/__test__/index.test.js +9 -9
  189. package/src/screens/Notification/__test__/Notification.test.js +9 -9
  190. package/src/screens/Notification/components/NotificationItem.js +3 -4
  191. package/src/screens/Notification/index.js +3 -3
  192. package/src/screens/Notification/styles/NotificationItemStyles.js +0 -1
  193. package/src/screens/PlayBackCamera/__test__/index.test.js +1 -1
  194. package/src/screens/ScanChipQR/components/QRScan/__test__/QRScan.test.js +1 -1
  195. package/src/screens/ScanChipQR/components/QRScan/index.js +3 -3
  196. package/src/screens/SelectUnit/__test__/index.test.js +8 -8
  197. package/src/screens/SelectUnit/index.js +4 -4
  198. package/src/screens/SharedUnit/TabHeader.js +2 -2
  199. package/src/screens/Sharing/Components/EndDevice.js +3 -3
  200. package/src/screens/Sharing/UnitMemberList.js +2 -2
  201. package/src/screens/Sharing/__test__/UpdateShareDevice.test.js +7 -7
  202. package/src/screens/SideMenuDetail/__test__/index.test.js +8 -8
  203. package/src/screens/SmartAccount/Connecting/index.js +5 -5
  204. package/src/screens/SmartAccount/ListDevice/__test__/ListDevice.test.js +8 -8
  205. package/src/screens/SmartAccount/SuccessfullyConnected/__test__/SuccessfullyConnected.test.js +7 -7
  206. package/src/screens/SmartAccount/SuccessfullyConnected/index.js +2 -2
  207. package/src/screens/SmartAccount/__test__/Connecting.test.js +6 -6
  208. package/src/screens/SmartAccount/__test__/SmartAccount.test.js +10 -10
  209. package/src/screens/SmartIr/__test__/GroupButtonByType.test.js +3 -2
  210. package/src/screens/SmartIr/components/GroupButtonByType/GroupButtonByType.js +2 -2
  211. package/src/screens/SmartIr/components/SelectBrand.js +2 -2
  212. package/src/screens/SubUnit/AddSubUnit.js +2 -4
  213. package/src/screens/SubUnit/EditSubUnit.js +2 -2
  214. package/src/screens/SubUnit/ManageSubUnit.js +3 -3
  215. package/src/screens/SubUnit/__test__/AddSubUnit.test.js +9 -11
  216. package/src/screens/Template/EditTemplate.js +6 -4
  217. package/src/screens/Template/__test__/EditTemplate.test.js +7 -7
  218. package/src/screens/Template/__test__/detail.test.js +4 -4
  219. package/src/screens/Template/__test__/index.test.js +1 -1
  220. package/src/screens/UVIndexGuide/index.js +2 -4
  221. package/src/screens/Unit/SelectAddToFavorites.js +2 -2
  222. package/src/screens/Unit/SelectAddress.js +16 -12
  223. package/src/screens/Unit/Station/__test__/index.test.js +1 -1
  224. package/src/screens/Unit/__test__/SelectAddToFavorites.test.js +9 -9
  225. package/src/screens/Unit/__test__/SelectAddress.test.js +11 -17
  226. package/src/screens/Unit/__test__/Summaries.test.js +7 -7
  227. package/src/screens/Unit/components/AutomateScript/index.js +2 -2
  228. package/src/screens/Unit/components/ButtonWrapper/index.js +3 -3
  229. package/src/screens/Unit/components/Header/index.js +2 -2
  230. package/src/screens/Unit/components/SharedUnit/index.js +5 -5
  231. package/src/screens/Unit/components/__test__/AutomateScript.test.js +3 -3
  232. package/src/screens/Unit/components/__test__/SharedUnit.test.js +8 -8
  233. package/src/screens/Unit/hook/__test__/useUnitConnectRemoteDevices.test.js +2 -2
  234. package/src/screens/UnitSummary/components/AirQuality/index.js +6 -11
  235. package/src/screens/UnitSummary/components/WaterQuality/Item/index.js +6 -6
  236. package/src/screens/UnitSummary/index.js +3 -3
  237. package/src/utils/I18n/translations/en.js +3 -1
  238. package/src/utils/I18n/translations/vi.js +5 -2
  239. package/src/utils/__test__/Utils.test.js +16 -16
@@ -1,11 +1,46 @@
1
- import React, { memo, useEffect, useMemo, useState } from 'react';
2
- import { View, StyleSheet } from 'react-native';
3
1
  import { isEmpty } from 'lodash';
2
+ import React, { memo, useEffect, useMemo, useState } from 'react';
3
+ import { StyleSheet, View } from 'react-native';
4
4
 
5
5
  import { Colors } from '../../configs';
6
6
  import { getMaxValueIndex } from '../../utils/chartHelper/getMaxValueIndex';
7
7
  import Highcharts from '../Highcharts';
8
8
 
9
+ // https://github.com/facebook/hermes/issues/114#issuecomment-887106990
10
+ // 'show source' unstable, work sometime, use this to generate formatter function
11
+
12
+ // function formatter() {
13
+ // 'show source';
14
+ // const { unit, price } = JSON.parse(this.series.name);
15
+ // const textColor =
16
+ // this.color === '#00979D'
17
+ // ? this.y === 0
18
+ // ? '#262626'
19
+ // : '#FFFFFF'
20
+ // : '#262626';
21
+ // const valueStyle = `color:${textColor};font-weight:normal;font-size:12px;`;
22
+ // const costStyle = valueStyle + 'font-weight:bold;';
23
+ // let label = `<span style="${valueStyle}">` + `${this.y}${unit}`;
24
+ // if (price === '' || price === null || isNaN(price)) {
25
+ // return label + '</span>';
26
+ // }
27
+ // const formatMoney = (number) => {
28
+ // const formatNumber = number.toFixed();
29
+ // return (
30
+ // parseInt(formatNumber, 10)
31
+ // .toFixed(0)
32
+ // .toString()
33
+ // .replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1.') + 'đ'
34
+ // );
35
+ // };
36
+ // return (
37
+ // label +
38
+ // `/<span style="${costStyle}">` +
39
+ // formatMoney(this.y * price) +
40
+ // '</span></span>'
41
+ // );
42
+ // }
43
+
9
44
  const HorizontalBarChart = memo(({ datas, config }) => {
10
45
  const [chartOptions, setChartOptions] = useState({
11
46
  chart: {
@@ -57,38 +92,23 @@ const HorizontalBarChart = memo(({ datas, config }) => {
57
92
  dataLabels: {
58
93
  enabled: true,
59
94
  useHTML: true,
60
- formatter: function () {
61
- const { unit, price } = JSON.parse(this.series.name);
62
- const textColor =
63
- this.color === '#00979D'
64
- ? this.y === 0
65
- ? '#262626'
66
- : '#FFFFFF'
67
- : '#262626';
68
- const valueStyle = `color:${textColor};font-weight:normal;font-size:12px;`;
69
- const costStyle = valueStyle + 'font-weight:bold;';
70
-
71
- let label = `<span style="${valueStyle}">` + `${this.y}${unit}`;
72
- if (price === '' || price === null || isNaN(price)) {
73
- return label + '</span>';
74
- }
75
-
76
- const formatMoney = (number) => {
77
- const formatNumber = number.toFixed();
78
- return (
79
- parseInt(formatNumber, 10)
80
- .toFixed(0)
81
- .toString()
82
- .replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1.') + 'đ'
83
- );
84
- };
85
- return (
86
- label +
87
- `/<span style="${costStyle}">` +
88
- formatMoney(this.y * price) +
89
- '</span></span>'
90
- );
91
- },
95
+ formatter: `function formatter() {
96
+ var _JSON$parse = JSON.parse(this.series.name),
97
+ unit = _JSON$parse.unit,
98
+ price = _JSON$parse.price;
99
+ var textColor = this.color === '#00979D' ? this.y === 0 ? '#262626' : '#FFFFFF' : '#262626';
100
+ var valueStyle = "color:" + textColor + ";font-weight:normal;font-size:12px;";
101
+ var costStyle = valueStyle + 'font-weight:bold;';
102
+ var label = "<span style=\\"" + valueStyle + "\\">" + ("" + this.y + unit);
103
+ if (price === '' || price === null || isNaN(price)) {
104
+ return label + '</span>';
105
+ }
106
+ var formatMoney = function formatMoney(number) {
107
+ var formatNumber = number.toFixed();
108
+ return parseInt(formatNumber, 10).toFixed(0).toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, '$1.') + 'đ';
109
+ };
110
+ return label + ("/<span style=\\"" + costStyle + "\\">") + formatMoney(this.y * price) + '</span></span>';
111
+ }`,
92
112
  align: 'right',
93
113
  inside: false,
94
114
  },
@@ -1,6 +1,6 @@
1
1
  import React, { memo } from 'react';
2
2
  import { TouchableWithoutFeedback, View } from 'react-native';
3
- import AntDesign from 'react-native-vector-icons/AntDesign';
3
+ import { IconOutline } from '@ant-design/icons-react-native';
4
4
  import Text from '../../Text';
5
5
 
6
6
  import { Colors } from '../../../configs';
@@ -16,7 +16,7 @@ const ItemAddNew = memo(({ title, onAddNew, wrapStyle }) => {
16
16
  <View style={[styles.container, wrapStyle]}>
17
17
  <View style={styles.boxIcon}>
18
18
  <View style={styles.buttonPlus}>
19
- <AntDesign name="plus" size={22} color={Colors.Gray8} />
19
+ <IconOutline name="plus" size={22} color={Colors.Gray8} />
20
20
  </View>
21
21
  </View>
22
22
  <View>
@@ -1,7 +1,7 @@
1
1
  import React, { memo, useCallback, useMemo } from 'react';
2
2
  import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';
3
3
  import Routes from '../../utils/Route';
4
- import AntDesign from 'react-native-vector-icons/AntDesign';
4
+ import { IconOutline } from '@ant-design/icons-react-native';
5
5
  import { useNavigation } from '@react-navigation/native';
6
6
  import { useTranslations } from '../../hooks/Common/useTranslations';
7
7
  import ItemQuickAction from '../../commons/Action/ItemQuickAction';
@@ -116,7 +116,7 @@ const ItemDevice = memo(
116
116
  >
117
117
  {description || textConnected}
118
118
  </Text>
119
- <AntDesign name="right" size={12} />
119
+ <IconOutline name="right" size={12} />
120
120
  </View>
121
121
  </TouchableOpacity>
122
122
  </ItemDeviceWrapper>
@@ -1,7 +1,7 @@
1
1
  import React, { memo, useState } from 'react';
2
2
  import { View, TouchableOpacity } from 'react-native';
3
3
  import { useTranslations } from '../../../hooks/Common/useTranslations';
4
- import AntDesign from 'react-native-vector-icons/AntDesign';
4
+ import { IconOutline } from '@ant-design/icons-react-native';
5
5
  import { Slider } from '@miblanchard/react-native-slider';
6
6
 
7
7
  import Text from '../../Text';
@@ -44,7 +44,7 @@ const SonosSpeaker = memo(() => {
44
44
  </TouchableOpacity>
45
45
  <View style={styles.threeButton}>
46
46
  <TouchableOpacity style={styles.buttonLeft}>
47
- <AntDesign name={'backward'} size={35} color={Colors.Black} />
47
+ <IconOutline name={'backward'} size={35} color={Colors.Black} />
48
48
  </TouchableOpacity>
49
49
  <TouchableOpacity
50
50
  style={styles.buttonCenter}
@@ -53,7 +53,7 @@ const SonosSpeaker = memo(() => {
53
53
  {active ? <SvgButtonPauseActive /> : <SvgButtonPauseNotActive />}
54
54
  </TouchableOpacity>
55
55
  <TouchableOpacity style={styles.buttonRight}>
56
- <AntDesign name={'forward'} size={35} color={Colors.Black} />
56
+ <IconOutline name={'forward'} size={35} color={Colors.Black} />
57
57
  </TouchableOpacity>
58
58
  </View>
59
59
  </View>
@@ -1,12 +1,12 @@
1
1
  import React, { memo } from 'react';
2
2
  import { View, StyleSheet } from 'react-native';
3
3
  import Text from '../../../commons/Text';
4
- import AntDesign from 'react-native-vector-icons/AntDesign';
4
+ import { IconOutline } from '@ant-design/icons-react-native';
5
5
 
6
6
  const AlertStatusMachine = memo(({ message, style, icon }) => {
7
7
  return (
8
8
  <View style={[styles.container, style]}>
9
- <AntDesign
9
+ <IconOutline
10
10
  name={icon}
11
11
  size={20}
12
12
  color={style.borderColor}
@@ -1,6 +1,6 @@
1
1
  import React, { memo } from 'react';
2
2
  import { View, Dimensions, StyleSheet, TouchableOpacity } from 'react-native';
3
- import AntDesign from 'react-native-vector-icons/AntDesign';
3
+ import { IconOutline } from '@ant-design/icons-react-native';
4
4
  import { useNavigation } from '@react-navigation/native';
5
5
 
6
6
  import { Colors } from '../../../configs';
@@ -35,7 +35,11 @@ const QualityIndicatorItem = memo(
35
35
  onPress={() => navigation.navigate(descriptionScreen)}
36
36
  style={styles.iconInfo}
37
37
  >
38
- <AntDesign name={'info-circle'} size={18} color={Colors.Gray8} />
38
+ <IconOutline
39
+ name={'info-circle'}
40
+ size={18}
41
+ color={Colors.Gray8}
42
+ />
39
43
  </TouchableOpacity>
40
44
  )}
41
45
  </View>
@@ -3,7 +3,7 @@ import { View, TouchableOpacity } from 'react-native';
3
3
 
4
4
  import { Colors } from '../../configs';
5
5
  import Text from '../../commons/Text';
6
- import AntDesign from 'react-native-vector-icons/AntDesign';
6
+ import { IconOutline } from '@ant-design/icons-react-native';
7
7
  import styles from './styles';
8
8
  import { ModalCustom } from '../Modal';
9
9
  import Loading from '../../screens/Automate/Components/Loading';
@@ -18,7 +18,7 @@ const LoadingMessage = memo(({ visible, onClose, message }) => {
18
18
  onPress={onClose}
19
19
  >
20
20
  <Loading
21
- icon={<AntDesign name={'sync'} color={Colors.Green6} size={16} />}
21
+ icon={<IconOutline name={'sync'} color={Colors.Green6} size={16} />}
22
22
  />
23
23
  <Text type={'Body'} style={styles.text}>
24
24
  {message}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { StyleSheet, View } from 'react-native';
3
3
  import { ButtonPopup } from '../index';
4
4
  import { useTranslations } from '../../hooks/Common/useTranslations';
5
- import AntDesign from 'react-native-vector-icons/AntDesign';
5
+ import { IconOutline } from '@ant-design/icons-react-native';
6
6
  import Text from '../Text';
7
7
  import { Colors } from '../../configs';
8
8
 
@@ -29,7 +29,7 @@ const AlertSendConfirm = ({
29
29
  bodyStyle={styles.buttonPopupBody}
30
30
  >
31
31
  <View style={styles.firstInfo}>
32
- <AntDesign name="clockcircleo" size={42} style={styles.clock} />
32
+ <IconOutline name="clock-circle" size={42} style={styles.clock} />
33
33
  <Text semibold type="H4" style={styles.textAlertWillBe}>
34
34
  {t('alert_will_be_sent_in')}
35
35
  </Text>
@@ -1,5 +1,5 @@
1
1
  import React, { memo, useEffect, useState } from 'react';
2
- import AntDesign from 'react-native-vector-icons/AntDesign';
2
+ import { IconOutline } from '@ant-design/icons-react-native';
3
3
  import { TouchableOpacity, View } from 'react-native';
4
4
 
5
5
  import styles from './ChooseFieldStyles';
@@ -47,7 +47,7 @@ const ChooseUserField = ({ unit, dataItem, index, setDataForm, dataForm }) => {
47
47
  onPress={setShowFilterPopup}
48
48
  >
49
49
  <Text style={styles.value}>{choose.name}</Text>
50
- <AntDesign name="right" size={20} color={Colors.Gray8} />
50
+ <IconOutline name="right" size={20} color={Colors.Gray8} />
51
51
  </TouchableOpacity>
52
52
  <ChoosePopup
53
53
  isVisible={showFilterPopup}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { act, create } from 'react-test-renderer';
3
3
  import { AccessibilityLabel } from '../../../../configs/Constants';
4
- import { mockSCStore } from '../../../../context/mockStore';
5
4
  import { SCProvider } from '../../../../context';
5
+ import { mockSCStore } from '../../../../context/mockStore';
6
6
  import PasscodeField from '../index';
7
7
 
8
8
  const mockSetDataForm = jest.fn();
@@ -59,7 +59,7 @@ describe('Test PasscodeField', () => {
59
59
  await act(async () => {
60
60
  await inputPasscode.props.onChangeText('123');
61
61
  });
62
- expect(mockSetDataForm).toBeCalledWith([
62
+ expect(mockSetDataForm).toHaveBeenCalledWith([
63
63
  {
64
64
  key: 'passcode',
65
65
  type: 'passcode',
@@ -74,7 +74,7 @@ describe('Test PasscodeField', () => {
74
74
  await act(async () => {
75
75
  await inputPasscode.props.onChangeText('123456');
76
76
  });
77
- expect(mockSetDataForm).toBeCalledWith([
77
+ expect(mockSetDataForm).toHaveBeenCalledWith([
78
78
  {
79
79
  key: 'passcode',
80
80
  type: 'passcode',
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
+ import { TouchableOpacity } from 'react-native';
2
3
  import { act, create } from 'react-test-renderer';
3
- import { mockSCStore } from '../../../../context/mockStore';
4
+ import { AccessibilityLabel } from '../../../../configs/Constants';
4
5
  import { SCProvider } from '../../../../context';
6
+ import { mockSCStore } from '../../../../context/mockStore';
5
7
  import ScheduleField from '../index';
6
- import { AccessibilityLabel } from '../../../../configs/Constants';
7
- import { TouchableOpacity } from 'react-native';
8
8
 
9
9
  const mockSetDataForm = jest.fn();
10
10
 
@@ -69,7 +69,7 @@ describe('Test ScheduleField', () => {
69
69
  await act(async () => {
70
70
  await recurring.props.onPress();
71
71
  });
72
- expect(mockSetDataForm).toBeCalledWith([
72
+ expect(mockSetDataForm).toHaveBeenCalledWith([
73
73
  {
74
74
  key: 'schedule',
75
75
  type: 'schedule',
@@ -99,7 +99,7 @@ describe('Test ScheduleField', () => {
99
99
  await schedule.props.onPress();
100
100
  });
101
101
 
102
- expect(mockSetDataForm).toBeCalledWith([
102
+ expect(mockSetDataForm).toHaveBeenCalledWith([
103
103
  {
104
104
  key: 'schedule',
105
105
  type: 'schedule',
@@ -152,7 +152,7 @@ describe('Test ScheduleField', () => {
152
152
  await act(async () => {
153
153
  tree = await create(wrapComponent());
154
154
  });
155
- expect(mockSetDataForm).toBeCalledWith([
155
+ expect(mockSetDataForm).toHaveBeenCalledWith([
156
156
  {
157
157
  key: 'schedule',
158
158
  type: 'schedule',
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import renderer, { act } from 'react-test-renderer';
3
2
  import DraggableFlatList from 'react-native-draggable-flatlist';
3
+ import renderer, { act } from 'react-test-renderer';
4
4
 
5
- import FlatListDnD from '../index';
6
5
  import { SCProvider } from '../../../context';
7
6
  import { mockSCStore } from '../../../context/mockStore';
7
+ import FlatListDnD from '../index';
8
8
 
9
9
  const wrapComponent = ({ ...rest }) => (
10
10
  <SCProvider initState={mockSCStore({})}>
@@ -31,7 +31,7 @@ describe('Test FlatListDnD', () => {
31
31
  await act(async () => {
32
32
  draggableFlatList[0].props.onDragEnd({ data: [{ id: 2 }, { id: 1 }] });
33
33
  });
34
- expect(setData).toBeCalledWith([{ id: 2 }, { id: 1 }]);
34
+ expect(setData).toHaveBeenCalledWith([{ id: 2 }, { id: 1 }]);
35
35
  });
36
36
 
37
37
  it('render FlatListDnD onDragEnd', async () => {
@@ -44,6 +44,6 @@ describe('Test FlatListDnD', () => {
44
44
  await act(async () => {
45
45
  draggableFlatList[0].props.onDragEnd({ data: [{ id: 2 }, { id: 1 }] });
46
46
  });
47
- expect(setData).toBeCalledWith([{ id: 2 }, { id: 1 }]);
47
+ expect(setData).toHaveBeenCalledWith([{ id: 2 }, { id: 1 }]);
48
48
  });
49
49
  });
@@ -1,6 +1,7 @@
1
1
  import React, { memo } from 'react';
2
2
  import DraggableFlatList from 'react-native-draggable-flatlist';
3
3
 
4
+ import { GestureHandlerRootView } from 'react-native-gesture-handler';
4
5
  import styles from './styles';
5
6
 
6
7
  const FlatListDnD = memo(
@@ -23,15 +24,17 @@ const FlatListDnD = memo(
23
24
  };
24
25
 
25
26
  return (
26
- <DraggableFlatList
27
- showsVerticalScrollIndicator={showsVerticalScrollIndicator}
28
- data={data}
29
- renderItem={renderItem}
30
- keyExtractor={keyExtractor}
31
- onDragEnd={onDragEnd || handleOnDragEnd}
32
- containerStyle={styles.containerStyle}
33
- {...props}
34
- />
27
+ <GestureHandlerRootView>
28
+ <DraggableFlatList
29
+ showsVerticalScrollIndicator={showsVerticalScrollIndicator}
30
+ data={data}
31
+ renderItem={renderItem}
32
+ keyExtractor={keyExtractor}
33
+ onDragEnd={onDragEnd || handleOnDragEnd}
34
+ containerStyle={styles.containerStyle}
35
+ {...props}
36
+ />
37
+ </GestureHandlerRootView>
35
38
  );
36
39
  }
37
40
  );
@@ -3,7 +3,15 @@ import { TouchableWithoutFeedback, View } from 'react-native';
3
3
  import styles from './GridItemStyles';
4
4
 
5
5
  const GridItem = memo(
6
- ({ icon, accessibilityLabel, selected, onPress, item, children }) => {
6
+ ({
7
+ icon,
8
+ accessibilityLabel,
9
+ selected,
10
+ onPress,
11
+ item,
12
+ children,
13
+ style = {},
14
+ }) => {
7
15
  const isActive = selected && styles.active;
8
16
 
9
17
  return (
@@ -11,7 +19,7 @@ const GridItem = memo(
11
19
  onPress={() => onPress && onPress(item)}
12
20
  accessibilityLabel={accessibilityLabel}
13
21
  >
14
- <View style={[styles.container, isActive]}>{children}</View>
22
+ <View style={[styles.container, style, isActive]}>{children}</View>
15
23
  </TouchableWithoutFeedback>
16
24
  );
17
25
  }
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { act, create } from 'react-test-renderer';
3
2
  import { TouchableOpacity } from 'react-native';
3
+ import { act, create } from 'react-test-renderer';
4
4
 
5
- import { AccessibilityLabel } from '../../../configs/Constants';
6
5
  import GroupCheckBox from '..';
6
+ import { AccessibilityLabel } from '../../../configs/Constants';
7
7
 
8
8
  describe('Test Group CheckBox', () => {
9
9
  let tree;
@@ -59,7 +59,7 @@ describe('Test Group CheckBox', () => {
59
59
  await act(async () => {
60
60
  buttons[0].props.onPress();
61
61
  });
62
- expect(mockFunc).toBeCalledTimes(2);
62
+ expect(mockFunc).toHaveBeenCalledTimes(2);
63
63
  });
64
64
 
65
65
  it('render Group CheckBox with foundIndex === -1 multiple false', async () => {
@@ -2,7 +2,7 @@ import React, { useCallback, useRef } from 'react';
2
2
  import { View, Text, TouchableOpacity, Image } from 'react-native';
3
3
  import Images from '../../configs/Images';
4
4
  import { Colors } from '../../configs';
5
- import AntDesign from 'react-native-vector-icons/AntDesign';
5
+ import { IconOutline } from '@ant-design/icons-react-native';
6
6
  import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
7
7
  import { useNavigation } from '@react-navigation/native';
8
8
  import styles from './Styles/HeaderCustomStyles';
@@ -111,7 +111,7 @@ const HeaderCustom = ({
111
111
  {isShowClose && (
112
112
  <TouchableOpacity onPress={handleClose}>
113
113
  <View style={styles.buttonAdd}>
114
- <AntDesign name={'close'} size={24} color={Colors.Black} />
114
+ <IconOutline name={'close'} size={24} color={Colors.Black} />
115
115
  </View>
116
116
  </TouchableOpacity>
117
117
  )}
@@ -1,6 +1,6 @@
1
+ import { act } from '@testing-library/react-hooks';
1
2
  import React from 'react';
2
3
  import { TouchableOpacity } from 'react-native';
3
- import { act } from '@testing-library/react-hooks';
4
4
  import { create } from 'react-test-renderer';
5
5
  import { HeaderCustom } from '..';
6
6
  import { SCProvider } from '../../../context';
@@ -44,11 +44,11 @@ describe('Test HeaderCustom', () => {
44
44
  await act(async () => {
45
45
  TouchableOpacityElement[1].props.onPress();
46
46
  });
47
- expect(mockOnRefresh).toBeCalled();
47
+ expect(mockOnRefresh).toHaveBeenCalled();
48
48
  await act(async () => {
49
49
  TouchableOpacityElement[2].props.onPress();
50
50
  });
51
- expect(mockShowPopoverWithRef).toBeCalled();
51
+ expect(mockShowPopoverWithRef).toHaveBeenCalled();
52
52
  });
53
53
 
54
54
  it('Test render without props', async () => {
@@ -1,5 +1,5 @@
1
1
  import React, { memo, useCallback } from 'react';
2
- import AntDesign from 'react-native-vector-icons/AntDesign';
2
+ import { IconOutline } from '@ant-design/icons-react-native';
3
3
  import { TouchableOpacity, StyleSheet, Animated, View } from 'react-native';
4
4
  import { useNavigation } from '@react-navigation/native';
5
5
  import { getStatusBarHeight } from 'react-native-iphone-x-helper';
@@ -95,7 +95,7 @@ const HeaderAni = memo(
95
95
  accessibilityLabel={AccessibilityLabel.ICON_BACK}
96
96
  >
97
97
  <View style={styles.btnBack}>
98
- <AntDesign name={'left'} size={27} color={Colors.Gray9} />
98
+ <IconOutline name={'left'} size={27} color={Colors.Gray9} />
99
99
  </View>
100
100
  </TouchableOpacity>
101
101
  <View styles={styles.wrapRightComponent}>{rightComponent}</View>
@@ -1,4 +1,4 @@
1
- import AntDesign from 'react-native-vector-icons/AntDesign';
1
+ import { IconFill, IconOutline } from '@ant-design/icons-react-native';
2
2
  import React, { memo, useMemo } from 'react';
3
3
  import { StyleSheet } from 'react-native';
4
4
  import { Colors } from '../../configs';
@@ -62,7 +62,7 @@ const IconComponent = memo(
62
62
  );
63
63
  } else if (icon.includes('Filled')) {
64
64
  return (
65
- <AntDesign
65
+ <IconFill
66
66
  name={displayIcon}
67
67
  color={colorIcon}
68
68
  size={size}
@@ -76,7 +76,7 @@ const IconComponent = memo(
76
76
  ? 'poweroff'
77
77
  : displayIcon;
78
78
  return (
79
- <AntDesign
79
+ <IconOutline
80
80
  name={iconCT}
81
81
  color={colorIcon}
82
82
  size={size}
@@ -2,10 +2,10 @@ import React from 'react';
2
2
  import { Platform } from 'react-native';
3
3
  import { act, create } from 'react-test-renderer';
4
4
 
5
- import ImagePicker from '../index';
6
- import ButtonPopup from '../../ButtonPopup';
7
5
  import { SCProvider } from '../../../context';
8
6
  import { mockSCStore } from '../../../context/mockStore';
7
+ import ButtonPopup from '../../ButtonPopup';
8
+ import ImagePicker from '../index';
9
9
 
10
10
  const mockSetImageUrl = jest.fn();
11
11
  const mockSetShowImagePicker = jest.fn();
@@ -56,7 +56,7 @@ describe('Test ImagePicker', () => {
56
56
  await act(async () => {
57
57
  textInputs[0].props.onPressMain();
58
58
  });
59
- expect(mockSetImageUrl).toBeCalledWith({ path: 'path_from_camera' });
59
+ expect(mockSetImageUrl).toHaveBeenCalledWith({ path: 'path_from_camera' });
60
60
  });
61
61
 
62
62
  it('create ImagePicker onChooseFile', async () => {
@@ -69,7 +69,7 @@ describe('Test ImagePicker', () => {
69
69
  await act(async () => {
70
70
  buttonPopup.props.onPressSecondary();
71
71
  });
72
- expect(mockSetImageUrl).toBeCalledWith({
72
+ expect(mockSetImageUrl).toHaveBeenCalledWith({
73
73
  path: 'file:///data/user/0/com.eohjsc.eohmobile/cache/Camera/80fbbd4b-926d-425f-a081-e21b13f2f7d0.jpg',
74
74
  });
75
75
  });
@@ -84,6 +84,6 @@ describe('Test ImagePicker', () => {
84
84
  await act(async () => {
85
85
  await buttonPopup.props.onClose();
86
86
  });
87
- expect(mockSetShowImagePicker).toBeCalledWith(false);
87
+ expect(mockSetShowImagePicker).toHaveBeenCalledWith(false);
88
88
  });
89
89
  });
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
+ import { Text, TouchableOpacity } from 'react-native';
2
3
  import { act, create } from 'react-test-renderer';
3
- import { TouchableOpacity, Text } from 'react-native';
4
- import MediaPlayerDetail from '../index';
5
4
  import PauseIcon from '../../../assets/images/Common/Pause.svg';
6
5
  import { SCProvider } from '../../../context';
7
6
  import { mockSCStore } from '../../../context/mockStore';
8
- import { ToastBottomHelper } from '../../../utils/Utils';
9
7
  import { getTranslate } from '../../../utils/I18n';
8
+ import { ToastBottomHelper } from '../../../utils/Utils';
9
+ import MediaPlayerDetail from '../index';
10
10
 
11
11
  const wrapComponent = (uri) => (
12
12
  <SCProvider initState={mockSCStore({})}>
@@ -53,6 +53,8 @@ describe('Test MediaPlayerDetail', () => {
53
53
  await act(async () => {
54
54
  wrapper = await create(wrapComponent(uri));
55
55
  });
56
- expect(spyToastError).toBeCalledWith(getTranslate('en', 'uri_invalid'));
56
+ expect(spyToastError).toHaveBeenCalledWith(
57
+ getTranslate('en', 'uri_invalid')
58
+ );
57
59
  });
58
60
  });
@@ -1,5 +1,5 @@
1
1
  import React, { useRef } from 'react';
2
- import AntDesign from 'react-native-vector-icons/AntDesign';
2
+ import { IconOutline } from '@ant-design/icons-react-native';
3
3
  import { View, TouchableOpacity } from 'react-native';
4
4
 
5
5
  import styles from './NavBarStyles';
@@ -40,7 +40,7 @@ const NavBar = ({
40
40
  ref={refMenuAction}
41
41
  accessibilityLabel={idLabelIconBars}
42
42
  >
43
- <AntDesign name={'bars'} size={19} color={Colors.Black} />
43
+ <IconOutline name={'bars'} size={19} color={Colors.Black} />
44
44
  </TouchableOpacity>
45
45
  </View>
46
46
  <MenuActionMore
@@ -1,6 +1,6 @@
1
1
  import React, { memo, useState, useCallback, useEffect } from 'react';
2
2
  import { View, TouchableOpacity } from 'react-native';
3
- import AntDesign from 'react-native-vector-icons/AntDesign';
3
+ import { IconOutline } from '@ant-design/icons-react-native';
4
4
 
5
5
  import { useTranslations } from '../../hooks/Common/useTranslations';
6
6
  import styles from './NumberUpDownActionTemplateStyles';
@@ -118,7 +118,7 @@ const NumberUpDownActionTemplate = ({ device, item = {}, onSelectAction }) => {
118
118
  AccessibilityLabel.NUMBER_UP_DOWN_ACTION_DOWN
119
119
  }
120
120
  >
121
- <AntDesign name="down" size={32} color={Colors.Primary} />
121
+ <IconOutline name="down" size={32} color={Colors.Primary} />
122
122
  </TouchableOpacity>
123
123
  <Text
124
124
  type="H2"
@@ -134,7 +134,7 @@ const NumberUpDownActionTemplate = ({ device, item = {}, onSelectAction }) => {
134
134
  onPress={onPressUp}
135
135
  accessibilityLabel={AccessibilityLabel.NUMBER_UP_DOWN_ACTION_UP}
136
136
  >
137
- <AntDesign name="up" size={32} color={Colors.Primary} />
137
+ <IconOutline name="up" size={32} color={Colors.Primary} />
138
138
  </TouchableOpacity>
139
139
  </View>
140
140
  <View style={styles.wrapButton}>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { create, act } from 'react-test-renderer';
2
+ import { act, create } from 'react-test-renderer';
3
3
  import { SCProvider } from '../../../context';
4
4
  import { mockSCStore } from '../../../context/mockStore';
5
5
  import StatesGridActionTemplate from '../StatesGridActionTemplate';