@eohjsc/react-native-smart-city 0.2.99 → 0.3.2

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 (224) hide show
  1. package/README.md +1 -1
  2. package/package.json +6 -4
  3. package/react-native-smart-city.podspec +1 -0
  4. package/src/commons/Action/ItemQuickAction.js +11 -2
  5. package/src/commons/Action/__test__/ItemQuickAction.test.js +11 -6
  6. package/src/commons/ActionGroup/CurtainButtonTemplate.js +10 -5
  7. package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +31 -20
  8. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/__test__/index.test.js +4 -0
  9. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/ItemPasscode.js +1 -1
  10. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/ItemPasscode.test.js +24 -0
  11. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/__test__/index.test.js +14 -0
  12. package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +1 -1
  13. package/src/commons/ActionGroup/SmartTiviActionTemplate/SmartTiviActionTemplate.js +3 -2
  14. package/src/commons/ActionGroup/StatesGridActionTemplate.js +8 -4
  15. package/src/commons/ActionGroup/TimerActionTemplate.js +2 -2
  16. package/src/commons/ActionGroup/TwoButtonTemplate/index.js +0 -1
  17. package/src/commons/ActionGroup/__test__/CurtainButtonTemplate.test.js +53 -4
  18. package/src/commons/ActionGroup/__test__/NumberUpDownTemplate.test.js +45 -48
  19. package/src/commons/ActionGroup/__test__/StatesGridActionTemplate.test.js +77 -0
  20. package/src/commons/ActionGroup/__test__/TimerActionTemplate.test.js +58 -6
  21. package/src/commons/ActionGroup/__test__/TwoButtonTemplate.test.js +49 -1
  22. package/src/commons/ActionGroup/__test__/index.test.js +137 -2
  23. package/src/commons/Automate/ItemAutomate.js +1 -3
  24. package/src/commons/Calendar/__test__/Calendar.test.js +33 -0
  25. package/src/commons/Connecting/__test__/Connecting.test.js +19 -2
  26. package/src/commons/ConnectingProcess/DeviceItem/DeviceItem.js +7 -3
  27. package/src/commons/ConnectingProcess/DeviceItem/DeviceItemStyles.js +8 -11
  28. package/src/commons/ConnectingProcess/__test__/Connecting.test.js +136 -3
  29. package/src/commons/ConnectingProcess/__test__/DeviceItem.test.js +3 -2
  30. package/src/commons/ConnectingProcess/index.js +72 -25
  31. package/src/commons/Dashboard/MyPinnedSharedUnit/__test__/MyPinnedSharedUnit.test.js +16 -13
  32. package/src/commons/Dashboard/MyPinnedSharedUnit/index.js +1 -1
  33. package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +0 -5
  34. package/src/commons/Device/ConnectedViewHeader.js +1 -1
  35. package/src/commons/Device/Hanet/ItemHanetDevice.test.js +58 -0
  36. package/src/commons/Device/HistoryChart.js +3 -3
  37. package/src/commons/Device/ItemDevice.js +15 -11
  38. package/src/commons/Device/LinearChart.js +15 -0
  39. package/src/commons/Device/SonosSpeaker/index.js +1 -1
  40. package/src/commons/Explore/__test__/CityItem.test.js +33 -54
  41. package/src/commons/FieldTemplate/ChooseUserField/__test__/index.test.js +19 -14
  42. package/src/commons/FieldTemplate/PasscodeField/__test__/index.test.js +0 -3
  43. package/src/commons/FieldTemplate/ScheduleField/__test__/index.test.js +0 -3
  44. package/src/commons/FieldTemplate/ScheduleField/index.js +2 -2
  45. package/src/commons/Header/HeaderCustom.js +2 -1
  46. package/src/commons/HorizontalPicker/index.js +2 -2
  47. package/src/commons/MediaPlayerDetail/Styles/MediaPlayerDetailStyles.js +0 -6
  48. package/src/commons/MediaPlayerDetail/index.js +24 -55
  49. package/src/commons/Sharing/__test__/DevicePermissionsCheckbox.test.js +0 -1
  50. package/src/commons/SubUnit/Favorites/index.js +2 -3
  51. package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +8 -35
  52. package/src/commons/SubUnit/OneTap/index.js +1 -2
  53. package/src/commons/SubUnit/ShortDetail.js +25 -9
  54. package/src/commons/SubUnit/__test__/Item.test.js +0 -1
  55. package/src/commons/SubUnit/__test__/ShortDetail.test.js +8 -1
  56. package/src/commons/Unit/SharedUnit.js +1 -0
  57. package/src/commons/Unit/__test__/SharedUnit.test.js +38 -183
  58. package/src/commons/UnitSummary/ConfigHistoryChart/index.js +2 -13
  59. package/src/commons/UnitSummary/ConfigHistoryChart.js +22 -13
  60. package/src/commons/WheelDateTimePicker/index.js +2 -2
  61. package/src/configs/API.js +85 -144
  62. package/src/configs/Constants.js +24 -0
  63. package/src/configs/SCConfig.js +2 -0
  64. package/src/context/actionType.ts +8 -0
  65. package/src/context/mockStore.ts +10 -0
  66. package/src/context/reducer.ts +38 -2
  67. package/src/hooks/Common/index.js +2 -0
  68. package/src/hooks/Common/useGGHomeDeviceConnected.js +16 -0
  69. package/src/hooks/Common/useGetIdUser.js +1 -5
  70. package/src/hooks/Common/useSensorsStatus.js +4 -4
  71. package/src/hooks/IoT/__test__/useGGHomeConnection.test.js +198 -0
  72. package/src/hooks/IoT/__test__/useRemoteControl.test.js +198 -0
  73. package/src/hooks/IoT/index.js +4 -0
  74. package/src/hooks/IoT/useGGHomeConnection.js +91 -0
  75. package/src/hooks/IoT/useRemoteControl.js +79 -0
  76. package/src/hooks/index.js +4 -0
  77. package/src/hooks/useReceiveNotifications.js +9 -5
  78. package/src/iot/Monitor.js +3 -2
  79. package/src/iot/RemoteControl/Bluetooth.js +1 -1
  80. package/src/iot/RemoteControl/GoogleHome.js +75 -49
  81. package/src/iot/RemoteControl/Internet.js +1 -1
  82. package/src/iot/RemoteControl/__test__/GoogleHome.test.js +95 -48
  83. package/src/iot/RemoteControl/__test__/Internet.test.js +18 -7
  84. package/src/iot/RemoteControl/__test__/LgThinq.test.js +36 -177
  85. package/src/iot/RemoteControl/index.js +52 -52
  86. package/src/screens/ActivityLog/__test__/index.test.js +38 -23
  87. package/src/screens/ActivityLog/hooks/__test__/index.test.js +51 -90
  88. package/src/screens/ActivityLog/hooks/index.js +1 -1
  89. package/src/screens/ActivityLog/index.js +2 -2
  90. package/src/screens/AddCommon/__test__/SelectSubUnit.test.js +13 -24
  91. package/src/screens/AddCommon/__test__/SelectUnit.test.js +9 -33
  92. package/src/screens/AddLocationMaps/index.js +5 -4
  93. package/src/screens/AddNewAction/SelectAction.js +8 -8
  94. package/src/screens/AddNewAction/SetupSensor.js +7 -7
  95. package/src/screens/AddNewAction/__test__/SelectAction.test.js +10 -91
  96. package/src/screens/AddNewAction/__test__/SelectSensorDevices.test.js +40 -26
  97. package/src/screens/AddNewDevice/ConnectingDevices.js +3 -3
  98. package/src/screens/AddNewDevice/__test__/AddNewDevice.test.js +34 -33
  99. package/src/screens/AddNewDevice/__test__/ConnectDevices.test.js +0 -4
  100. package/src/screens/AddNewDevice/__test__/ConnectingDevices.test.js +21 -21
  101. package/src/screens/AddNewDevice/hooks/ConnectDevices.js +1 -1
  102. package/src/screens/AddNewGateway/PlugAndPlay/ConnectWifiWarning.js +23 -17
  103. package/src/screens/AddNewGateway/PlugAndPlay/GatewayWifiList.js +3 -3
  104. package/src/screens/AddNewGateway/SetupGatewayWifi.js +1 -0
  105. package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +4 -6
  106. package/src/screens/AddNewGateway/__test__/ConnectedGateway.test.js +0 -4
  107. package/src/screens/AddNewGateway/__test__/ConnectingGateway.test.js +5 -29
  108. package/src/screens/AddNewGateway/__test__/SelectGateway.test.js +0 -4
  109. package/src/screens/AddNewGateway/__test__/SetupGateway.test.js +0 -4
  110. package/src/screens/AddNewOneTap/__test__/AddNewOneTap.test.js +9 -23
  111. package/src/screens/AllCamera/index.js +4 -4
  112. package/src/screens/Automate/MultiUnits.js +8 -8
  113. package/src/screens/Automate/__test__/MultiUnits.test.js +6 -9
  114. package/src/screens/Automate/__test__/index.test.js +7 -12
  115. package/src/screens/Automate/index.js +3 -3
  116. package/src/screens/ConfirmUnitDeletion/__test__/ConfirmUnitDeletion.test.js +36 -8
  117. package/src/screens/ConfirmUnitDeletion/index.js +7 -1
  118. package/src/screens/Device/EditDevice/__test__/EditDevice.test.js +71 -22
  119. package/src/screens/Device/EditDevice/index.js +2 -2
  120. package/src/screens/Device/__test__/detail.test.js +32 -85
  121. package/src/screens/Device/components/DetailHistoryChart.js +1 -1
  122. package/src/screens/Device/components/SensorConnectStatusViewHeader.js +1 -0
  123. package/src/screens/Device/components/SensorDisplayItem.js +5 -2
  124. package/src/screens/Device/detail.js +53 -22
  125. package/src/screens/Device/hooks/useDisconnectedDevice.js +4 -4
  126. package/src/screens/Device/hooks/useFavoriteDevice.js +5 -9
  127. package/src/screens/DeviceInfo/__test__/index.test.js +0 -2
  128. package/src/screens/EditActionsList/index.js +1 -1
  129. package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +1 -1
  130. package/src/screens/EmergencyContacts/__test__/EmergencyContactAddNew.test.js +7 -19
  131. package/src/screens/EmergencyContacts/__test__/EmergencyContactList.test.js +18 -14
  132. package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +30 -31
  133. package/src/screens/EmergencySetting/components/DropDownItem.js +2 -2
  134. package/src/screens/EnterPassword/__test__/EnterPassword.test.js +41 -25
  135. package/src/screens/GuestInfo/__test__/index.test.js +13 -40
  136. package/src/screens/HanetCamera/Detail.js +1 -1
  137. package/src/screens/HanetCamera/__test__/CaptureFaceID.test.js +8 -12
  138. package/src/screens/HanetCamera/__test__/Detail.test.js +27 -42
  139. package/src/screens/HanetCamera/__test__/ManageAccess.test.js +8 -5
  140. package/src/screens/HanetCamera/__test__/MemberInfo.test.js +10 -32
  141. package/src/screens/HanetCamera/components/RequestFaceIDPopup.js +3 -2
  142. package/src/screens/HanetCamera/hooks/__test__/useHanetCheckinData.test.js +43 -35
  143. package/src/screens/HanetCamera/hooks/__test__/useHanetPlaceMembers.test.js +10 -21
  144. package/src/screens/HanetCamera/hooks/useHanetCheckinData.js +11 -11
  145. package/src/screens/HanetCamera/hooks/useHanetPlaceMembers.js +11 -11
  146. package/src/screens/ManageAccess/__test__/ManageAccess.test.js +33 -22
  147. package/src/screens/ManageAccess/hooks/__test__/useManageAccess.test.js +44 -45
  148. package/src/screens/ManageAccess/hooks/index.js +7 -4
  149. package/src/screens/ManageAccess/index.js +1 -1
  150. package/src/screens/MoveToAnotherSubUnit/__test__/index.test.js +35 -12
  151. package/src/screens/MoveToAnotherSubUnit/index.js +5 -5
  152. package/src/screens/Notification/__test__/Notification.test.js +14 -25
  153. package/src/screens/Notification/__test__/NotificationItem.test.js +8 -7
  154. package/src/screens/Notification/components/NotificationItem.js +17 -20
  155. package/src/screens/Notification/index.js +9 -2
  156. package/src/screens/PlayBackCamera/Timer.js +2 -2
  157. package/src/screens/PlayBackCamera/__test__/index.test.js +87 -2
  158. package/src/screens/PlayBackCamera/index.js +22 -6
  159. package/src/screens/ScanChipQR/__test__/ScanChipQR.test.js +7 -20
  160. package/src/screens/ScanChipQR/hooks/index.js +15 -16
  161. package/src/screens/ScanSensorQR/__test__/ScanSensorQR.test.js +8 -24
  162. package/src/screens/ScriptDetail/__test__/index.test.js +17 -86
  163. package/src/screens/ScriptDetail/index.js +16 -11
  164. package/src/screens/SelectUnit/__test__/index.test.js +11 -54
  165. package/src/screens/SelectUnit/index.js +4 -2
  166. package/src/screens/SetSchedule/index.js +9 -9
  167. package/src/screens/SharedUnit/__test__/TabHeader.test.js +0 -2
  168. package/src/screens/Sharing/Components/SensorItem.js +10 -12
  169. package/src/screens/Sharing/InfoMemberUnit.js +1 -1
  170. package/src/screens/Sharing/SelectPermission.js +121 -76
  171. package/src/screens/Sharing/__test__/InfoMemberUnit.test.js +47 -29
  172. package/src/screens/Sharing/__test__/MemberList.test.js +13 -127
  173. package/src/screens/Sharing/__test__/MemberList2.test.js +80 -0
  174. package/src/screens/Sharing/__test__/SelectPermission.test.js +28 -38
  175. package/src/screens/Sharing/__test__/SelectUser.test.js +17 -38
  176. package/src/screens/SideMenuDetail/__test__/index.test.js +12 -23
  177. package/src/screens/SideMenuDetail/index.js +2 -3
  178. package/src/screens/SmartIr/components/GroupButtonByType/GroupButtonByType.js +3 -2
  179. package/src/screens/SubUnit/Detail.js +1 -2
  180. package/src/screens/SubUnit/ManageSubUnit.js +12 -7
  181. package/src/screens/SubUnit/__test__/AddSubUnit.test.js +21 -67
  182. package/src/screens/SubUnit/__test__/Detail.test.js +31 -8
  183. package/src/screens/SubUnit/__test__/EditSubUnit.test.js +21 -89
  184. package/src/screens/SubUnit/__test__/ManageSubUnit.test.js +27 -1
  185. package/src/screens/SubUnit/hooks/__test__/useManageSubUnit.test.js +48 -45
  186. package/src/screens/SubUnit/hooks/useManageSubUnit.js +7 -7
  187. package/src/screens/SyncLGDevice/__test__/AddLGDevice.test.js +14 -90
  188. package/src/screens/Unit/ChooseLocation.js +7 -14
  189. package/src/screens/Unit/Detail.js +30 -75
  190. package/src/screens/Unit/ManageUnit.js +1 -0
  191. package/src/screens/Unit/SelectAddress.js +34 -21
  192. package/src/screens/Unit/SmartAccount.js +4 -4
  193. package/src/screens/Unit/Summaries.js +17 -1
  194. package/src/screens/Unit/__test__/CheckSendEmail.test.js +24 -29
  195. package/src/screens/Unit/__test__/ChooseLocation.test.js +27 -14
  196. package/src/screens/Unit/__test__/Detail.test.js +99 -200
  197. package/src/screens/Unit/__test__/ManageUnit.test.js +18 -42
  198. package/src/screens/Unit/__test__/SelectAddress.test.js +84 -51
  199. package/src/screens/Unit/__test__/SmartAccount.test.js +17 -9
  200. package/src/screens/Unit/__test__/SmartAccountItem.test.js +0 -1
  201. package/src/screens/Unit/__test__/Summaries.test.js +100 -0
  202. package/src/screens/Unit/components/MyAllUnit/__test__/MyAllUnit.test.js +36 -0
  203. package/src/screens/Unit/components/MyAllUnit/__test__/index.test.js +54 -0
  204. package/src/screens/Unit/components/SharedUnit/index.js +1 -0
  205. package/src/screens/Unit/components/__test__/SharedUnit.test.js +31 -34
  206. package/src/screens/Unit/hook/useUnitConnectRemoteDevices.js +50 -0
  207. package/src/screens/Unit/styles.js +4 -0
  208. package/src/screens/UnitSummary/__test__/index.test.js +70 -41
  209. package/src/screens/UnitSummary/components/3PPowerConsumption/__test__/3PPowerConsumption.test.js +31 -2
  210. package/src/screens/UnitSummary/components/PowerConsumeHistoryChart/__test__/index.test.js +7 -4
  211. package/src/screens/UnitSummary/components/PowerConsumeHistoryChart/index.js +2 -13
  212. package/src/screens/UnitSummary/components/PowerConsumption/__test__/ItemPower.test.js +0 -1
  213. package/src/screens/UnitSummary/components/PowerConsumption/__test__/PowerConsumption.test.js +14 -16
  214. package/src/screens/UnitSummary/components/RunningDevices/__test__/index.test.js +11 -2
  215. package/src/screens/UnitSummary/components/RunningDevices/index.js +7 -10
  216. package/src/screens/UnitSummary/components/Temperature/index.js +4 -4
  217. package/src/screens/UnitSummary/components/WaterQuality/Item/index.js +10 -2
  218. package/src/screens/UnitSummary/index.js +15 -1
  219. package/src/utils/Apis/axios.js +46 -31
  220. package/src/utils/Converter/time.js +0 -18
  221. package/src/utils/I18n/translations/en.json +4 -1
  222. package/src/utils/I18n/translations/vi.json +5 -1
  223. package/src/utils/Permission/common.js +67 -0
  224. package/src/utils/Utils.js +11 -7
@@ -2,200 +2,147 @@ import { SCConfig } from './SCConfig';
2
2
 
3
3
  const API = {
4
4
  UNIT: {
5
- MY_UNITS: () => SCConfig.apiRoot + '/property_manager/units/mine/',
6
- SHARED_UNITS: () => SCConfig.apiRoot + '/property_manager/shared_units/',
7
- CREATE_UNIT: () => SCConfig.apiRoot + '/property_manager/units/',
8
- UNIT_DETAIL: (id) => SCConfig.apiRoot + `/property_manager/units/${id}/`,
9
- UNIT_NEAR_ME: (lat, lon, page) =>
10
- SCConfig.apiRoot +
11
- `/property_manager/units/near-me/${lat},${lon}/?page=${page}`,
12
- UNITS_PUBLIC: () => SCConfig.apiRoot + '/property_manager/units/public/',
13
- UNIT_SUMMARY: (id) =>
14
- SCConfig.apiRoot + `/property_manager/units/${id}/summary/`,
5
+ MY_UNITS: () => '/property_manager/units/mine/',
6
+ SHARED_UNITS: () => '/property_manager/shared_units/',
7
+ CREATE_UNIT: () => '/property_manager/units/',
8
+ UNIT_DETAIL: (id) => `/property_manager/units/${id}/`,
9
+ UNITS_PUBLIC: () => '/property_manager/units/public/',
10
+ UNIT_SUMMARY: (id) => `/property_manager/units/${id}/summary/`,
15
11
  UNIT_SUMMARY_DETAIL: (id, id2) =>
16
- SCConfig.apiRoot + `/property_manager/units/${id}/summary_detail/${id2}/`,
12
+ `/property_manager/units/${id}/summary_detail/${id2}/`,
17
13
  FILTER_SHARED_UNITS: (field) =>
18
- SCConfig.apiRoot + `/property_manager/shared_units/?ordering=${field}`,
19
- STAR_UNIT: (id) => SCConfig.apiRoot + `/property_manager/units/${id}/star/`,
20
- UNSTAR_UNIT: (id) =>
21
- SCConfig.apiRoot + `/property_manager/units/${id}/unstar/`,
22
- PIN_UNIT: (id) => SCConfig.apiRoot + `/property_manager/units/${id}/pin/`,
23
- UNPIN_UNIT: (id) =>
24
- SCConfig.apiRoot + `/property_manager/units/${id}/unpin/`,
25
- MANAGE_UNIT: (id) => SCConfig.apiRoot + `/property_manager/units/${id}/`,
26
- CHIP_SCAN: (id) =>
27
- SCConfig.apiRoot + `/property_manager/units/${id}/chip_scan/`,
14
+ `/property_manager/shared_units/?ordering=${field}`,
15
+ STAR_UNIT: (id) => `/property_manager/units/${id}/star/`,
16
+ UNSTAR_UNIT: (id) => `/property_manager/units/${id}/unstar/`,
17
+ PIN_UNIT: (id) => `/property_manager/units/${id}/pin/`,
18
+ UNPIN_UNIT: (id) => `/property_manager/units/${id}/unpin/`,
19
+ MANAGE_UNIT: (id) => `/property_manager/units/${id}/`,
20
+ CHIP_SCAN: (id) => `/property_manager/units/${id}/chip_scan/`,
28
21
  CHIP_SCAN_GET_WIFI_INFO: () =>
29
- SCConfig.apiRoot + '/property_manager/units/chip_scan_get_wifi_info/',
30
- MANAGE_ACCESS: (id) =>
31
- SCConfig.apiRoot + `/property_manager/manage_access/${id}/`,
32
- AUTOMATE: (id) =>
33
- SCConfig.apiRoot + `/property_manager/units/${id}/automate/`,
34
- DEVICE_CONTROL: (id) =>
35
- SCConfig.apiRoot + `/property_manager/units/${id}/device_control/`,
36
- DEVICE_SENSOR: (id) =>
37
- SCConfig.apiRoot + `/property_manager/units/${id}/device_sensor/`,
38
- ADD_GATEWAY: (id) =>
39
- SCConfig.apiRoot + `/property_manager/units/${id}/add_gateway/`,
40
- SENSORS_STATUS: (id) =>
41
- SCConfig.apiRoot + `/property_manager/units/${id}/sensors_status/`,
42
- CHANGE_OWNER: (id) =>
43
- SCConfig.apiRoot + `/property_manager/units/${id}/change_owner/`,
22
+ '/property_manager/units/chip_scan_get_wifi_info/',
23
+ MANAGE_ACCESS: (id) => `/property_manager/manage_access/${id}/`,
24
+ AUTOMATE: (id) => `/property_manager/units/${id}/automate/`,
25
+ DEVICE_CONTROL: (id) => `/property_manager/units/${id}/device_control/`,
26
+ DEVICE_SENSOR: (id) => `/property_manager/units/${id}/device_sensor/`,
27
+ ADD_GATEWAY: (id) => `/property_manager/units/${id}/add_gateway/`,
28
+ SENSORS_STATUS: (id) => `/property_manager/units/${id}/sensors_status/`,
29
+ CHANGE_OWNER: (id) => `/property_manager/units/${id}/change_owner/`,
44
30
  FAVOURITE_DEVICES: (id) =>
45
- SCConfig.apiRoot + `/property_manager/units/${id}/favourite_devices/`,
31
+ `/property_manager/units/${id}/favourite_devices/`,
46
32
  },
47
33
  SUB_UNIT: {
48
34
  REMOVE_SUB_UNIT: (unitId, id) =>
49
- SCConfig.apiRoot + `/property_manager/${unitId}/sub_units/${id}/`,
50
- CREATE_SUB_UNIT: (unitId) =>
51
- SCConfig.apiRoot + `/property_manager/${unitId}/sub_units/`,
35
+ `/property_manager/${unitId}/sub_units/${id}/`,
36
+ CREATE_SUB_UNIT: (unitId) => `/property_manager/${unitId}/sub_units/`,
52
37
  MANAGE_SUB_UNIT: (unitId, id) =>
53
- SCConfig.apiRoot + `/property_manager/${unitId}/sub_units/${id}/`,
54
- SENSOR_SCAN: (id) =>
55
- SCConfig.apiRoot + `/property_manager/stations/${id}/sensor_scan/`,
38
+ `/property_manager/${unitId}/sub_units/${id}/`,
39
+ SENSOR_SCAN: (id) => `/property_manager/stations/${id}/sensor_scan/`,
56
40
  },
57
41
  CHIP: {
58
- CHECK_FINALIZED: () =>
59
- SCConfig.apiRoot + '/property_manager/stations/check_chip_finalized/',
60
- GET_CHIPS_FROM_UNIT: (id) =>
61
- SCConfig.apiRoot + `/property_manager/get_chips/?unit_id=${id}`,
42
+ CHECK_FINALIZED: () => '/property_manager/stations/check_chip_finalized/',
43
+ GET_CHIPS_FROM_UNIT: (id) => `/property_manager/get_chips/?unit_id=${id}`,
44
+ CHIP_DETAIL: (id) => `/chip_manager/chips/${id}/`,
62
45
  },
63
46
  SENSOR: {
64
- SENSOR_DETAIL: (id) =>
65
- SCConfig.apiRoot + `/property_manager/sensors/${id}/`,
66
- DISPLAY: (id) =>
67
- SCConfig.apiRoot + `/property_manager/sensors/${id}/display/`,
47
+ SENSOR_DETAIL: (id) => `/chip_manager/sensors/${id}/`,
48
+ },
49
+ DEVICE: {
50
+ SENSOR_DETAIL: (id) => `/property_manager/sensors/${id}/`,
51
+ DISPLAY: (id) => `/property_manager/sensors/${id}/display/`,
68
52
  SIDE_MENU_DETAIL: (id, side_menu_id) =>
69
- SCConfig.apiRoot +
70
53
  `/property_manager/sensors/${id}/display/side_menu/${side_menu_id}/`,
71
- DISPLAY_VALUES: (id) =>
72
- SCConfig.apiRoot + `/property_manager/sensors/${id}/display_values/`,
73
54
  DISPLAY_VALUES_V2: (id) =>
74
- SCConfig.apiRoot + `/property_manager/sensors/${id}/display_values_v2/`,
55
+ `/property_manager/sensors/${id}/display_values_v2/`,
75
56
  DISPLAY_HISTORY: (id, hId) =>
76
- SCConfig.apiRoot + `/property_manager/sensors/${id}/display_history/`,
77
- CAMERA_DISPLAY: (id) =>
78
- SCConfig.apiRoot + `/property_manager/sensors/${id}/cameras/`,
57
+ `/property_manager/sensors/${id}/display_history/`,
79
58
  REMOTE_CONTROL_OPTIONS: (id) =>
80
- SCConfig.apiRoot +
81
59
  `/property_manager/sensors/${id}/remote_control_options/`,
82
- QUICK_ACTION: (id) =>
83
- SCConfig.apiRoot + `/property_manager/sensors/${id}/quick_action/`,
60
+ TRIGGER_ACTION: (id) => `/property_manager/sensors/${id}/quick_action/`,
84
61
  CHECK_CONNECTION: (id) =>
85
- SCConfig.apiRoot + `/property_manager/sensors/${id}/check_connection/`,
62
+ `/property_manager/sensors/${id}/check_connection/`,
86
63
  UPDATE_SENSOR: (unit_id, station_id, id) =>
87
- SCConfig.apiRoot +
88
64
  `/property_manager/${unit_id}/sub_units/${station_id}/devices/${id}/`,
89
65
  ACTIVITY_LOG: () => SCConfig.apiRoot + '/chip_manager/action_log',
90
- ADD_TO_FAVOURITES: (unit_id, station_id, id) =>
91
- SCConfig.apiRoot +
92
- `/property_manager/${unit_id}/sub_units/${station_id}/devices/${id}/add_to_favourites/`,
93
- REMOVE_FROM_FAVOURITES: (unit_id, station_id, id) =>
94
- SCConfig.apiRoot +
95
- `/property_manager/${unit_id}/sub_units/${station_id}/devices/${id}/remove_from_favourites/`,
96
66
  DISPLAY_ACTIONS: (id) =>
97
67
  SCConfig.apiRoot + `/property_manager/sensors/${id}/display_actions/`,
98
68
  CHANGE_SUB_UNIT: (unit_id, station_id, id) =>
99
- SCConfig.apiRoot +
100
69
  `/property_manager/${unit_id}/sub_units/${station_id}/devices/${id}/change_sub_unit/`,
70
+ ADD_TO_FAVOURITES: (id) =>
71
+ SCConfig.apiRoot + `/property_manager/devices/${id}/add_to_favourites/`,
72
+ REMOVE_FROM_FAVOURITES: (id) =>
73
+ SCConfig.apiRoot +
74
+ `/property_manager/devices/${id}/remove_from_favourites/`,
101
75
  },
102
76
  SHARED_SENSOR: {
103
- ACCESS: (id) =>
104
- SCConfig.apiRoot + `/property_manager/shared_sensors/${id}/access/`,
77
+ ACCESS: (id) => `/property_manager/shared_sensors/${id}/access/`,
105
78
  },
106
79
  CONFIG: {
107
- DISPLAY_HISTORY: () =>
108
- SCConfig.apiRoot + '/property_manager/configs/display_history/',
80
+ DISPLAY_HISTORY: () => '/property_manager/configs/display_history/',
109
81
  },
110
82
  AUTOMATE: {
111
- ACTION_ONE_TAP: (id) =>
112
- SCConfig.apiRoot + `/property_manager/automate/${id}/action_one_tap/`,
113
- SCRIPT: (id) =>
114
- SCConfig.apiRoot + `/property_manager/automate/${id}/script/`,
83
+ ACTION_ONE_TAP: (id) => `/property_manager/automate/${id}/action_one_tap/`,
84
+ SCRIPT: (id) => `/property_manager/automate/${id}/script/`,
115
85
  ORDER_SCRIPT_ACTION: (id) =>
116
- SCConfig.apiRoot +
117
86
  `/property_manager/automate/${id}/order_script_action/`,
118
87
  DELETE_SCRIPT_ACTION: (automateId, actionId) =>
119
- SCConfig.apiRoot +
120
88
  `/property_manager/automate/${automateId}/script_action/${actionId}/`,
121
89
  ADD_SCRIPT_ACTION: (id) =>
122
- SCConfig.apiRoot + `/property_manager/automate/${id}/add_script_action/`,
123
- CREATE_AUTOMATE: () => SCConfig.apiRoot + '/property_manager/automate/',
90
+ `/property_manager/automate/${id}/add_script_action/`,
91
+ CREATE_AUTOMATE: () => '/property_manager/automate/',
124
92
  UPDATE_AUTOMATE: (automateId) =>
125
- SCConfig.apiRoot + `/property_manager/automate/${automateId}/`,
126
- STAR_SCRIPT: (id) =>
127
- SCConfig.apiRoot + `/property_manager/automate/${id}/star_script/`,
128
- UNSTAR_SCRIPT: (id) =>
129
- SCConfig.apiRoot + `/property_manager/automate/${id}/unstar_script/`,
130
- GET_SMART: () => SCConfig.apiRoot + '/property_manager/automate/smart/',
131
- GET_ALL_UNITS: () => SCConfig.apiRoot + '/property_manager/units/all_unit/',
93
+ `/property_manager/automate/${automateId}/`,
94
+ STAR_SCRIPT: (id) => `/property_manager/automate/${id}/star_script/`,
95
+ UNSTAR_SCRIPT: (id) => `/property_manager/automate/${id}/unstar_script/`,
96
+ GET_SMART: () => '/property_manager/automate/smart/',
97
+ GET_ALL_UNITS: () => '/property_manager/units/all_unit/',
132
98
  GET_SENSOR_CONFIG: (id) =>
133
- SCConfig.apiRoot + `/property_manager/sensors/${id}/display_configs/`,
134
- GET_MULTI_UNITS: () =>
135
- SCConfig.apiRoot + '/property_manager/automate/multi_unit/',
136
- ACTIVITY_LOG: (id) =>
137
- SCConfig.apiRoot + `/property_manager/automate/${id}/logs/`,
138
- STARRED_SCRIPTS: () =>
139
- SCConfig.apiRoot + '/property_manager/automate/starred_scripts/',
99
+ `/property_manager/sensors/${id}/display_configs/`,
100
+ GET_MULTI_UNITS: () => '/property_manager/automate/multi_unit/',
101
+ ACTIVITY_LOG: (id) => `/property_manager/automate/${id}/logs/`,
102
+ STARRED_SCRIPTS: () => '/property_manager/automate/starred_scripts/',
140
103
  },
141
104
  GOOGLE_HOME: {
142
- CHECK_SEND_EMAIL: () =>
143
- SCConfig.apiRoot + '/connection_manager/googlehome/check_send_email/',
105
+ CHECK_SEND_EMAIL: () => '/connection_manager/googlehome/check_send_email/',
144
106
  },
145
107
  VALUE_CONSUME: {
146
- DISPLAY_HISTORY: () =>
147
- SCConfig.apiRoot + '/property_manager/value_consume/display_history/',
108
+ DISPLAY_HISTORY: () => '/property_manager/value_consume/display_history/',
148
109
  },
149
110
  SHARE: {
150
- UNITS: () => SCConfig.apiRoot + '/property_manager/sharing/units/',
111
+ UNITS: () => '/property_manager/sharing/units/',
151
112
  UNIT_PERMISSIONS: (id) =>
152
- SCConfig.apiRoot + `/property_manager/sharing/units/${id}/permissions/`,
153
- UNITS_MEMBERS: (id) =>
154
- SCConfig.apiRoot + `/property_manager/sharing/units/${id}/members/`,
113
+ `/property_manager/sharing/units/${id}/permissions/`,
114
+ UNITS_MEMBERS: (id) => `/property_manager/sharing/units/${id}/members/`,
155
115
  UNITS_MEMBER_DETAIL: (id, shareId) =>
156
- SCConfig.apiRoot +
157
116
  `/property_manager/sharing/units/${id}/members/${shareId}/`,
158
117
  UNIT_MEMBER_INFO: (unit_id, member_id) =>
159
- SCConfig.apiRoot +
160
118
  `/property_manager/sharing/units/${unit_id}/member/${member_id}/information/`,
161
119
  UNIT_MEMBER_SHARE_DEVICE: (unit_id, member_id) =>
162
- SCConfig.apiRoot +
163
120
  `/property_manager/sharing/units/${unit_id}/member/${member_id}/shared_devices/`,
164
- SHARE: () => SCConfig.apiRoot + '/property_manager/sharing/share/',
121
+ SHARE: () => '/property_manager/sharing/share/',
165
122
  },
166
123
  EMERGENCY: {
167
- CONTACTS: () => SCConfig.apiRoot + '/emergency_button/contacts/',
124
+ CONTACTS: () => '/emergency_button/contacts/',
168
125
  },
169
126
  EMERGENCY_BUTTON: {
170
- CREATE_CONTACT: () => SCConfig.apiRoot + '/emergency_button/contacts/',
171
- CREATE_BATCH: () =>
172
- SCConfig.apiRoot + '/emergency_button/contacts/create_batch/',
173
- CONTACTS: () => SCConfig.apiRoot + '/emergency_button/contacts/',
174
- REMOVE_CONTACTS: (id) =>
175
- SCConfig.apiRoot + `/emergency_button/contacts/${id}/`,
176
- SEND_ALERT: () => SCConfig.apiRoot + '/emergency_button/events/',
177
- RESOLVE: (id) =>
178
- SCConfig.apiRoot + `/emergency_button/events/${id}/resolve/`,
179
- ACTIVITY_LOG: () => SCConfig.apiRoot + '/emergency_button/events/logs/',
127
+ CREATE_CONTACT: () => '/emergency_button/contacts/',
128
+ CREATE_BATCH: () => '/emergency_button/contacts/create_batch/',
129
+ CONTACTS: () => '/emergency_button/contacts/',
130
+ REMOVE_CONTACTS: (id) => `/emergency_button/contacts/${id}/`,
131
+ SEND_ALERT: () => '/emergency_button/events/',
132
+ RESOLVE: (id) => `/emergency_button/events/${id}/resolve/`,
133
+ ACTIVITY_LOG: () => '/emergency_button/events/logs/',
180
134
  },
181
135
  IOT: {
182
136
  CHIP_MANAGER: {
183
- WATCH_CONFIGS: () => SCConfig.apiRoot + '/chip_manager/watch_configs/',
184
- PUSHER_AUTH: () => SCConfig.apiRoot + '/chip_manager/pusher/auth/',
137
+ WATCH_CONFIGS: () => '/chip_manager/watch_configs/',
138
+ PUSHER_AUTH: () => '/chip_manager/pusher/auth/',
185
139
  },
186
140
  LG: {
187
- AUTHORIZE: (client_id, redirect_uri) =>
188
- // eslint-disable-next-line max-len
189
- `${SCConfig.LG_URL}/authorize?client_id=${client_id}&redirect_uri=${redirect_uri}&response_type=code&state=1`,
190
141
  GET_TOKEN: (client_id, code, redirect_uri, backend_url) =>
191
142
  // eslint-disable-next-line max-len
192
143
  `${SCConfig.LG_URL}/token?client_id=${client_id}&code=${code}&redirect_uri=${redirect_uri}&backend_url=${backend_url}&grant_type=authorization_code`,
193
- SYNC_DEVICE: () =>
194
- SCConfig.apiRoot + '/connection_manager/lg_thinq/sync_device/',
195
- CONTROL_DEVICE: () =>
196
- SCConfig.apiRoot + '/connection_manager/lg_thinq/control_device/',
144
+ SYNC_DEVICE: () => '/connection_manager/lg_thinq/sync_device/',
197
145
  DEVICE_STATUS: (sensorId) =>
198
- SCConfig.apiRoot +
199
146
  `/connection_manager/lg_thinq/device_status/${sensorId}/`,
200
147
  },
201
148
  VCONNEX: {
@@ -207,29 +154,24 @@ const API = {
207
154
  CAMERA: {
208
155
  HANET: {
209
156
  CHECKIN: (device_id) =>
210
- SCConfig.apiRoot +
211
157
  `/camera_manager/hanet/cameras/${device_id}/checkin/`,
212
158
  PLACE_MEMBERS: (place_id) =>
213
- SCConfig.apiRoot + `/camera_manager/hanet/places/${place_id}/members/`,
159
+ `/camera_manager/hanet/places/${place_id}/members/`,
214
160
  RENAME_MEMBER: (place_id, member_id) =>
215
- SCConfig.apiRoot +
216
161
  `/camera_manager/hanet/places/${place_id}/members/${member_id}/rename/`,
217
162
  REMOVE_MEMBER: (place_id, member_id) =>
218
- SCConfig.apiRoot +
219
163
  `/camera_manager/hanet/places/${place_id}/members/${member_id}/`,
220
164
  UPDATE_FACE_ID: (place_id, member_id) =>
221
- SCConfig.apiRoot +
222
165
  `/camera_manager/hanet/places/${place_id}/members/${member_id}/update_face_id/`,
223
166
  REGISTER: (place_id) =>
224
- SCConfig.apiRoot + `/camera_manager/hanet/places/${place_id}/members/`,
225
- PUSHER_AUTH: () =>
226
- SCConfig.apiRoot + '/camera_manager/hanet/pusher/auth/',
167
+ `/camera_manager/hanet/places/${place_id}/members/`,
168
+ PUSHER_AUTH: () => '/camera_manager/hanet/pusher/auth/',
227
169
  },
228
170
  },
229
171
  NOTIFICATION: {
230
172
  LIST_EOH_NOTIFICATIONS: (page, type) =>
231
- SCConfig.apiRoot + `/notifications/eoh/?page=${page}&type=${type}`,
232
- SET_READ: (id) => SCConfig.apiRoot + `/notifications/eoh/${id}/set_read/`,
173
+ `/notifications/eoh/?page=${page}&type=${type}`,
174
+ SET_READ: (id) => `/notifications/eoh/${id}/set_read/`,
233
175
  },
234
176
  EXTERNAL: {
235
177
  GOOGLE_MAP: {
@@ -242,13 +184,12 @@ const API = {
242
184
  },
243
185
  },
244
186
  SMART_ACCOUNT: {
245
- LIST_SMART_ACCOUNT: () =>
246
- SCConfig.apiRoot + '/smart_account/smart_accounts/',
247
- REMOVE_SMART_ACCOUNT: (id) =>
248
- SCConfig.apiRoot + `/smart_account/smart_accounts/${id}/`,
187
+ LIST_SMART_ACCOUNT: (unitId) =>
188
+ `/property_manager/units/${unitId}/list_smart_account/`,
189
+ REMOVE_SMART_ACCOUNT: (id) => `/smart_account/smart_accounts/${id}/`,
249
190
  },
250
191
  PUSHER: {
251
- AUTH: () => SCConfig.apiRoot + '/smart_parking/pusher/auth/',
192
+ AUTH: () => '/smart_parking/pusher/auth/',
252
193
  },
253
194
  };
254
195
 
@@ -174,6 +174,16 @@ export const UNIT_TYPES = {
174
174
  SINGLE: 'SingleUnit',
175
175
  };
176
176
 
177
+ export const MAP_INITIAL_REGION = {
178
+ LAT: 0.0922,
179
+ LNG: 0.0421,
180
+ };
181
+
182
+ export const EOH_LOCATION = {
183
+ LAT: 10.79111111,
184
+ LNG: 106.73333333,
185
+ };
186
+
177
187
  export const TESTID = {
178
188
  // Dashboard
179
189
  DASHBOARD_TAB_HOME: 'DASHBOARD_TAB_HOME',
@@ -217,6 +227,9 @@ export const TESTID = {
217
227
  MY_UNIT_NO_UNIT: 'MY_UNIT_NO_UNIT',
218
228
  ITEM_UNIT: 'ITEM_UNIT',
219
229
 
230
+ // ConfirmUnitDeletion
231
+ CONFIRM_UNIT_DELETION_BUTTON: 'CONFIRM_UNIT_DELETION_BUTTON',
232
+
220
233
  //member list
221
234
  SHARING_MEMBER: 'SHARING_MEMBER',
222
235
  REMOVE_MEMBER: 'REMOVE_MEMBER',
@@ -274,6 +287,8 @@ export const TESTID = {
274
287
  SUB_UNIT_SELECT_AUTOMATE_TYPE: 'SUB_UNIT_SELECT_AUTOMATE_TYPE',
275
288
  SUB_UNIT_TEXT_DROPDOWN: 'SUB_UNIT_TEXT_DROPDOWN',
276
289
  SUB_UNIT_GO_DETAIL: 'SUB_UNIT_GO_DETAIL',
290
+ VIEW_SUB_UNIT_AUTOMATE: 'VIEW_SUB_UNIT_AUTOMATE',
291
+ ADD_SUB_UNIT: 'ADD_SUB_UNIT',
277
292
 
278
293
  // NavBar
279
294
  NAVBAR_ICON_BARS: 'NAVBAR_ICON_BARS',
@@ -667,6 +682,8 @@ export const TESTID = {
667
682
  NUMBER_UP_DOWN_ACTION_DOWN: 'NUMBER_UP_DOWN_ACTION_DOWN',
668
683
  NUMBER_UP_DOWN_ACTION_UP: 'NUMBER_UP_DOWN_ACTION_UP',
669
684
  NUMBER_UP_DOWN_ACTION_DONE: 'NUMBER_UP_DOWN_ACTION_DONE',
685
+ NUMBER_ACTION_UP: 'NUMBER_ACTION_UP',
686
+ NUMBER_ACTION_DOWN: 'NUMBER_ACTION_DOWN',
670
687
 
671
688
  // Add New Device LG
672
689
  ADD_NEW_DEVICE_LG_ADD: 'ADD_NEW_DEVICE_LG_ADD',
@@ -737,6 +754,13 @@ export const TESTID = {
737
754
 
738
755
  PASSCODE_FIELD: 'PASSCODE_FIELD',
739
756
  SUBMIT: 'SUBMIT',
757
+
758
+ //Payback camera
759
+ OPEN_DATE_MODAL: 'OPEN_DATE_MODAL',
760
+ ON_PRESS_CANCEL: 'ON_PRESS_CANCEL',
761
+ ON_PRESS_OK: 'ON_PRESS_OK',
762
+ ON_PRESS_ADD_DATE: 'ON_PRESS_ADD_DATE',
763
+ ON_PRESS_SUB_DATE: 'ON_PRESS_SUB_DATE',
740
764
  };
741
765
 
742
766
  export const NOTIFICATION_TYPES = {
@@ -1,4 +1,5 @@
1
1
  import { LocaleConfig } from 'react-native-calendars';
2
+ import api from '../utils/Apis/axios';
2
3
 
3
4
  LocaleConfig.locales.vi = {
4
5
  monthNames: [
@@ -109,6 +110,7 @@ export class SCConfig {
109
110
  }
110
111
 
111
112
  export const initSCConfig = (config) => {
113
+ api.setBaseURL(config.apiRoot ?? SCDefaultConfig.apiRoot);
112
114
  LocaleConfig.defaultLocale = config.language;
113
115
  SCConfig.apiRoot = config.apiRoot ?? SCDefaultConfig.apiRoot;
114
116
  SCConfig.GOOGLE_MAP_API_KEY =
@@ -17,6 +17,8 @@ export const Action = {
17
17
  SET_STARRED_SCRIPTS: 'SET_STARRED_SCRIPTS',
18
18
  STAR_SCRIPT: 'STAR_SCRIPT',
19
19
  UNSTAR_SCRIPT: 'UNSTAR_SCRIPT',
20
+ SET_GOOGLE_HOME_CONNECTIONS: 'SET_GOOGLE_HOME_CONNECTIONS',
21
+ CHANGE_GOOGLE_HOME_CONN_STATE: 'CHANGE_GOOGLE_HOME_CONN_STATE',
20
22
  };
21
23
 
22
24
  export type AuthData = {
@@ -74,3 +76,9 @@ export type AppType = {
74
76
  isNetworkConnected: boolean;
75
77
  camera_opened: any[];
76
78
  };
79
+
80
+ export type IoTType = {
81
+ googlehome: {
82
+ connections: {};
83
+ };
84
+ };
@@ -31,6 +31,9 @@ export const mockDataStore: ContextData = {
31
31
  automate: {
32
32
  starredScriptIds: [],
33
33
  },
34
+ iot: {
35
+ googlehome: {},
36
+ },
34
37
  };
35
38
 
36
39
  export const mockSCStore = (data: ContextData): ContextData => {
@@ -71,5 +74,12 @@ export const mockSCStore = (data: ContextData): ContextData => {
71
74
  ...(data?.automate?.starredScriptIds || []),
72
75
  ],
73
76
  },
77
+ iot: {
78
+ ...mockDataStore.iot,
79
+ googlehome: {
80
+ ...mockDataStore.iot.googlehome,
81
+ connections: {},
82
+ },
83
+ },
74
84
  };
75
85
  };
@@ -10,6 +10,7 @@ import {
10
10
  UnitType,
11
11
  AutomateType,
12
12
  AppType,
13
+ IoTType,
13
14
  } from './actionType';
14
15
  import { uniq } from 'lodash';
15
16
 
@@ -22,6 +23,7 @@ export type ContextData = {
22
23
  unit: UnitType;
23
24
  automate: AutomateType;
24
25
  app: AppType;
26
+ iot: IoTType;
25
27
  };
26
28
 
27
29
  export type Action = {
@@ -56,6 +58,11 @@ export const initialState = {
56
58
  isNetworkConnected: false,
57
59
  camera_opened: [],
58
60
  },
61
+ iot: {
62
+ googlehome: {
63
+ connections: {},
64
+ },
65
+ },
59
66
  };
60
67
 
61
68
  export const reducer = (currentState: ContextData, action: Action) => {
@@ -88,6 +95,7 @@ export const reducer = (currentState: ContextData, action: Action) => {
88
95
  }
89
96
 
90
97
  case Action.LIST_ACTION:
98
+ // eslint-disable-next-line no-case-declarations
91
99
  let newListAction = [...currentState.listAction];
92
100
 
93
101
  if (Object.keys(payload).length === 0) {
@@ -151,7 +159,9 @@ export const reducer = (currentState: ContextData, action: Action) => {
151
159
  }
152
160
 
153
161
  case Action.CAMERA_STATUS_CHANGE:
162
+ // eslint-disable-next-line no-case-declarations
154
163
  const { id, status } = payload;
164
+ // eslint-disable-next-line no-case-declarations
155
165
  const arrCameraTemp = currentState.app.camera_opened || [];
156
166
  if (status) {
157
167
  if (arrCameraTemp.length >= 4) {
@@ -205,7 +215,7 @@ export const reducer = (currentState: ContextData, action: Action) => {
205
215
  unit: {
206
216
  ...currentState.unit,
207
217
  favoriteDeviceIds: currentState.unit.favoriteDeviceIds.filter(
208
- (id) => id !== payload
218
+ (deviceId) => deviceId !== payload
209
219
  ),
210
220
  },
211
221
  };
@@ -234,11 +244,37 @@ export const reducer = (currentState: ContextData, action: Action) => {
234
244
  automate: {
235
245
  ...currentState.automate,
236
246
  starredScriptIds: currentState.automate.starredScriptIds.filter(
237
- (id) => id !== payload
247
+ (scriptId) => scriptId !== payload
238
248
  ),
239
249
  },
240
250
  };
241
251
 
252
+ case Action.SET_GOOGLE_HOME_CONNECTIONS:
253
+ return {
254
+ ...currentState,
255
+ iot: {
256
+ ...currentState.iot,
257
+ googlehome: {
258
+ ...currentState.iot.googlehome,
259
+ connections: payload,
260
+ },
261
+ },
262
+ };
263
+ case Action.CHANGE_GOOGLE_HOME_CONN_STATE:
264
+ return {
265
+ ...currentState,
266
+ iot: {
267
+ ...currentState.iot,
268
+ googlehome: {
269
+ ...currentState.iot.googlehome,
270
+ connections: {
271
+ ...currentState.iot.googlehome.connections,
272
+ [payload.option.chip_id]: payload.data,
273
+ },
274
+ },
275
+ },
276
+ };
277
+
242
278
  default:
243
279
  return currentState;
244
280
  }
@@ -5,6 +5,7 @@ import useKeyboardShow from './useKeyboardShow';
5
5
  import usePopover from './usePopover';
6
6
  import useTitleHeader from './useTitleHeader';
7
7
  import useSensorsStatus from './useSensorsStatus';
8
+ import useGGHomeDeviceConnected from './useGGHomeDeviceConnected';
8
9
  import { useBlockBackAndroid } from './useBlockBackAndroid';
9
10
  import { useIsOwnerOfUnit } from './useIsOwnerOfUnit';
10
11
  import { useStatusBar } from './useStatusBar';
@@ -22,4 +23,5 @@ export {
22
23
  useStatusBar,
23
24
  useGetIdUser,
24
25
  useSensorsStatus,
26
+ useGGHomeDeviceConnected,
25
27
  };
@@ -0,0 +1,16 @@
1
+ import { useSCContextSelector } from '../../context';
2
+
3
+ const useGGHomeDeviceConnected = (device) => {
4
+ const connections = useSCContextSelector(
5
+ (state) => state.iot.googlehome.connections
6
+ );
7
+
8
+ const isConnected =
9
+ !!device?.chip_id &&
10
+ device.chip_id in connections &&
11
+ !!connections[device.chip_id];
12
+
13
+ return { isConnected };
14
+ };
15
+
16
+ export default useGGHomeDeviceConnected;
@@ -1,9 +1,5 @@
1
1
  import { useSCContextSelector } from '../../context';
2
2
 
3
3
  export const useGetIdUser = () => {
4
- // eslint-disable-next-line react-hooks/rules-of-hooks
5
- const idUser = useSCContextSelector(
6
- (state) => state?.auth?.account?.user?.id
7
- );
8
- return idUser;
4
+ return useSCContextSelector((state) => state?.auth?.account?.user?.id);
9
5
  };
@@ -12,14 +12,14 @@ const useSensorsStatus = (unit, sensors) => {
12
12
 
13
13
  // eslint-disable-next-line react-hooks/exhaustive-deps
14
14
  const getSensorsStatus = useCallback(
15
- throttle(async (unit, sensors) => {
15
+ throttle(async (_unit, _sensors) => {
16
16
  const params = new URLSearchParams();
17
- if (sensors?.length > 0) {
18
- sensors.forEach((sensor) => {
17
+ if (_sensors?.length > 0) {
18
+ _sensors.forEach((sensor) => {
19
19
  params.append('sensors', sensor.id);
20
20
  });
21
21
  const { success, data, resp_status } = await axiosGet(
22
- API.UNIT.SENSORS_STATUS(unit.id),
22
+ API.UNIT.SENSORS_STATUS(_unit.id),
23
23
  {
24
24
  params: params,
25
25
  }