@eohjsc/react-native-smart-city 0.3.31 → 0.3.34

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 (411) hide show
  1. package/assets/images/AddNewDevice/add-gateway-icon.svg +13 -0
  2. package/assets/images/AddNewDevice/add-modbus-device-icon.svg +8 -0
  3. package/assets/images/AddNewDevice/add-wifi-device-icon.svg +4 -0
  4. package/assets/images/AddNewDevice/add-zigbee-device-icon.svg +4 -0
  5. package/assets/images/AddNewDevice/interact-smartphone-icon.svg +14 -0
  6. package/index.js +2 -0
  7. package/package.json +8 -5
  8. package/src/Images/SmartAccount/DienQuang.png +0 -0
  9. package/src/Images/SmartAccount/DienQuang@2x.png +0 -0
  10. package/src/Images/SmartAccount/DienQuang@3x.png +0 -0
  11. package/src/Images/SmartAccount/LG.png +0 -0
  12. package/src/Images/SmartAccount/LG@2x.png +0 -0
  13. package/src/Images/SmartAccount/LG@3x.png +0 -0
  14. package/src/Images/SmartAccount/Samsung.png +0 -0
  15. package/src/Images/SmartAccount/Samsung@2x.png +0 -0
  16. package/src/Images/SmartAccount/Samsung@3x.png +0 -0
  17. package/src/commons/Action/ItemQuickAction.js +20 -4
  18. package/src/commons/Action/__test__/ItemQuickAction.test.js +35 -11
  19. package/src/commons/ActionGroup/CurtainButtonTemplate.js +6 -6
  20. package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +9 -6
  21. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/ButtonWrapper.js +5 -2
  22. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/__test__/index.test.js +10 -4
  23. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/index.js +4 -4
  24. package/src/commons/ActionGroup/OnOffSmartLock/OnOffSmartLock.js +2 -2
  25. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/ItemPasscode.js +1 -1
  26. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/index.test.js +2 -2
  27. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/index.js +2 -2
  28. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/ButtonWrapper.js +2 -2
  29. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/__test__/index.test.js +12 -6
  30. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/index.js +8 -4
  31. package/src/commons/ActionGroup/OnOffTemplate/OnOffButtonTemplate.js +4 -6
  32. package/src/commons/ActionGroup/OnOffTemplate/index.js +28 -10
  33. package/src/commons/ActionGroup/OneBigButtonTemplate.js +1 -1
  34. package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +25 -12
  35. package/src/commons/ActionGroup/SmartTiviActionTemplate/SmartTiviActionTemplate.js +25 -9
  36. package/src/commons/ActionGroup/SmartTiviActionTemplate/__test__/ControlPlay.test.js +13 -7
  37. package/src/commons/ActionGroup/SmartTiviActionTemplate/__test__/RectangleButton.test.js +9 -5
  38. package/src/commons/ActionGroup/SmartTiviActionTemplate/__test__/SmartTiviActionTemplate.test.js +25 -9
  39. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/CircleButton.js +16 -6
  40. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/ControlPlay.js +10 -4
  41. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/RectangleButton.js +7 -3
  42. package/src/commons/ActionGroup/StatesGridActionTemplate.js +21 -7
  43. package/src/commons/ActionGroup/ThreeButtonTemplate.js +5 -5
  44. package/src/commons/ActionGroup/TwoButtonTemplate/index.js +4 -4
  45. package/src/commons/ActionGroup/__test__/NumberUpDownTemplate.test.js +7 -7
  46. package/src/commons/ActionGroup/__test__/OnOffSmartLock.test.js +3 -3
  47. package/src/commons/ActionGroup/__test__/OnOffTemplate.test.js +3 -3
  48. package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +9 -5
  49. package/src/commons/ActionGroup/__test__/index.test.js +5 -3
  50. package/src/commons/ActionTemplate/OnOffButtonAction.js +14 -5
  51. package/src/commons/ActionTemplate/__test__/OnOffButtonAction.test.js +23 -2
  52. package/src/commons/ActionTemplate/__test__/index.test.js +2 -0
  53. package/src/commons/ActionTemplate/index.js +1 -0
  54. package/src/commons/AlertAction/index.js +2 -2
  55. package/src/commons/Auth/AccountItem.js +9 -3
  56. package/src/commons/Auth/__test__/AccountItem.test.js +6 -3
  57. package/src/commons/Automate/ItemAutomate.js +22 -3
  58. package/src/commons/BackDefault/index.js +2 -2
  59. package/src/commons/BottomButtonView/index.js +4 -5
  60. package/src/commons/Button/index.js +0 -2
  61. package/src/commons/ButtonPopup/index.js +3 -3
  62. package/src/commons/Dashboard/MyPinnedSharedUnit/__test__/MyPinnedSharedUnit.test.js +3 -2
  63. package/src/commons/Dashboard/MyPinnedSharedUnit/index.js +4 -2
  64. package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +6 -3
  65. package/src/commons/Dashboard/MyUnit/index.js +5 -3
  66. package/src/commons/Device/ConnectedViewHeader.js +2 -2
  67. package/src/commons/Device/DeviceAlertStatus.js +2 -2
  68. package/src/commons/Device/DisconnectedView.js +2 -2
  69. package/src/commons/Device/Emergency/EmergencyButton.js +2 -2
  70. package/src/commons/Device/Emergency/__test__/EmergencyButton.test.js +3 -2
  71. package/src/commons/Device/FlatListItems.js +2 -2
  72. package/src/commons/Device/ItemAddNew/index.js +7 -12
  73. package/src/commons/Device/ItemDevice.js +16 -11
  74. package/src/commons/Device/SensorConnectedStatus.js +5 -2
  75. package/src/commons/Device/WindDirection/Compass/index.js +5 -2
  76. package/src/commons/Device/__test__/DeviceAlertStatus.test.js +8 -4
  77. package/src/commons/Device/__test__/FlatListItems.test.js +3 -2
  78. package/src/commons/Device/__test__/SensorConnectedStatus.test.js +4 -2
  79. package/src/commons/Explore/ActivityIndicator/index.js +5 -2
  80. package/src/commons/Explore/SearchBox/__test__/SearchBox.test.js +3 -3
  81. package/src/commons/Explore/SearchBox/index.js +2 -2
  82. package/src/commons/FieldTemplate/ChooseUserField/ChoosePopup.js +4 -4
  83. package/src/commons/FieldTemplate/ChooseUserField/__test__/index.test.js +11 -8
  84. package/src/commons/FieldTemplate/ChooseUserField/index.js +2 -2
  85. package/src/commons/FieldTemplate/PasscodeField/__test__/index.test.js +3 -2
  86. package/src/commons/FieldTemplate/PasscodeField/index.js +2 -2
  87. package/src/commons/FieldTemplate/ScheduleField/__test__/index.test.js +12 -7
  88. package/src/commons/Form/TextInput.js +2 -2
  89. package/src/commons/Form/TextInputPassword.js +2 -2
  90. package/src/commons/GroupCheckBox/__test__/GroupCheckBox.test.js +5 -3
  91. package/src/commons/GroupCheckBox/index.js +2 -2
  92. package/src/commons/HeaderAni/index.js +2 -3
  93. package/src/commons/MediaPlayerDetail/index.js +2 -2
  94. package/src/commons/MenuActionList/index.js +2 -2
  95. package/src/commons/MenuActionMore/index.js +2 -3
  96. package/src/commons/NavBar/index.js +2 -3
  97. package/src/commons/OneTapTemplate/NumberUpDownActionTemplate.js +12 -6
  98. package/src/commons/OneTapTemplate/OptionsDropdownActionTemplate.js +7 -3
  99. package/src/commons/OneTapTemplate/StatesGridActionTemplate.js +4 -2
  100. package/src/commons/OneTapTemplate/__test__/NumberUpDownActionTemplate.test.js +11 -8
  101. package/src/commons/OneTapTemplate/__test__/OptionsDropdownActionTemplate.test.js +9 -5
  102. package/src/commons/OneTapTemplate/__test__/StatesGridActionTemplate.test.js +5 -3
  103. package/src/commons/Popover/index.js +2 -13
  104. package/src/commons/PreventAccess/__test__/PreventAccess.test.js +5 -3
  105. package/src/commons/PreventAccess/index.js +3 -3
  106. package/src/commons/{Connecting → Processing}/__test__/Connecting.test.js +5 -4
  107. package/src/commons/Processing/index.js +93 -0
  108. package/src/commons/{Connecting → Processing}/styles.js +9 -1
  109. package/src/commons/SelectGateway/index.js +105 -0
  110. package/src/commons/SelectGateway/styles.js +55 -0
  111. package/src/commons/SelectSubUnit/__test__/SelectSubUnit.test.js +106 -0
  112. package/src/commons/SelectSubUnit/index.js +124 -0
  113. package/src/commons/SelectSubUnit/styles.js +52 -0
  114. package/src/commons/SelectUnit/__test__/SelectUnit.test.js +120 -0
  115. package/src/commons/SelectUnit/index.js +105 -0
  116. package/src/commons/SelectUnit/styles.js +53 -0
  117. package/src/commons/Sharing/WrapHeaderScrollable.js +2 -2
  118. package/src/commons/SubUnit/OneTap/ItemOneTap.js +4 -4
  119. package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +25 -10
  120. package/src/commons/SubUnit/OneTap/index.js +9 -4
  121. package/src/commons/SubUnit/ShortDetail.js +11 -29
  122. package/src/commons/SubUnit/__test__/ShortDetail.test.js +15 -10
  123. package/src/commons/SummaryItem/index.js +2 -2
  124. package/src/commons/Tabbar/__test__/index.test.js +97 -0
  125. package/src/commons/Unit/HeaderUnit/index.js +4 -5
  126. package/src/commons/Unit/SharedUnit.js +10 -8
  127. package/src/commons/Unit/__test__/HeaderUnit.test.js +13 -5
  128. package/src/commons/Unit/__test__/SharedUnit.test.js +30 -11
  129. package/src/commons/UnitSummary/AirQuality/__test__/index.test.js +13 -8
  130. package/src/commons/UnitSummary/AirQuality/index.js +7 -3
  131. package/src/commons/UnitSummary/TotalPowerBox.js +2 -2
  132. package/src/commons/UnitSummary/TotalPowerConsumption/index.js +2 -2
  133. package/src/commons/UnitSummary/__test__/TotalPowerBox.test.js +3 -2
  134. package/src/commons/UnitSummary/__test__/TotalPowerConsumption.test.js +4 -2
  135. package/src/commons/ViewButtonBottom/index.js +4 -4
  136. package/src/commons/WheelDateTimePicker/index.js +5 -3
  137. package/src/commons/WrapParallaxScrollView/index.js +2 -1
  138. package/src/configs/API.js +16 -14
  139. package/src/configs/AccessibilityLabel.js +629 -0
  140. package/src/configs/Constants.js +1 -604
  141. package/src/configs/Images.js +2 -0
  142. package/src/context/actionType.ts +10 -3
  143. package/src/context/mockStore.ts +6 -3
  144. package/src/context/reducer.ts +45 -8
  145. package/src/hoc/__test__/withRemoteControl.test.js +24 -0
  146. package/src/hoc/withRemoteControl.js +1 -0
  147. package/src/hooks/Common/__test__/useAndroidTranslucentStatusBar.test.js +55 -0
  148. package/src/hooks/Common/index.js +2 -2
  149. package/src/hooks/Common/useDevicesStatus.js +19 -15
  150. package/src/hooks/Common/{useGGHomeDeviceConnected.js → useHomeAssistantDeviceConnected.js} +3 -3
  151. package/src/hooks/Common/usePopover.js +6 -1
  152. package/src/hooks/IoT/__test__/{useGGHomeConnection.test.js → useHomeAssistantConnection.test.js} +18 -18
  153. package/src/hooks/IoT/__test__/useRemoteControl.test.js +17 -12
  154. package/src/hooks/IoT/index.js +2 -2
  155. package/src/hooks/IoT/useHomeAssistantConnection.js +91 -0
  156. package/src/hooks/IoT/useRemoteControl.js +6 -6
  157. package/src/hooks/__test__/useInitDeepLink.test.js +28 -0
  158. package/src/hooks/useReceiveNotifications.js +2 -4
  159. package/src/iot/RemoteControl/{GoogleHome.js → HomeAssistant.js} +21 -17
  160. package/src/iot/RemoteControl/LG.js +2 -1
  161. package/src/iot/RemoteControl/__test__/{GoogleHome.test.js → HomeAssistant.test.js} +30 -30
  162. package/src/navigations/AddDeviceStack.js +0 -14
  163. package/src/navigations/AddGatewayStack.js +56 -21
  164. package/src/navigations/Main.js +2 -2
  165. package/src/navigations/SmartAccountStack.js +52 -0
  166. package/src/navigations/SmartIrStack.js +3 -3
  167. package/src/navigations/UnitStack.js +1 -1
  168. package/src/screens/AQIGuide/__test__/AQIGuide.test.js +5 -3
  169. package/src/screens/AQIGuide/index.js +5 -3
  170. package/src/screens/ActivityLog/FilterPopup.js +2 -2
  171. package/src/screens/ActivityLog/__test__/FilterPopup.test.js +2 -2
  172. package/src/screens/ActivityLog/__test__/index.test.js +3 -2
  173. package/src/screens/ActivityLog/index.js +3 -3
  174. package/src/screens/AddCommon/SelectSubUnit.js +49 -192
  175. package/src/screens/AddCommon/SelectUnit.js +58 -204
  176. package/src/screens/AddCommon/__test__/SelectSubUnit.test.js +25 -61
  177. package/src/screens/AddCommon/__test__/SelectUnit.test.js +41 -32
  178. package/src/screens/AddLocationMaps/__test__/index.test.js +13 -7
  179. package/src/screens/AddLocationMaps/index.js +3 -3
  180. package/src/screens/AddNewAction/Device/index.js +2 -2
  181. package/src/screens/AddNewAction/SelectAction.js +16 -7
  182. package/src/screens/AddNewAction/SelectSensorDevices.js +3 -3
  183. package/src/screens/AddNewAction/__test__/SelectAction.test.js +2 -2
  184. package/src/screens/AddNewAction/__test__/SelectSensorDevices.test.js +8 -3
  185. package/src/screens/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +11 -7
  186. package/src/screens/AddNewAutoSmart/index.js +9 -12
  187. package/src/screens/AddNewDevice/ConnectingDevices.js +1 -1
  188. package/src/screens/AddNewDevice/__test__/AddNewDevice.test.js +7 -4
  189. package/src/screens/AddNewDevice/index.js +4 -4
  190. package/src/screens/AddNewGateway/ConnectingDevice.js +40 -0
  191. package/src/screens/AddNewGateway/ConnectingModbusDevice.js +61 -0
  192. package/src/screens/AddNewGateway/ConnectingWifiDevice.js +70 -0
  193. package/src/screens/AddNewGateway/ConnectingWifiGuide.js +167 -0
  194. package/src/screens/AddNewGateway/ConnectingWifiGuideStyles.js +58 -0
  195. package/src/screens/AddNewGateway/ConnectingZigbeeDevice.js +60 -0
  196. package/src/screens/AddNewGateway/PlugAndPlay/FirstWarning.js +16 -8
  197. package/src/screens/AddNewGateway/PlugAndPlay/__test__/FirstWarning.test.js +23 -4
  198. package/src/screens/AddNewGateway/RenameNewDevices.js +141 -0
  199. package/src/screens/AddNewGateway/RenameNewDevicesStyles.js +75 -0
  200. package/src/screens/AddNewGateway/ScanGatewayQR.js +80 -0
  201. package/src/screens/AddNewGateway/ScanModbusQR.js +53 -0
  202. package/src/screens/AddNewGateway/ScanWifiDeviceQR.js +55 -0
  203. package/src/screens/AddNewGateway/SelectDeviceSubUnit.js +31 -0
  204. package/src/screens/AddNewGateway/SelectDeviceType.js +147 -0
  205. package/src/screens/AddNewGateway/SelectDeviceTypeStyles.js +51 -0
  206. package/src/screens/AddNewGateway/SelectDeviceUnit.js +29 -0
  207. package/src/screens/AddNewGateway/SelectModbusGateway.js +34 -0
  208. package/src/screens/AddNewGateway/SelectZigbeeGateway.js +34 -0
  209. package/src/screens/AddNewGateway/ShareWifiPassword.js +198 -0
  210. package/src/screens/AddNewGateway/ShareWifiPasswordStyles.js +44 -0
  211. package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +7 -4
  212. package/src/screens/AddNewGateway/__test__/ConnectingModbusDevice.test.js +63 -0
  213. package/src/screens/AddNewGateway/__test__/{SelectGateway.test.js → ConnectingWifiDevice.test.js} +15 -10
  214. package/src/screens/AddNewGateway/__test__/ConnectingWifiGuide.test.js +224 -0
  215. package/src/screens/AddNewGateway/__test__/ConnectingZigbeeDevice.test.js +62 -0
  216. package/src/screens/AddNewGateway/__test__/RenameNewDevices.test.js +191 -0
  217. package/src/screens/AddNewGateway/__test__/ScanGatewayQR.test.js +72 -0
  218. package/src/screens/AddNewGateway/__test__/ScanModbusQR.test.js +75 -0
  219. package/src/screens/AddNewGateway/__test__/ScanWifiDeviceQR.test.js +73 -0
  220. package/src/screens/AddNewGateway/__test__/SelectDeviceSubUnit.test.js +47 -0
  221. package/src/screens/AddNewGateway/__test__/SelectDeviceType.test.js +124 -0
  222. package/src/screens/AddNewGateway/__test__/SelectDeviceUnit.test.js +48 -0
  223. package/src/screens/AddNewGateway/__test__/SelectModbusGateway.test.js +77 -0
  224. package/src/screens/AddNewGateway/__test__/SelectZigbeeGateway.test.js +77 -0
  225. package/src/screens/AddNewGateway/__test__/ShareWifiPassword.test.js +155 -0
  226. package/src/screens/AddNewGateway/hooks/__Tests__/index.test.js +1 -1
  227. package/src/screens/AddNewGateway/index.js +4 -4
  228. package/src/screens/AddNewOneTap/__test__/AddNewOneTap.test.js +5 -4
  229. package/src/screens/AddNewOneTap/index.js +4 -4
  230. package/src/screens/Automate/__test__/index.test.js +2 -2
  231. package/src/screens/Automate/index.js +6 -2
  232. package/src/screens/ConfirmUnitDeletion/__test__/ConfirmUnitDeletion.test.js +3 -2
  233. package/src/screens/ConfirmUnitDeletion/index.js +3 -3
  234. package/src/screens/Device/EditDevice/__test__/EditDevice.test.js +5 -5
  235. package/src/screens/Device/EditDevice/index.js +3 -3
  236. package/src/screens/Device/__test__/detail.test.js +38 -22
  237. package/src/screens/Device/components/SensorConnectStatusViewHeader.js +6 -6
  238. package/src/screens/Device/components/SensorDisplayItem.js +2 -2
  239. package/src/screens/Device/detail.js +28 -22
  240. package/src/screens/Device/hooks/useEvaluateValue.js +0 -2
  241. package/src/screens/DeviceInfo/__test__/index.test.js +8 -4
  242. package/src/screens/DeviceInfo/index.js +10 -6
  243. package/src/screens/Drawer/index.js +21 -9
  244. package/src/screens/EditActionsList/__tests__/index.test.js +120 -0
  245. package/src/screens/EditActionsList/index.js +15 -5
  246. package/src/screens/EmergencyContacts/EmergencyContactsAddNew.js +8 -4
  247. package/src/screens/EmergencyContacts/EmergencyContactsList.js +1 -1
  248. package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +5 -3
  249. package/src/screens/EmergencyContacts/__test__/EmergencyContactAddNew.test.js +9 -5
  250. package/src/screens/EmergencyContacts/__test__/EmergencyContactList.test.js +7 -3
  251. package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +7 -3
  252. package/src/screens/EmergencySetting/__test__/DropDownItem.test.js +3 -2
  253. package/src/screens/EmergencySetting/components/DropDownItem.js +2 -2
  254. package/src/screens/EnterPassword/__test__/EnterPassword.test.js +6 -3
  255. package/src/screens/EnterPassword/index.js +5 -3
  256. package/src/screens/GuestInfo/__test__/index.test.js +18 -12
  257. package/src/screens/GuestInfo/components/AccessScheduleItem.js +2 -2
  258. package/src/screens/GuestInfo/components/AccessScheduleSheet.js +3 -3
  259. package/src/screens/GuestInfo/components/HeaderGuestInfo.js +2 -2
  260. package/src/screens/GuestInfo/components/RecurringDetail.js +4 -4
  261. package/src/screens/GuestInfo/components/TemporaryDetail.js +3 -3
  262. package/src/screens/GuestInfo/index.js +1 -1
  263. package/src/screens/HanetCamera/Detail.js +10 -4
  264. package/src/screens/HanetCamera/ManageAccess.js +4 -4
  265. package/src/screens/HanetCamera/MemberInfo.js +1 -1
  266. package/src/screens/HanetCamera/__test__/Detail.test.js +5 -3
  267. package/src/screens/HanetCamera/__test__/ManageAccess.test.js +10 -4
  268. package/src/screens/HanetCamera/__test__/MemberInfo.test.js +4 -2
  269. package/src/screens/HanetCamera/components/RequestFaceIDPopup.js +2 -2
  270. package/src/screens/ManageAccess/index.js +1 -1
  271. package/src/screens/MoveToAnotherSubUnit/__test__/index.test.js +4 -4
  272. package/src/screens/MoveToAnotherSubUnit/index.js +2 -2
  273. package/src/screens/PlayBackCamera/__test__/index.test.js +9 -6
  274. package/src/screens/PlayBackCamera/index.js +6 -6
  275. package/src/screens/ScanChipQR/components/QRScan/__test__/QRScan.test.js +1 -1
  276. package/src/screens/ScanChipQR/components/QRScan/index.js +10 -3
  277. package/src/screens/ScriptDetail/__test__/index.test.js +43 -38
  278. package/src/screens/ScriptDetail/index.js +26 -16
  279. package/src/screens/SelectUnit/__test__/index.test.js +4 -3
  280. package/src/screens/SelectUnit/index.js +3 -3
  281. package/src/screens/SetSchedule/index.js +1 -1
  282. package/src/screens/SharedUnit/__test__/ShareUnit.test.js +25 -0
  283. package/src/screens/SharedUnit/index.js +2 -0
  284. package/src/screens/Sharing/Components/{SensorItem.js → DeviceItem.js} +40 -30
  285. package/src/screens/Sharing/Components/Styles/{SensorItemStyles.js → DeviceItemStyles.js} +0 -0
  286. package/src/screens/Sharing/Components/__test__/{SensorItem.test.js → DeviceItem.test.js} +10 -8
  287. package/src/screens/Sharing/Components/index.js +2 -2
  288. package/src/screens/Sharing/InfoMemberUnit.js +7 -6
  289. package/src/screens/Sharing/MemberList.js +4 -4
  290. package/src/screens/Sharing/SelectPermission.js +139 -123
  291. package/src/screens/Sharing/SelectUser.js +9 -5
  292. package/src/screens/Sharing/Styles/SelectPermissionStyles.js +2 -2
  293. package/src/screens/Sharing/__test__/InfoMemberUnit.test.js +3 -2
  294. package/src/screens/Sharing/__test__/SelectPermission.test.js +67 -14
  295. package/src/screens/Sharing/__test__/SelectUser.test.js +7 -4
  296. package/src/screens/SideMenuDetail/__test__/index.test.js +11 -7
  297. package/src/screens/SideMenuDetail/index.js +2 -2
  298. package/src/screens/SmartAccount/Connecting/index.js +171 -0
  299. package/src/{commons/ConnectingProcess/styles.js → screens/SmartAccount/Connecting/style.js} +3 -22
  300. package/src/screens/SmartAccount/ListDevice/DeviceItem.js +45 -0
  301. package/src/screens/SmartAccount/ListDevice/__test__/DeviceItem.test.js +34 -0
  302. package/src/screens/SmartAccount/ListDevice/__test__/ListDevice.test.js +139 -0
  303. package/src/screens/SmartAccount/ListDevice/index.js +186 -0
  304. package/src/screens/SmartAccount/ListDevice/styles/DeviceItemStyles.js +70 -0
  305. package/src/screens/SmartAccount/ListDevice/styles/index.js +85 -0
  306. package/src/screens/SmartAccount/SuccessfullyConnected/DeviceItem.js +37 -0
  307. package/src/{commons/ConnectingProcess/DeviceItem → screens/SmartAccount/SuccessfullyConnected}/DeviceItemStyles.js +13 -5
  308. package/src/screens/SmartAccount/SuccessfullyConnected/__test__/DeviceItem.test.js +65 -0
  309. package/src/screens/SmartAccount/SuccessfullyConnected/__test__/SuccessfullyConnected.test.js +88 -0
  310. package/src/screens/SmartAccount/SuccessfullyConnected/index.js +101 -0
  311. package/src/screens/SmartAccount/SuccessfullyConnected/styles.js +42 -0
  312. package/src/screens/SmartAccount/__test__/Connecting.test.js +86 -0
  313. package/src/screens/SmartAccount/__test__/SmartAccount.test.js +249 -0
  314. package/src/screens/SmartAccount/index.js +172 -0
  315. package/src/screens/SmartAccount/style.js +70 -0
  316. package/src/screens/SmartIr/__test__/GroupButtonByType.test.js +4 -2
  317. package/src/screens/SmartIr/__test__/SelectDeviceType.test.js +5 -5
  318. package/src/screens/SmartIr/__test__/SmartIr.test.js +14 -6
  319. package/src/screens/SmartIr/components/GroupButtonByType/GroupButtonByType.js +4 -2
  320. package/src/screens/SmartIr/components/{SelectDeviceType.js → SelectIrDeviceType.js} +2 -2
  321. package/src/screens/SmartIr/index.js +1 -1
  322. package/src/screens/SubUnit/AddSubUnit.js +7 -3
  323. package/src/screens/SubUnit/Detail.js +6 -6
  324. package/src/screens/SubUnit/EditSubUnit.js +10 -6
  325. package/src/screens/SubUnit/ManageSubUnit.js +2 -2
  326. package/src/screens/SubUnit/__test__/AddSubUnit.test.js +6 -3
  327. package/src/screens/SubUnit/__test__/Detail.test.js +5 -3
  328. package/src/screens/SubUnit/__test__/EditSubUnit.test.js +9 -5
  329. package/src/screens/SubUnit/__test__/ManageSubUnit.test.js +3 -2
  330. package/src/screens/SyncLGDevice/AddLGDevice.js +4 -4
  331. package/src/screens/SyncLGDevice/__test__/AddLGDevice.test.js +44 -14
  332. package/src/screens/TDSGuide/__test__/TDSGuide.test.js +4 -2
  333. package/src/screens/TDSGuide/index.js +2 -2
  334. package/src/screens/Template/EditTemplate.js +2 -1
  335. package/src/screens/Template/__test__/detail.test.js +9 -1
  336. package/src/screens/Template/index.js +0 -1
  337. package/src/screens/UVIndexGuide/__test__/UVIndexGuide.test.js +3 -2
  338. package/src/screens/UVIndexGuide/index.js +2 -2
  339. package/src/screens/Unit/AddMenu.js +10 -25
  340. package/src/screens/Unit/ChooseLocation.js +1 -1
  341. package/src/screens/Unit/Detail.js +10 -10
  342. package/src/screens/Unit/ManageUnit.js +21 -15
  343. package/src/screens/Unit/MyAllUnit/index.js +1 -1
  344. package/src/screens/Unit/SelectAddToFavorites.js +7 -8
  345. package/src/screens/Unit/SelectAddress.js +4 -4
  346. package/src/screens/Unit/SmartAccount.js +8 -5
  347. package/src/screens/Unit/SmartAccountItem.js +3 -3
  348. package/src/screens/Unit/Station/__test__/index.test.js +1 -1
  349. package/src/screens/Unit/Station/index.js +2 -2
  350. package/src/screens/Unit/Summaries.js +2 -2
  351. package/src/screens/Unit/__test__/CheckSendEmail.test.js +6 -6
  352. package/src/screens/Unit/__test__/Detail.test.js +17 -12
  353. package/src/screens/Unit/__test__/ManageUnit.test.js +40 -18
  354. package/src/screens/Unit/__test__/SelectAddress.test.js +15 -8
  355. package/src/screens/Unit/__test__/SmartAccount.test.js +8 -5
  356. package/src/screens/Unit/__test__/SmartAccountItem.test.js +4 -3
  357. package/src/screens/Unit/components/AutomateScript/index.js +5 -2
  358. package/src/screens/Unit/components/ListMyAllUnit/index.js +1 -1
  359. package/src/screens/Unit/components/MyAllUnit/__test__/Header.test.js +9 -5
  360. package/src/screens/Unit/components/MyAllUnit/index.js +1 -1
  361. package/src/screens/Unit/components/MyUnitDevice/index.js +8 -5
  362. package/src/screens/Unit/components/SharedUnit/index.js +12 -6
  363. package/src/screens/Unit/components/__test__/MyUnitDevice.test.js +2 -2
  364. package/src/screens/Unit/components/__test__/SharedUnit.test.js +24 -9
  365. package/src/screens/Unit/hook/useUnitConnectRemoteDevices.js +25 -11
  366. package/src/screens/UnitSummary/__test__/index.test.js +4 -2
  367. package/src/screens/UnitSummary/components/3PPowerConsumption/__test__/3PPowerConsumption.test.js +4 -2
  368. package/src/screens/UnitSummary/components/3PPowerConsumption/index.js +2 -2
  369. package/src/screens/UnitSummary/components/PowerConsumption/__test__/PowerConsumption.test.js +4 -2
  370. package/src/screens/UnitSummary/components/PowerConsumption/index.js +2 -2
  371. package/src/screens/UnitSummary/components/RunningDevices/__test__/index.test.js +5 -4
  372. package/src/screens/UnitSummary/components/RunningDevices/index.js +6 -3
  373. package/src/screens/UnitSummary/components/TotalPowerBox/index.js +2 -2
  374. package/src/screens/UnitSummary/components/TotalPowerConsumption/index.js +2 -2
  375. package/src/screens/UnitSummary/components/__test__/TotalPowerBox.test.js +3 -2
  376. package/src/screens/UnitSummary/components/__test__/TotalPowerConsumption.test.js +4 -2
  377. package/src/screens/UnitSummary/index.js +10 -8
  378. package/src/screens/WaterQualityGuide/__test__/index.test.js +17 -12
  379. package/src/screens/WaterQualityGuide/index.js +26 -10
  380. package/src/utils/Apis/axios.js +1 -0
  381. package/src/utils/I18n/translations/en.json +36 -11
  382. package/src/utils/I18n/translations/vi.json +36 -10
  383. package/src/utils/Route/index.js +19 -10
  384. package/src/utils/Utils.js +6 -7
  385. package/src/utils/Validation.js +4 -0
  386. package/src/commons/Connecting/index.js +0 -67
  387. package/src/commons/ConnectingProcess/DeviceItem/DeviceItem.js +0 -28
  388. package/src/commons/ConnectingProcess/__test__/Connecting.test.js +0 -163
  389. package/src/commons/ConnectingProcess/__test__/DeviceItem.test.js +0 -19
  390. package/src/commons/ConnectingProcess/index.js +0 -213
  391. package/src/hooks/IoT/useGGHomeConnection.js +0 -91
  392. package/src/iot/RemoteControl/index.js +0 -55
  393. package/src/screens/AddNewDevice/ConnectDevices.js +0 -184
  394. package/src/screens/AddNewDevice/__test__/ConnectDevices.test.js +0 -131
  395. package/src/screens/AddNewGateway/ConnectedGateway.js +0 -139
  396. package/src/screens/AddNewGateway/ConnectingGateway.js +0 -137
  397. package/src/screens/AddNewGateway/PlugAndPlay/ConnectWifiWarning.js +0 -214
  398. package/src/screens/AddNewGateway/PlugAndPlay/GatewayWifiList.js +0 -319
  399. package/src/screens/AddNewGateway/PlugAndPlay/__test__/ConnectWifiWarning.test.js +0 -75
  400. package/src/screens/AddNewGateway/PlugAndPlay/__test__/GatewayWifiList.test.js +0 -130
  401. package/src/screens/AddNewGateway/SelectGateway.js +0 -133
  402. package/src/screens/AddNewGateway/SetupGatewayWifi.js +0 -207
  403. package/src/screens/AddNewGateway/__test__/ConnectedGateway.test.js +0 -71
  404. package/src/screens/AddNewGateway/__test__/ConnectingGateway.test.js +0 -96
  405. package/src/screens/AddNewGateway/__test__/SetupGateway.test.js +0 -120
  406. package/src/screens/ScanChipQR/__test__/ScanChipQR.test.js +0 -115
  407. package/src/screens/ScanChipQR/hooks/index.js +0 -120
  408. package/src/screens/ScanChipQR/index.js +0 -29
  409. package/src/screens/ScanSensorQR/__test__/ScanSensorQR.test.js +0 -111
  410. package/src/screens/ScanSensorQR/hooks/index.js +0 -40
  411. package/src/screens/ScanSensorQR/index.js +0 -39
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { renderHook } from '@testing-library/react-hooks';
3
+ import { useInitDeepLink } from '../index';
4
+ import { SCProvider } from '../../context';
5
+ import { mockSCStore } from '../../context/mockStore';
6
+ import DeepLinking from 'react-native-deep-linking';
7
+
8
+ const mockedSetAction = jest.fn();
9
+
10
+ const wrapper = ({ children }) => <SCProvider>{children}</SCProvider>;
11
+
12
+ const mockUseContext = jest.fn().mockImplementation(() => ({
13
+ stateData: mockSCStore({}),
14
+ setAction: mockedSetAction,
15
+ }));
16
+
17
+ React.useContext = mockUseContext;
18
+
19
+ jest.mock('react-native-deep-linking');
20
+
21
+ describe('Test useRemoteControl', () => {
22
+ it('test send remote command action null', async () => {
23
+ renderHook(() => useInitDeepLink(), {
24
+ wrapper,
25
+ });
26
+ expect(DeepLinking.addScheme).toBeCalled();
27
+ });
28
+ });
@@ -8,10 +8,8 @@ const useReceiveNotifications = (callBack) => {
8
8
  );
9
9
 
10
10
  useEffect(() => {
11
- if (notificationData) {
12
- setDataNotification(notificationData);
13
- callBack && callBack();
14
- }
11
+ notificationData && setDataNotification(notificationData);
12
+ notificationData && callBack && callBack();
15
13
  }, [callBack, notificationData]);
16
14
 
17
15
  return { dataNotification };
@@ -115,7 +115,7 @@ async function fetchConnectionEntities(connection) {
115
115
  setConfigGlobalState('configValues', { ...configValues });
116
116
  }
117
117
 
118
- export const googleHomeConnect = async (
118
+ export const homeAssistantConnect = async (
119
119
  oldConnections,
120
120
  options,
121
121
  onEstablished,
@@ -163,13 +163,13 @@ export const googleHomeConnect = async (
163
163
 
164
164
  connection.addEventListener('disconnected', async () => {
165
165
  await onDisconnected(option);
166
- ToastBottomHelper.error(t('command_googlehome_lost'));
166
+ ToastBottomHelper.error(t('command_homeassistant_lost'));
167
167
  });
168
168
 
169
169
  connection.addEventListener('ready', async (conn, eventData) => {
170
170
  await fetchConnectionEntities(conn);
171
171
  await onReconnected(option, conn);
172
- ToastBottomHelper.success(t('command_googlehome_ready'));
172
+ ToastBottomHelper.success(t('command_homeassistant_ready'));
173
173
  });
174
174
 
175
175
  connections[option.chip_id] = connection;
@@ -182,7 +182,7 @@ export const googleHomeConnect = async (
182
182
  return connections;
183
183
  };
184
184
 
185
- export const googleHomeDisconnect = async (connections, options) => {
185
+ export const homeAssistantDisconnect = async (connections, options) => {
186
186
  for (let i = 0; i < options.length; i++) {
187
187
  const option = options[i];
188
188
  if (option.chip_id in connections) {
@@ -219,11 +219,11 @@ async function sendCommandSingleAction(connection, ghAction, data) {
219
219
  await connection.sendMessagePromise(message);
220
220
  return true;
221
221
  } catch (err) {
222
- ToastBottomHelper.error(t('command_send_fail_googlehome'));
222
+ ToastBottomHelper.error(t('command_send_fail_homeassistant'));
223
223
  }
224
224
  }
225
225
 
226
- export async function sendCommandOverGoogleHome(
226
+ export async function sendCommandOverHomeAssistant(
227
227
  connections,
228
228
  device,
229
229
  action,
@@ -238,7 +238,7 @@ export async function sendCommandOverGoogleHome(
238
238
 
239
239
  const connection = getDeviceConnection(connections, device);
240
240
  if (!connection) {
241
- ToastBottomHelper.error(t('command_send_fail_googlehome'));
241
+ ToastBottomHelper.error(t('command_send_fail_homeassistant'));
242
242
  return;
243
243
  }
244
244
 
@@ -260,15 +260,19 @@ export async function sendCommandOverGoogleHome(
260
260
  );
261
261
  }
262
262
 
263
- if (triggerSuccess) {
264
- const { success } = await axiosPost(API.DEVICE.ACTIVITY_LOG(), {
265
- action_id: action.id,
266
- message: 'Trigger by user action with google home',
267
- });
268
- if (success) {
269
- ToastBottomHelper.success(t('command_send_success_googlehome'));
270
- }
271
- return success;
263
+ const { success: createLog } = await axiosPost(API.DEVICE.ACTIVITY_LOG(), {
264
+ action_id: action.id,
265
+ message: `Trigger
266
+ ${triggerSuccess ? 'success' : 'fail'}
267
+ by user action with home assistant`,
268
+ action_status: triggerSuccess,
269
+ });
270
+ if (createLog && triggerSuccess) {
271
+ ToastBottomHelper.success(t('command_send_success_homeassistant'));
272
+ return true;
273
+ }
274
+ if (createLog && !triggerSuccess) {
275
+ ToastBottomHelper.error(t('command_send_fail_homeassistant'));
276
+ return false;
272
277
  }
273
- return false;
274
278
  }
@@ -110,7 +110,7 @@ export async function fetchDeviceStatusLG(endDevice) {
110
110
  }, 1000);
111
111
  }
112
112
 
113
- export const lgThinqConnect = async (options) => {
113
+ export const lgThinqConnect = async (options, onConnected) => {
114
114
  for (let i = 0; i < options.length; i++) {
115
115
  const option = options[i];
116
116
  for (let j = 0; j < option.lg_devices.length; j++) {
@@ -136,6 +136,7 @@ export const lgThinqConnect = async (options) => {
136
136
  await fetchDeviceStatusLG(endDevice);
137
137
  }
138
138
  }
139
+ onConnected && onConnected();
139
140
  };
140
141
 
141
142
  export const sendCommandOverLGThinq = async (sensor, action, data) => {
@@ -2,10 +2,10 @@ import { createConnection, getStates } from 'home-assistant-js-websocket';
2
2
  import Toast from 'react-native-toast-message';
3
3
  import MockAdapter from 'axios-mock-adapter';
4
4
  import {
5
- googleHomeConnect,
6
- googleHomeDisconnect,
7
- sendCommandOverGoogleHome,
8
- } from '../GoogleHome';
5
+ homeAssistantConnect,
6
+ homeAssistantDisconnect,
7
+ sendCommandOverHomeAssistant,
8
+ } from '../HomeAssistant';
9
9
  import { getConfigGlobalState, setConfigGlobalState } from '../../states';
10
10
  import { API } from '../../../configs';
11
11
  import { getTranslate } from '../../../utils/I18n';
@@ -34,7 +34,7 @@ const mockReconnected = jest.fn();
34
34
  getStates.mockImplementation(() => []);
35
35
  createConnection.mockImplementation(() => connection);
36
36
 
37
- describe('Remote Control Google Home', () => {
37
+ describe('Remote Control Home Assistant', () => {
38
38
  const options = [
39
39
  {
40
40
  auth: {},
@@ -92,7 +92,7 @@ describe('Remote Control Google Home', () => {
92
92
  setConfigGlobalState('configValues', {});
93
93
  });
94
94
 
95
- it('Connect to google home basic will fetch entities', async () => {
95
+ it('Connect to Home Assistant basic will fetch entities', async () => {
96
96
  getStates.mockImplementationOnce(() => [
97
97
  {
98
98
  entity_id: 'group.sensor',
@@ -111,7 +111,7 @@ describe('Remote Control Google Home', () => {
111
111
  let configValues = getConfigGlobalState('configValues');
112
112
  expect(configValues).toEqual({});
113
113
 
114
- await googleHomeConnect(
114
+ await homeAssistantConnect(
115
115
  {},
116
116
  options,
117
117
  mockEstablished,
@@ -158,7 +158,7 @@ describe('Remote Control Google Home', () => {
158
158
  }
159
159
  });
160
160
 
161
- await googleHomeConnect(
161
+ await homeAssistantConnect(
162
162
  {},
163
163
  options,
164
164
  mockEstablished,
@@ -170,15 +170,15 @@ describe('Remote Control Google Home', () => {
170
170
  expect(configValues).toEqual({ 1: { value: true } });
171
171
  });
172
172
 
173
- it('Connect to same google home will be skipped', async () => {
174
- const connections = await googleHomeConnect(
173
+ it('Connect to same Home Assistant will be skipped', async () => {
174
+ const connections = await homeAssistantConnect(
175
175
  {},
176
176
  options,
177
177
  mockEstablished,
178
178
  mockDisconnected,
179
179
  mockReconnected
180
180
  );
181
- await googleHomeConnect(
181
+ await homeAssistantConnect(
182
182
  connections,
183
183
  options,
184
184
  mockEstablished,
@@ -195,7 +195,7 @@ describe('Remote Control Google Home', () => {
195
195
  listener();
196
196
  }
197
197
  });
198
- await googleHomeConnect(
198
+ await homeAssistantConnect(
199
199
  {},
200
200
  options,
201
201
  mockEstablished,
@@ -212,7 +212,7 @@ describe('Remote Control Google Home', () => {
212
212
  listener();
213
213
  }
214
214
  });
215
- await googleHomeConnect(
215
+ await homeAssistantConnect(
216
216
  {},
217
217
  options,
218
218
  mockEstablished,
@@ -222,27 +222,27 @@ describe('Remote Control Google Home', () => {
222
222
  expect(Toast.show).toBeCalledWith({
223
223
  type: 'error',
224
224
  position: 'bottom',
225
- text1: getTranslate('en', 'command_googlehome_lost'),
225
+ text1: getTranslate('en', 'command_homeassistant_lost'),
226
226
  visibilityTime: 1000,
227
227
  });
228
228
  });
229
229
 
230
- it('Send command over google home will send message to chip', async () => {
230
+ it('Send command over Home Assistant will send message to chip', async () => {
231
231
  mock.onPost(API.DEVICE.ACTIVITY_LOG()).reply(200);
232
- const connections = await googleHomeConnect(
232
+ const connections = await homeAssistantConnect(
233
233
  {},
234
234
  options,
235
235
  mockEstablished,
236
236
  mockDisconnected,
237
237
  mockReconnected
238
238
  );
239
- await sendCommandOverGoogleHome(connections, sensor, action);
239
+ await sendCommandOverHomeAssistant(connections, sensor, action);
240
240
  expect(connection.sendMessagePromise).toBeCalledWith(
241
241
  action.googlehome_actions[0].message
242
242
  );
243
243
  });
244
244
 
245
- it('Send command over google home will send message to chip with service_data and data', async () => {
245
+ it('Send command over Home Assistant will send message to chip with service_data and data', async () => {
246
246
  action.googlehome_actions[0].message = {
247
247
  type: 'call_service',
248
248
  domain: 'climate',
@@ -254,21 +254,21 @@ describe('Remote Control Google Home', () => {
254
254
  id: 20,
255
255
  };
256
256
  mock.onPost(API.DEVICE.ACTIVITY_LOG()).reply(200);
257
- const connections = await googleHomeConnect(
257
+ const connections = await homeAssistantConnect(
258
258
  {},
259
259
  options,
260
260
  mockEstablished,
261
261
  mockDisconnected,
262
262
  mockReconnected
263
263
  );
264
- await sendCommandOverGoogleHome(connections, sensor, action, 19);
264
+ await sendCommandOverHomeAssistant(connections, sensor, action, 19);
265
265
  action.googlehome_actions[0].message.service_data.temperature = 19;
266
266
  expect(connection.sendMessagePromise).toBeCalledWith(
267
267
  action.googlehome_actions[0].message
268
268
  );
269
269
  });
270
270
 
271
- it('Send command over google home action googlehome_action one to one', async () => {
271
+ it('Send command over Home Assistant action googlehome_action one to one', async () => {
272
272
  action.googlehome_actions = null;
273
273
  action.googlehome_action.message = {
274
274
  type: 'call_service',
@@ -281,47 +281,47 @@ describe('Remote Control Google Home', () => {
281
281
  id: 20,
282
282
  };
283
283
  mock.onPost(API.DEVICE.ACTIVITY_LOG()).reply(200);
284
- const connections = await googleHomeConnect(
284
+ const connections = await homeAssistantConnect(
285
285
  {},
286
286
  options,
287
287
  mockEstablished,
288
288
  mockDisconnected,
289
289
  mockReconnected
290
290
  );
291
- await sendCommandOverGoogleHome(connections, sensor, action, 19);
291
+ await sendCommandOverHomeAssistant(connections, sensor, action, 19);
292
292
  action.googlehome_action.message.service_data.temperature = 19;
293
293
  expect(connection.sendMessagePromise).toBeCalledWith(
294
294
  action.googlehome_action.message
295
295
  );
296
296
  });
297
297
 
298
- it('Send command over google home that not connected', async () => {
299
- await googleHomeConnect(
298
+ it('Send command over Home Assistant that not connected', async () => {
299
+ await homeAssistantConnect(
300
300
  {},
301
301
  options,
302
302
  mockEstablished,
303
303
  mockDisconnected,
304
304
  mockReconnected
305
305
  );
306
- await sendCommandOverGoogleHome({}, { chip_id: 2 }, action);
306
+ await sendCommandOverHomeAssistant({}, { chip_id: 2 }, action);
307
307
  expect(connection.sendMessagePromise).not.toBeCalled();
308
308
  });
309
309
 
310
- it('Send command over google home that not a google home', async () => {
311
- await googleHomeConnect(
310
+ it('Send command over Home Assistant that not a Home Assistant', async () => {
311
+ await homeAssistantConnect(
312
312
  {},
313
313
  options,
314
314
  mockEstablished,
315
315
  mockDisconnected,
316
316
  mockReconnected
317
317
  );
318
- await sendCommandOverGoogleHome({}, sensor, {});
318
+ await sendCommandOverHomeAssistant({}, sensor, {});
319
319
  expect(connection.sendMessagePromise).not.toBeCalled();
320
320
  });
321
321
 
322
322
  it('Disconnect a not connected gateway', async () => {
323
323
  connection.close.mockClear();
324
- await googleHomeDisconnect({}, options);
324
+ await homeAssistantDisconnect({}, options);
325
325
  expect(connection.close).not.toBeCalled();
326
326
  });
327
327
  });
@@ -3,12 +3,8 @@ import React, { memo } from 'react';
3
3
 
4
4
  import AddCommonSelectUnit from '../screens/AddCommon/SelectUnit';
5
5
  import AddCommonSelectSubUnit from '../screens/AddCommon/SelectSubUnit';
6
- import AddGatewaySelectGateway from '../screens/AddNewGateway/SelectGateway';
7
6
  import AddNewDevice from '../screens/AddNewDevice';
8
- import ConnectDevices from '../screens/AddNewDevice/ConnectDevices';
9
7
  import ConnectingDevices from '../screens/AddNewDevice/ConnectingDevices';
10
- import ConnectingProcess from '../commons/ConnectingProcess';
11
- import ScanSensorQR from '../screens/ScanSensorQR';
12
8
  import Route from '../utils/Route';
13
9
  import { screenOptions } from './utils';
14
10
 
@@ -30,21 +26,11 @@ export const AddDeviceStack = memo(() => {
30
26
  name={Route.AddCommonSelectSubUnit}
31
27
  component={AddCommonSelectSubUnit}
32
28
  />
33
- <Stack.Screen
34
- name={Route.AddGatewaySelectGateway}
35
- component={AddGatewaySelectGateway}
36
- />
37
- <Stack.Screen
38
- name={Route.ConnectingProcess}
39
- component={ConnectingProcess}
40
- />
41
29
  <Stack.Screen name={Route.AddNewDevice} component={AddNewDevice} />
42
- <Stack.Screen name={Route.ScanSensorQR} component={ScanSensorQR} />
43
30
  <Stack.Screen
44
31
  name={Route.ConnectingDevices}
45
32
  component={ConnectingDevices}
46
33
  />
47
- <Stack.Screen name={Route.ConnectDevices} component={ConnectDevices} />
48
34
  </Stack.Navigator>
49
35
  );
50
36
  });
@@ -2,16 +2,23 @@ import { createStackNavigator } from '@react-navigation/stack';
2
2
  import React, { memo } from 'react';
3
3
 
4
4
  import AddNewGateway from '../screens/AddNewGateway';
5
- import ScanChipQR from '../screens/ScanChipQR';
6
5
  import Route from '../utils/Route';
7
- import ConnectedGateway from '../screens/AddNewGateway/ConnectedGateway';
8
- import ConnectingGateway from '../screens/AddNewGateway/ConnectingGateway';
9
- import SetupGatewayWifi from '../screens/AddNewGateway/SetupGatewayWifi';
10
- import AddCommonSelectSubUnit from '../screens/AddCommon/SelectSubUnit';
11
6
  import FirstWarning from '../screens/AddNewGateway/PlugAndPlay/FirstWarning';
12
- import ConnectWifiWarning from '../screens/AddNewGateway/PlugAndPlay/ConnectWifiWarning';
13
- import GatewayWifiList from '../screens/AddNewGateway/PlugAndPlay/GatewayWifiList';
14
7
  import { screenOptions } from './utils';
8
+ import SelectDeviceSubUnit from '../screens/AddNewGateway/SelectDeviceSubUnit';
9
+ import SelectDeviceType from '../screens/AddNewGateway/SelectDeviceType';
10
+ import SelectModbusGateway from '../screens/AddNewGateway/SelectModbusGateway';
11
+ import SelectZigbeeGateway from '../screens/AddNewGateway/SelectZigbeeGateway';
12
+ import ConnectingZigbeeDevice from '../screens/AddNewGateway/ConnectingZigbeeDevice';
13
+ import SelectDeviceUnit from '../screens/AddNewGateway/SelectDeviceUnit';
14
+ import ScanModbusQR from '../screens/AddNewGateway/ScanModbusQR';
15
+ import ConnectingModbusDevice from '../screens/AddNewGateway/ConnectingModbusDevice';
16
+ import ScanWifiDeviceQR from '../screens/AddNewGateway/ScanWifiDeviceQR';
17
+ import ConnectingWifiDevice from '../screens/AddNewGateway/ConnectingWifiDevice';
18
+ import ShareWifiPassword from '../screens/AddNewGateway/ShareWifiPassword';
19
+ import ScanGatewayQR from '../screens/AddNewGateway/ScanGatewayQR';
20
+ import RenameNewDevices from '../screens/AddNewGateway/RenameNewDevices';
21
+ import ConnectingWifiGuide from '../screens/AddNewGateway/ConnectingWifiGuide';
15
22
 
16
23
  const Stack = createStackNavigator();
17
24
 
@@ -23,30 +30,58 @@ export const AddGatewayStack = memo(() => {
23
30
  headerShown: false,
24
31
  }}
25
32
  >
33
+ <Stack.Screen name={Route.FirstWarning} component={FirstWarning} />
34
+ <Stack.Screen name={Route.AddNewGateway} component={AddNewGateway} />
26
35
  <Stack.Screen
27
- name={Route.SetupGatewayWifi}
28
- component={SetupGatewayWifi}
36
+ name={Route.SelectDeviceUnit}
37
+ component={SelectDeviceUnit}
29
38
  />
30
- <Stack.Screen name={Route.AddNewGateway} component={AddNewGateway} />
31
39
  <Stack.Screen
32
- name={Route.AddCommonSelectSubUnit}
33
- component={AddCommonSelectSubUnit}
40
+ name={Route.SelectDeviceSubUnit}
41
+ component={SelectDeviceSubUnit}
34
42
  />
35
- <Stack.Screen name={Route.ScanChipQR} component={ScanChipQR} />
36
43
  <Stack.Screen
37
- name={Route.ConnectingGateway}
38
- component={ConnectingGateway}
44
+ name={Route.SelectDeviceType}
45
+ component={SelectDeviceType}
39
46
  />
40
47
  <Stack.Screen
41
- name={Route.ConnectedGateway}
42
- component={ConnectedGateway}
48
+ name={Route.SelectModbusGateway}
49
+ component={SelectModbusGateway}
50
+ />
51
+ <Stack.Screen
52
+ name={Route.SelectZigbeeGateway}
53
+ component={SelectZigbeeGateway}
54
+ />
55
+ <Stack.Screen
56
+ name={Route.ConnectingZigbeeDevice}
57
+ component={ConnectingZigbeeDevice}
58
+ />
59
+ <Stack.Screen name={Route.ScanModbusQR} component={ScanModbusQR} />
60
+ <Stack.Screen
61
+ name={Route.ConnectingModbusDevice}
62
+ component={ConnectingModbusDevice}
63
+ />
64
+ <Stack.Screen
65
+ name={Route.ScanWifiDeviceQR}
66
+ component={ScanWifiDeviceQR}
67
+ />
68
+ <Stack.Screen name={Route.ScanGatewayQR} component={ScanGatewayQR} />
69
+ <Stack.Screen
70
+ name={Route.ShareWifiPassword}
71
+ component={ShareWifiPassword}
72
+ />
73
+ <Stack.Screen
74
+ name={Route.ConnectingWifiDevice}
75
+ component={ConnectingWifiDevice}
76
+ />
77
+ <Stack.Screen
78
+ name={Route.RenameNewDevices}
79
+ component={RenameNewDevices}
43
80
  />
44
- <Stack.Screen name={Route.FirstWarning} component={FirstWarning} />
45
81
  <Stack.Screen
46
- name={Route.ConnectWifiWarning}
47
- component={ConnectWifiWarning}
82
+ name={Route.ConnectingWifiGuide}
83
+ component={ConnectingWifiGuide}
48
84
  />
49
- <Stack.Screen name={Route.GatewayWifiList} component={GatewayWifiList} />
50
85
  </Stack.Navigator>
51
86
  );
52
87
  });
@@ -20,7 +20,7 @@ import GatewayStack from './GatewayStack';
20
20
  import SmartStack from './SmartStack';
21
21
  import TemplateStack from './TemplateStack';
22
22
  import DrawerContainer from '../screens/Drawer';
23
- import { TESTID } from '../configs/Constants';
23
+ import { AccessibilityLabel } from '../configs/Constants';
24
24
  import Text from '../commons/Text';
25
25
  import { screenOptions } from './utils';
26
26
  import TemplateDetail from '../screens/Template/detail';
@@ -69,7 +69,7 @@ const MainDevMode = () => {
69
69
  <TouchableOpacity
70
70
  style={styles.btnMenu}
71
71
  onPress={() => navigation.toggleDrawer()}
72
- testID={TESTID.BURGER_MENU_ICON}
72
+ accessibilityLabel={AccessibilityLabel.BURGER_MENU_ICON}
73
73
  >
74
74
  <Image source={Images.menu} style={styles.menu} />
75
75
  </TouchableOpacity>
@@ -0,0 +1,52 @@
1
+ import { createStackNavigator } from '@react-navigation/stack';
2
+ import React, { memo } from 'react';
3
+ import SmartAccount from '../screens/SmartAccount';
4
+ import SmartAccountConnecting from '../screens/SmartAccount/Connecting';
5
+ import ListDeviceSmartAccount from '../screens/SmartAccount/ListDevice';
6
+ import SuccessfullyConnected from '../screens/SmartAccount/SuccessfullyConnected';
7
+
8
+ import Route from '../utils/Route';
9
+ import { screenOptions } from './utils';
10
+
11
+ const Stack = createStackNavigator();
12
+
13
+ export const SmartAccountStack = memo(() => {
14
+ return (
15
+ <Stack.Navigator
16
+ screenOptions={{
17
+ ...screenOptions,
18
+ headerShown: false,
19
+ animationEnabled: false,
20
+ }}
21
+ >
22
+ <Stack.Screen
23
+ name={Route.SmartAccount}
24
+ component={SmartAccount}
25
+ options={{
26
+ headerShown: false,
27
+ }}
28
+ />
29
+ <Stack.Screen
30
+ name={Route.SmartAccountConnecting}
31
+ component={SmartAccountConnecting}
32
+ options={{
33
+ headerShown: false,
34
+ }}
35
+ />
36
+ <Stack.Screen
37
+ name={Route.ListDeviceSmartAccount}
38
+ component={ListDeviceSmartAccount}
39
+ options={{
40
+ headerShown: false,
41
+ }}
42
+ />
43
+ <Stack.Screen
44
+ name={Route.SuccessfullyConnected}
45
+ component={SuccessfullyConnected}
46
+ options={{
47
+ headerShown: false,
48
+ }}
49
+ />
50
+ </Stack.Navigator>
51
+ );
52
+ });
@@ -1,7 +1,7 @@
1
1
  import { createStackNavigator } from '@react-navigation/stack';
2
2
  import React, { memo } from 'react';
3
3
 
4
- import SelectDeviceType from '../screens/SmartIr/components/SelectDeviceType';
4
+ import SelectIrDeviceType from '../screens/SmartIr/components/SelectIrDeviceType';
5
5
  import SelectBrand from '../screens/SmartIr/components/SelectBrand';
6
6
  import GroupButtonByType from '../screens/SmartIr/components/GroupButtonByType/GroupButtonByType';
7
7
  import Route from '../utils/Route';
@@ -18,8 +18,8 @@ export const SmartIrStack = memo(() => {
18
18
  }}
19
19
  >
20
20
  <Stack.Screen
21
- name={Route.SelectDeviceType}
22
- component={SelectDeviceType}
21
+ name={Route.SelectIrDeviceType}
22
+ component={SelectIrDeviceType}
23
23
  />
24
24
  <Stack.Screen name={Route.SelectBrand} component={SelectBrand} />
25
25
  <Stack.Screen
@@ -68,7 +68,7 @@ export const UnitStack = memo((props) => {
68
68
  const t = useTranslations();
69
69
  const { setAction } = useContext(SCContext);
70
70
  const { route } = props;
71
- const { unitId, unitData, isSuccessfullyConnected } = route.params.params;
71
+ const { unitId, unitData, isSuccessfullyConnected } = route?.params?.params;
72
72
 
73
73
  useEffect(() => {
74
74
  const unsubscribe = NetInfo.addEventListener((state) => {
@@ -4,7 +4,7 @@ import { useSelector } from 'react-redux';
4
4
  import { act, create } from 'react-test-renderer';
5
5
  import AQIGuide from '..';
6
6
  import Text from '../../../commons/Text';
7
- import { TESTID } from '../../../configs/Constants';
7
+ import { AccessibilityLabel } from '../../../configs/Constants';
8
8
  import { SCProvider } from '../../../context';
9
9
  import { mockSCStore } from '../../../context/mockStore';
10
10
 
@@ -43,11 +43,13 @@ describe('test AQIGuide', () => {
43
43
  const instance = tree.root;
44
44
  const mainTitles = instance.findAll(
45
45
  (el) =>
46
- el.props.testID === TESTID.AQI_GUIDE_MAIN_TITLE && el.type === Text
46
+ el.props.accessibilityLabel ===
47
+ AccessibilityLabel.AQI_GUIDE_MAIN_TITLE && el.type === Text
47
48
  );
48
49
  const uvindexTitles = instance.findAll(
49
50
  (el) =>
50
- el.props.testID === TESTID.AQI_GUIDE_UVINDEX_TITLE && el.type === Text
51
+ el.props.accessibilityLabel ===
52
+ AccessibilityLabel.AQI_GUIDE_UVINDEX_TITLE && el.type === Text
51
53
  );
52
54
  expect(mainTitles).toHaveLength(2);
53
55
  expect(uvindexTitles).toHaveLength(6);
@@ -10,7 +10,7 @@ import { useTranslations } from '../../hooks/Common/useTranslations';
10
10
 
11
11
  import { Colors, Theme } from '../../configs';
12
12
  import useTitleHeader from '../../hooks/Common/useTitleHeader';
13
- import { TESTID } from '../../configs/Constants';
13
+ import { AccessibilityLabel } from '../../configs/Constants';
14
14
 
15
15
  import Text from '../../commons/Text';
16
16
  import SvgSmile from '../../../assets/images/Feeling/smile.svg';
@@ -89,7 +89,7 @@ const AQIGuide = memo(() => {
89
89
  return (
90
90
  <View key={index.toString()}>
91
91
  <Text
92
- testID={TESTID.AQI_GUIDE_MAIN_TITLE}
92
+ accessibilityLabel={AccessibilityLabel.AQI_GUIDE_MAIN_TITLE}
93
93
  semibold
94
94
  type="H3"
95
95
  color={Colors.Gray9}
@@ -121,7 +121,9 @@ const AQIGuide = memo(() => {
121
121
  </View>
122
122
  <View style={styles.contentBox}>
123
123
  <Text
124
- testID={TESTID.AQI_GUIDE_UVINDEX_TITLE}
124
+ accessibilityLabel={
125
+ AccessibilityLabel.AQI_GUIDE_UVINDEX_TITLE
126
+ }
125
127
  semibold
126
128
  type="H4"
127
129
  color={color}
@@ -12,7 +12,7 @@ import { useBoolean } from '../../hooks/Common';
12
12
 
13
13
  import { Colors } from '../../configs';
14
14
  import styles from './styles/filterPopupStyles';
15
- import { TESTID } from '../../configs/Constants';
15
+ import { AccessibilityLabel } from '../../configs/Constants';
16
16
  import { ModalCustom } from '../../commons/Modal';
17
17
 
18
18
  const RowMember = ({ member, isSelected, onSelect }) => {
@@ -23,7 +23,7 @@ const RowMember = ({ member, isSelected, onSelect }) => {
23
23
  <TouchableOpacity
24
24
  style={styles.row}
25
25
  onPress={handleOnPress}
26
- testID={TESTID.ITEM_USER_FILTER}
26
+ accessibilityLabel={AccessibilityLabel.ITEM_USER_FILTER}
27
27
  >
28
28
  <RadioCircle active={isSelected} />
29
29
  <View style={styles.wrapText}>