@eohjsc/react-native-smart-city 0.2.20 → 0.2.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/assets/images/Add.svg +5 -0
- package/assets/images/AddLocationMaps/Point.svg +3 -0
- package/assets/images/CheckCircle.svg +4 -0
- package/assets/images/Close.svg +3 -0
- package/assets/images/HowToStart.svg +14 -0
- package/assets/images/OneTap.svg +14 -0
- package/assets/images/OneTap@1x.svg +14 -0
- package/assets/images/Rearrange.svg +3 -0
- package/assets/images/Schedule.svg +39 -0
- package/assets/images/WeatherChange.svg +49 -0
- package/package.json +12 -2
- package/src/Images/Common/ActiveButton.png +0 -0
- package/src/Images/Common/ActiveButton@2x.png +0 -0
- package/src/Images/Common/ActiveButton@3x.png +0 -0
- package/src/Images/Common/arrow-back.png +0 -0
- package/src/Images/Common/checked@2x.png +0 -0
- package/src/Images/Common/checked@3x.png +0 -0
- package/src/Images/Common/file.png +0 -0
- package/src/Images/Common/fullscreen.png +0 -0
- package/src/Images/Common/refresh.png +0 -0
- package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +1 -1
- package/src/commons/ActionGroup/OnOffTemplate/index.js +4 -4
- package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +7 -4
- package/src/commons/ActionGroup/StatesGridActionTemplate.js +12 -3
- package/src/commons/ActionGroup/ThreeButtonTemplate.js +13 -6
- package/src/commons/ActionGroup/ThreeButtonTemplateStyle.js +1 -1
- package/src/commons/ActionGroup/TimerActionTemplate.js +158 -33
- package/src/commons/ActionGroup/__test__/OnOffButtonTemplate.test.js +8 -13
- package/src/commons/ActionGroup/__test__/OnOffTemplate.test.js +3 -3
- package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +26 -45
- package/src/commons/ActionGroup/__test__/ThreeButtonTemplate.test.js +11 -5
- package/src/commons/ActionGroup/__test__/TimerActionTemplate.test.js +14 -8
- package/src/commons/ActionGroup/__test__/TimerActionTemplateWithutConfigValue.test.js +17 -23
- package/src/commons/ActionGroup/__test__/__snapshots__/ThreeButtonTemplate.test.js.snap +241 -223
- package/src/commons/ActionGroup/__test__/index.test.js +39 -107
- package/src/commons/ActionGroup/hooks/useDropdownAction.js +2 -1
- package/src/commons/ActionTemplate/ActionTemplateStyles.js +14 -0
- package/src/commons/ActionTemplate/OnOffButtonAction.js +40 -0
- package/src/commons/ActionTemplate/OnOffButtonActionStyles.js +11 -0
- package/src/commons/ActionTemplate/OneButtonAction.js +26 -0
- package/src/commons/ActionTemplate/OneButtonActionStyles.js +11 -0
- package/src/commons/ActionTemplate/ThreeButtonAction.js +55 -0
- package/src/commons/ActionTemplate/ThreeButtonActionStyles.js +11 -0
- package/src/commons/ActionTemplate/__test__/OnOffButtonAction.test.js +34 -0
- package/src/commons/ActionTemplate/__test__/OneButtonAction.test.js +33 -0
- package/src/commons/ActionTemplate/__test__/ThreeButtonAction.test.js +35 -0
- package/src/commons/ActionTemplate/__test__/index.test.js +71 -0
- package/src/commons/ActionTemplate/index.js +69 -0
- package/src/commons/Automate/ItemAddNewScriptAction.js +30 -0
- package/src/commons/Automate/ItemAddNewScriptActionStyles.js +38 -0
- package/src/commons/Automate/ItemAutomate.js +33 -0
- package/src/commons/Automate/ItemAutomateStyles.js +33 -0
- package/src/commons/Automate/ItemScriptAction.js +45 -0
- package/src/commons/Automate/ItemScriptActionStyles.js +42 -0
- package/src/commons/BottomScrollPicker/index.js +58 -0
- package/src/commons/BottomScrollPicker/styles.js +13 -0
- package/src/commons/BottomSheet/index.js +36 -0
- package/src/commons/BottomSheet/styles.js +37 -0
- package/src/commons/Button/index.js +6 -1
- package/src/commons/CameraDevice/index.js +2 -1
- package/src/commons/ChartLoading/__test__/ChartLoading.test.js +9 -7
- package/src/commons/ChartLoading/index.js +2 -1
- package/src/commons/DateTimeRangeChange/index.js +2 -1
- package/src/commons/Device/ConnectedViewHeader.js +3 -1
- package/src/commons/Device/DeviceAlertStatus.js +5 -2
- package/src/commons/Device/DisconnectedView.js +34 -26
- package/src/commons/Device/Emergency/EmergencyButton.js +2 -1
- package/src/commons/Device/Emergency/EmergencyDetail.js +2 -1
- package/src/commons/Device/Emergency/__test__/EmergencyButton.test.js +14 -6
- package/src/commons/Device/Emergency/__test__/EmergencyDetail.test.js +10 -2
- package/src/commons/Device/FlatListItems.js +3 -2
- package/src/commons/Device/FooterInfo.js +2 -1
- package/src/commons/Device/HistoryChart.js +2 -1
- package/src/commons/Device/ItemAddNew/index.js +6 -1
- package/src/commons/Device/SensorConnectedStatus.js +2 -1
- package/src/commons/Device/WindDirection/Compass/Compass.test.js +19 -11
- package/src/commons/Device/WindDirection/Compass/index.js +1 -1
- package/src/commons/Device/WindSpeed/LinearChart/__test__/LinearChart.test.js +9 -3
- package/src/commons/Device/WindSpeed/LinearChart/__test__/__snapshots__/LinearChart.test.js.snap +0 -81
- package/src/commons/Device/WindSpeed/LinearChart/index.js +2 -1
- package/src/commons/Device/__test__/ConnectedViewHeader.test.js +16 -8
- package/src/commons/Device/__test__/DeviceAlertStatus.test.js +13 -5
- package/src/commons/Device/__test__/DisconnectedView.test.js +13 -5
- package/src/commons/Device/__test__/FlatListItems.test.js +9 -1
- package/src/commons/Device/__test__/FooterInfo.test.js +13 -4
- package/src/commons/Device/__test__/SensorConnectedStatus.test.js +9 -1
- package/src/commons/Device/__test__/__snapshots__/DisconnectedView.test.js.snap +20 -20
- package/src/commons/DisplayChecking/__test__/DisplayChecking.test.js +28 -0
- package/src/commons/EmergencyButton/AlertSendConfirm.js +2 -1
- package/src/commons/EmergencyButton/AlertSent.js +3 -2
- package/src/commons/Explore/CityItem/index.js +2 -1
- package/src/commons/Explore/HeaderExplore/index.js +2 -1
- package/src/commons/Explore/HeaderLabel/index.js +2 -1
- package/src/commons/Explore/SearchBox/__test__/SearchBox.test.js +9 -2
- package/src/commons/Explore/SearchBox/index.js +2 -1
- package/src/commons/Explore/__test__/CityItem.test.js +13 -15
- package/src/commons/Explore/__test__/HeaderLabel.test.js +15 -9
- package/src/commons/Header/HeaderCustom.js +17 -1
- package/src/commons/Header/Styles/HeaderCustomStyles.js +2 -2
- package/src/commons/Header/__test__/HeaderCT.test.js +12 -4
- package/src/commons/HeaderAni/index.js +6 -3
- package/src/commons/IconComponent/index.js +18 -3
- package/src/commons/ImagePicker/__test__/ImagePicker.test.js +19 -13
- package/src/commons/ImagePicker/index.js +3 -1
- package/src/commons/MediaPlayer/index.js +2 -1
- package/src/commons/MediaPlayerDetail/__test__/MediaPlayerDetail.test.js +14 -8
- package/src/commons/MediaPlayerDetail/index.js +4 -1
- package/src/commons/MenuActionAddnew/__test__/MenuActionAddNew.test.js +11 -20
- package/src/commons/MenuActionAddnew/index.js +2 -1
- package/src/commons/Modal/ModalBottom.js +51 -0
- package/src/commons/Modal/ModalFullVideo.js +2 -1
- package/src/commons/Modal/Styles/ModalBottomStyles.js +35 -0
- package/src/commons/Modal/index.js +2 -1
- package/src/commons/NavBar/index.js +2 -2
- package/src/commons/SelectActionCard/SelectActionStyles.js +16 -0
- package/src/commons/SelectActionCard/index.js +30 -0
- package/src/commons/Sharing/DevicePermissionsCheckbox.js +2 -1
- package/src/commons/Sharing/MemberList.js +3 -1
- package/src/commons/Sharing/RowMember.js +3 -2
- package/src/commons/Sharing/StationDevicePermissions.js +2 -1
- package/src/commons/Sharing/__test__/DevicePermissionsCheckbox.test.js +15 -9
- package/src/commons/Sharing/__test__/MemberList.test.js +17 -25
- package/src/commons/Sharing/__test__/StationDevicePermission.test.js +17 -12
- package/src/commons/Sharing/__test__/WrapHeaderScrollable.test.js +0 -9
- package/src/commons/SubUnit/OneTap/ItemOneTap.js +97 -0
- package/src/commons/SubUnit/OneTap/ItemOneTapStyles.js +41 -0
- package/src/commons/SubUnit/OneTap/OneTapStyles.js +36 -0
- package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +149 -0
- package/src/commons/SubUnit/OneTap/index.js +39 -0
- package/src/commons/SubUnit/ShortDetail.js +11 -6
- package/src/commons/SubUnit/__test__/ShortDetail.test.js +14 -6
- package/src/commons/Today/__test__/Today.test.js +9 -1
- package/src/commons/Today/__test__/__snapshots__/Today.test.js.snap +1 -1
- package/src/commons/Today/index.js +2 -1
- package/src/commons/Unit/SharedUnit.js +2 -1
- package/src/commons/UnitSummary/AirQuality/SegmentedRoundDisplay/index.js +1 -2
- package/src/commons/UnitSummary/AirQuality/__test__/index.test.js +16 -17
- package/src/commons/UnitSummary/AirQuality/index.js +5 -120
- package/src/commons/UnitSummary/AirQuality/styles.js +112 -0
- package/src/commons/UnitSummary/TotalPowerConsumption/index.js +2 -1
- package/src/commons/UnitSummary/__test__/TotalPowerConsumption.test.js +15 -9
- package/src/commons/WheelDateTimePicker/Picker.js +57 -0
- package/src/commons/WheelDateTimePicker/index.js +160 -0
- package/src/commons/WheelDateTimePicker/styles.js +21 -0
- package/src/configs/API.js +25 -0
- package/src/configs/Colors.js +1 -0
- package/src/configs/Constants.js +46 -0
- package/src/configs/Images.js +1 -0
- package/src/configs/SCConfig.js +7 -0
- package/src/context/SCContext.tsx +7 -37
- package/src/context/actionType.ts +11 -0
- package/src/context/mockStore.ts +49 -0
- package/src/context/reducer.ts +23 -0
- package/src/hooks/Common/__test__/useTranslations.test.js +23 -0
- package/src/hooks/Common/index.js +2 -0
- package/src/hooks/Common/useGetIdUser.js +9 -0
- package/src/hooks/Common/useTranslations.ts +34 -0
- package/src/iot/Monitor.js +2 -1
- package/src/iot/RemoteControl/Bluetooth.js +2 -6
- package/src/iot/RemoteControl/GoogleHome.js +1 -1
- package/src/iot/RemoteControl/Internet.js +1 -1
- package/src/iot/RemoteControl/LG.js +57 -15
- package/src/iot/RemoteControl/__test__/Bluetooth.test.js +3 -5
- package/src/iot/RemoteControl/__test__/GoogleHome.test.js +3 -3
- package/src/iot/RemoteControl/__test__/Internet.test.js +1 -8
- package/src/iot/RemoteControl/__test__/LgThinq.test.js +7 -10
- package/src/iot/RemoteControl/index.js +1 -1
- package/src/iot/states.js +1 -0
- package/src/navigations/SharedStack.js +2 -1
- package/src/navigations/UnitStack.js +62 -1
- package/src/screens/AQIGuide/__test__/AQIGuide.test.js +9 -1
- package/src/screens/AQIGuide/index.js +2 -2
- package/src/screens/ActivityLog/__test__/index.test.js +14 -39
- package/src/screens/ActivityLog/index.js +2 -1
- package/src/screens/AddCommon/SelectSubUnit.js +5 -4
- package/src/screens/AddCommon/SelectUnit.js +3 -2
- package/src/screens/AddCommon/__test__/SelectSubUnit.test.js +61 -0
- package/src/screens/AddCommon/__test__/SelectUnit.test.js +18 -10
- package/src/screens/AddLocationMaps/index.js +2 -1
- package/src/screens/AddNewAction/Device/DeviceStyles.js +43 -0
- package/src/screens/AddNewAction/Device/__test__/index.test.js +42 -0
- package/src/screens/AddNewAction/Device/index.js +33 -0
- package/src/screens/AddNewAction/SelectAction.js +152 -0
- package/src/screens/AddNewAction/SelectDevice.js +120 -0
- package/src/screens/AddNewAction/Styles/SelectActionStyles.js +24 -0
- package/src/screens/AddNewAction/Styles/SelectDeviceStyles.js +36 -0
- package/src/screens/AddNewAction/__test__/SelectAction.test.js +172 -0
- package/src/screens/AddNewAction/__test__/SelectDevice.test.js +191 -0
- package/src/screens/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +55 -0
- package/src/screens/AddNewAutoSmart/index.js +85 -0
- package/src/screens/AddNewAutoSmart/styles/AddNewAutoSmartStyles.js +36 -0
- package/src/screens/AddNewDevice/ConnectDevices.js +2 -1
- package/src/screens/AddNewDevice/ConnectingDevices.js +2 -1
- package/src/screens/AddNewDevice/__test__/AddNewDevice.test.js +29 -13
- package/src/screens/AddNewDevice/__test__/ConnectDevices.test.js +19 -7
- package/src/screens/AddNewDevice/__test__/ConnectingDevices.test.js +16 -6
- package/src/screens/AddNewDevice/hooks/useStateAlertRename.js +2 -1
- package/src/screens/AddNewDevice/index.js +2 -1
- package/src/screens/AddNewGateway/ConnectedGateway.js +2 -1
- package/src/screens/AddNewGateway/ConnectingGateway.js +99 -24
- package/src/screens/AddNewGateway/ConnectingGatewayStyles.js +92 -0
- package/src/screens/AddNewGateway/SetupGatewayWifi.js +3 -2
- package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +35 -72
- package/src/screens/AddNewGateway/__test__/ConnectedGateway.test.js +14 -4
- package/src/screens/AddNewGateway/__test__/ConnectingGateway.test.js +20 -10
- package/src/screens/AddNewGateway/hooks/useStateAlertRename.js +2 -1
- package/src/screens/AddNewGateway/index.js +2 -1
- package/src/screens/AddNewOneTap/AddNewOneTapStyles.js +43 -0
- package/src/screens/AddNewOneTap/__test__/AddNewOneTap.test.js +129 -0
- package/src/screens/AddNewOneTap/index.js +80 -0
- package/src/screens/AddNewScriptAction/AddNewScriptActionStyles.js +28 -0
- package/src/screens/AddNewScriptAction/index.js +100 -0
- package/src/screens/AllCamera/index.js +2 -1
- package/src/screens/Device/HeaderDevice/styles.js +2 -2
- package/src/screens/Device/__test__/detail.test.js +26 -18
- package/src/screens/Device/detail.js +56 -28
- package/src/screens/Device/hooks/useCountUp.js +4 -0
- package/src/screens/Device/hooks/useEmergencyButton.js +3 -2
- package/src/screens/Device/styles.js +5 -1
- package/src/screens/DeviceInfo/__test__/index.test.js +12 -3
- package/src/screens/DeviceInfo/index.js +2 -1
- package/src/screens/EditActionsList/Styles/indexStyles.js +84 -0
- package/src/screens/EditActionsList/index.js +186 -0
- package/src/screens/EmergencyContacts/EmergencyContactsAddNew.js +3 -2
- package/src/screens/EmergencyContacts/EmergencyContactsList.js +9 -2
- package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +2 -1
- package/src/screens/EmergencyContacts/__test__/EmergencyContactAddNew.test.js +15 -18
- package/src/screens/EmergencyContacts/__test__/EmergencyContactList.test.js +19 -23
- package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +10 -25
- package/src/screens/EmergencyContacts/hook.js +3 -2
- package/src/screens/Explore/index.js +3 -2
- package/src/screens/GuestInfo/components/AccessScheduleItem.js +27 -0
- package/src/screens/GuestInfo/components/AccessScheduleSheet.js +193 -0
- package/src/screens/GuestInfo/components/HeaderGuestInfo.js +31 -0
- package/src/screens/GuestInfo/components/RecurringDetail.js +99 -0
- package/src/screens/GuestInfo/components/RowGuestInfo.js +31 -0
- package/src/screens/GuestInfo/components/TemporaryDetail.js +46 -0
- package/src/screens/GuestInfo/constant.js +59 -0
- package/src/screens/GuestInfo/index.js +151 -0
- package/src/screens/GuestInfo/styles/AccessScheduleDetailStyles.js +31 -0
- package/src/screens/GuestInfo/styles/AccessScheduleItemStyles.js +22 -0
- package/src/screens/GuestInfo/styles/HeaderGuestInfoStyles.js +31 -0
- package/src/screens/GuestInfo/styles/indexStyles.js +38 -0
- package/src/screens/ManageAccess/__test__/ManageAccess.test.js +13 -1
- package/src/screens/ManageAccess/hooks/index.js +4 -0
- package/src/screens/ManageAccess/index.js +49 -20
- package/src/screens/ManageAccess/styles/ManageAccessStyles.js +3 -0
- package/src/screens/PlayBackCamera/index.js +9 -5
- package/src/screens/ScanChipQR/__test__/ScanChipQR.test.js +2 -11
- package/src/screens/ScanChipQR/components/QRScan/index.js +2 -1
- package/src/screens/ScriptDetail/Styles/indexStyles.js +143 -0
- package/src/screens/ScriptDetail/index.js +243 -0
- package/src/screens/SharedUnit/TabHeader.js +2 -1
- package/src/screens/SharedUnit/__test__/TabHeader.test.js +40 -0
- package/src/screens/SharedUnit/index.js +3 -2
- package/src/screens/Sharing/MemberList.js +2 -1
- package/src/screens/Sharing/SelectPermission.js +2 -1
- package/src/screens/Sharing/SelectUser.js +3 -2
- package/src/screens/Sharing/__test__/MemberList.test.js +17 -13
- package/src/screens/Sharing/__test__/SelectPermission.test.js +16 -8
- package/src/screens/Sharing/__test__/SelectUser.test.js +33 -15
- package/src/screens/Sharing/hooks/index.js +22 -17
- package/src/screens/SubUnit/AddSubUnit.js +3 -2
- package/src/screens/SubUnit/Detail.js +5 -4
- package/src/screens/SubUnit/ManageSubUnit.js +10 -9
- package/src/screens/SubUnit/__test__/AddSubUnit.test.js +17 -11
- package/src/screens/SubUnit/__test__/Detail.test.js +11 -31
- package/src/screens/SubUnit/__test__/ManageSubUnit.test.js +42 -31
- package/src/screens/SyncLGDevice/AddLGDevice.js +3 -2
- package/src/screens/TDSGuide/__test__/TDSGuide.test.js +9 -1
- package/src/screens/TDSGuide/index.js +2 -1
- package/src/screens/UVIndexGuide/__test__/UVIndexGuide.test.js +9 -1
- package/src/screens/UVIndexGuide/index.js +2 -1
- package/src/screens/Unit/AddMenu.js +3 -2
- package/src/screens/Unit/Detail.js +65 -20
- package/src/screens/Unit/ManageUnit/index.js +4 -3
- package/src/screens/Unit/ManageUnit.js +5 -4
- package/src/screens/Unit/MoreMenu.js +3 -2
- package/src/screens/Unit/SelectLocation.js +8 -2
- package/src/screens/Unit/SelectLocationStyles.js +11 -0
- package/src/screens/Unit/__test__/AddMenu.test.js +15 -15
- package/src/screens/Unit/__test__/CheckSendEmail.test.js +19 -10
- package/src/screens/Unit/__test__/Detail.test.js +92 -33
- package/src/screens/Unit/__test__/ManageUnit.test.js +16 -23
- package/src/screens/Unit/components/Header/index.js +2 -1
- package/src/screens/Unit/components/ListMyAllUnit/index.js +2 -1
- package/src/screens/Unit/components/MyUnit/index.js +2 -1
- package/src/screens/Unit/components/SearchLocation/index.js +2 -1
- package/src/screens/Unit/components/SharedUnit/index.js +2 -1
- package/src/screens/Unit/components/__test__/SharedUnit.test.js +11 -2
- package/src/screens/UnitSummary/__test__/index.test.js +12 -4
- package/src/screens/UnitSummary/components/3PPowerConsumption/__test__/3PPowerConsumption.test.js +13 -3
- package/src/screens/UnitSummary/components/3PPowerConsumption/index.js +2 -1
- package/src/screens/UnitSummary/components/PowerConsumption/__test__/PowerConsumption.test.js +16 -12
- package/src/screens/UnitSummary/components/PowerConsumption/index.js +2 -1
- package/src/screens/UnitSummary/components/RunningDevices/__test__/index.test.js +2 -2
- package/src/screens/UnitSummary/components/Temperature/index.js +2 -1
- package/src/screens/UnitSummary/components/TotalPowerConsumption/index.js +2 -1
- package/src/screens/UnitSummary/components/UvIndex/__test__/__snapshots__/index.test.js.snap +37 -37
- package/src/screens/UnitSummary/components/UvIndex/__test__/index.test.js +14 -6
- package/src/screens/UnitSummary/components/UvIndex/index.js +2 -1
- package/src/screens/UnitSummary/components/WaterQuality/__test__/index.test.js +11 -5
- package/src/screens/UnitSummary/components/WaterQuality/index.js +2 -1
- package/src/screens/UnitSummary/components/__test__/TotalPowerConsumption.test.js +13 -7
- package/src/screens/UnitSummary/index.js +2 -1
- package/src/screens/WaterQualityGuide/__test__/index.test.js +12 -12
- package/src/screens/WaterQualityGuide/index.js +2 -1
- package/src/utils/Converter/array.js +4 -0
- package/src/utils/Converter/time.js +29 -4
- package/src/utils/I18n/index.ts +6 -0
- package/src/utils/I18n/translations/en.json +48 -2
- package/src/utils/I18n/translations/vi.json +45 -1
- package/src/utils/I18n/translations.ts +45 -0
- package/src/utils/Route/index.js +8 -0
- package/src/commons/ChartLoading/__test__/__snapshots__/ChartLoading.test.js.snap +0 -66
- package/src/commons/Device/HistoryChart/__test__/HistoryChart.test.js +0 -57
- package/src/commons/Device/HistoryChart/__test__/__snapshots__/HistoryChart.test.js.snap +0 -593
- package/src/commons/Explore/SearchBox/__test__/__snapshots__/SearchBox.test.js.snap +0 -59
- package/src/commons/Explore/__test__/HeaderExplore.test.js +0 -21
- package/src/commons/Header/__test__/Header.test.js +0 -24
- package/src/commons/MenuActionAddnew/__test__/__snapshots__/MenuActionAddNew.test.js.snap +0 -788
- package/src/commons/Sharing/__test__/__snapshots__/WrapHeaderScrollable.test.js.snap +0 -174
- package/src/commons/UnitSummary/AirQuality/__test__/__snapshots__/index.test.js.snap +0 -26679
- package/src/iot/RemoteControl/__test__/index.test.js +0 -101
- package/src/iot/__test__/Monitor.test.js +0 -119
- package/src/screens/EmergencyContacts/__test__/__snapshots__/EmergencyContactAddNew.test.js.snap +0 -1706
- package/src/screens/EmergencyContacts/__test__/__snapshots__/EmergencyContactList.test.js.snap +0 -4276
- package/src/screens/EmergencyContacts/__test__/__snapshots__/EmergencyContactsSelectContacts.test.js.snap +0 -2240
- package/src/screens/SyncLGDevice/__test__/AddLGDevice.test.js +0 -358
- package/src/screens/Unit/MyAllUnit/__test__/__snapshots__/index.test.js.snap +0 -1001
- package/src/screens/Unit/MyAllUnit/__test__/index.test.js +0 -48
- package/src/screens/Unit/components/MyAllUnit/__test__/__snapshots__/index.test.js.snap +0 -1001
- package/src/screens/Unit/components/MyAllUnit/__test__/index.test.js +0 -48
- package/src/screens/Unit/components/__test__/MyUnit.test.js +0 -85
- package/src/screens/UnitSummary/components/WaterQuality/__test__/__snapshots__/index.test.js.snap +0 -1574
- package/src/screens/WaterQualityGuide/__test__/__snapshots__/index.test.js.snap +0 -3375
- package/src/utils/Converter/__test__/time.test.js +0 -126
- package/src/utils/I18n/index.js +0 -19
- package/src/utils/I18n/index.test.js +0 -7
|
@@ -88,7 +88,7 @@ exports[`Test DisconnectedView render DisconnectedView icon barrier 1`] = `
|
|
|
88
88
|
]
|
|
89
89
|
}
|
|
90
90
|
>
|
|
91
|
-
|
|
91
|
+
Disconnected
|
|
92
92
|
</Text>
|
|
93
93
|
</View>
|
|
94
94
|
<View
|
|
@@ -143,7 +143,7 @@ exports[`Test DisconnectedView render DisconnectedView icon barrier 1`] = `
|
|
|
143
143
|
]
|
|
144
144
|
}
|
|
145
145
|
>
|
|
146
|
-
|
|
146
|
+
Suggestions
|
|
147
147
|
:
|
|
148
148
|
</Text>
|
|
149
149
|
</View>
|
|
@@ -191,7 +191,7 @@ exports[`Test DisconnectedView render DisconnectedView icon barrier 1`] = `
|
|
|
191
191
|
]
|
|
192
192
|
}
|
|
193
193
|
>
|
|
194
|
-
|
|
194
|
+
Check the power on your device.
|
|
195
195
|
</Text>
|
|
196
196
|
</View>
|
|
197
197
|
<View
|
|
@@ -238,7 +238,7 @@ exports[`Test DisconnectedView render DisconnectedView icon barrier 1`] = `
|
|
|
238
238
|
]
|
|
239
239
|
}
|
|
240
240
|
>
|
|
241
|
-
|
|
241
|
+
Check the Wi-Fi/Cellular signal or try to reset it.
|
|
242
242
|
</Text>
|
|
243
243
|
</View>
|
|
244
244
|
</View>
|
|
@@ -333,7 +333,7 @@ exports[`Test DisconnectedView render DisconnectedView icon dooor 1`] = `
|
|
|
333
333
|
]
|
|
334
334
|
}
|
|
335
335
|
>
|
|
336
|
-
|
|
336
|
+
Disconnected
|
|
337
337
|
</Text>
|
|
338
338
|
</View>
|
|
339
339
|
<View
|
|
@@ -388,7 +388,7 @@ exports[`Test DisconnectedView render DisconnectedView icon dooor 1`] = `
|
|
|
388
388
|
]
|
|
389
389
|
}
|
|
390
390
|
>
|
|
391
|
-
|
|
391
|
+
Suggestions
|
|
392
392
|
:
|
|
393
393
|
</Text>
|
|
394
394
|
</View>
|
|
@@ -436,7 +436,7 @@ exports[`Test DisconnectedView render DisconnectedView icon dooor 1`] = `
|
|
|
436
436
|
]
|
|
437
437
|
}
|
|
438
438
|
>
|
|
439
|
-
|
|
439
|
+
Check the power on your device.
|
|
440
440
|
</Text>
|
|
441
441
|
</View>
|
|
442
442
|
<View
|
|
@@ -483,7 +483,7 @@ exports[`Test DisconnectedView render DisconnectedView icon dooor 1`] = `
|
|
|
483
483
|
]
|
|
484
484
|
}
|
|
485
485
|
>
|
|
486
|
-
|
|
486
|
+
Check the Wi-Fi/Cellular signal or try to reset it.
|
|
487
487
|
</Text>
|
|
488
488
|
</View>
|
|
489
489
|
</View>
|
|
@@ -578,7 +578,7 @@ exports[`Test DisconnectedView render DisconnectedView icon sensor 1`] = `
|
|
|
578
578
|
]
|
|
579
579
|
}
|
|
580
580
|
>
|
|
581
|
-
|
|
581
|
+
Disconnected
|
|
582
582
|
</Text>
|
|
583
583
|
</View>
|
|
584
584
|
<View
|
|
@@ -633,7 +633,7 @@ exports[`Test DisconnectedView render DisconnectedView icon sensor 1`] = `
|
|
|
633
633
|
]
|
|
634
634
|
}
|
|
635
635
|
>
|
|
636
|
-
|
|
636
|
+
Suggestions
|
|
637
637
|
:
|
|
638
638
|
</Text>
|
|
639
639
|
</View>
|
|
@@ -681,7 +681,7 @@ exports[`Test DisconnectedView render DisconnectedView icon sensor 1`] = `
|
|
|
681
681
|
]
|
|
682
682
|
}
|
|
683
683
|
>
|
|
684
|
-
|
|
684
|
+
Check the power on your device.
|
|
685
685
|
</Text>
|
|
686
686
|
</View>
|
|
687
687
|
<View
|
|
@@ -728,7 +728,7 @@ exports[`Test DisconnectedView render DisconnectedView icon sensor 1`] = `
|
|
|
728
728
|
]
|
|
729
729
|
}
|
|
730
730
|
>
|
|
731
|
-
|
|
731
|
+
Check the Wi-Fi/Cellular signal or try to reset it.
|
|
732
732
|
</Text>
|
|
733
733
|
</View>
|
|
734
734
|
</View>
|
|
@@ -823,7 +823,7 @@ exports[`Test DisconnectedView render DisconnectedView icon test 1`] = `
|
|
|
823
823
|
]
|
|
824
824
|
}
|
|
825
825
|
>
|
|
826
|
-
|
|
826
|
+
Disconnected
|
|
827
827
|
</Text>
|
|
828
828
|
</View>
|
|
829
829
|
<View
|
|
@@ -878,7 +878,7 @@ exports[`Test DisconnectedView render DisconnectedView icon test 1`] = `
|
|
|
878
878
|
]
|
|
879
879
|
}
|
|
880
880
|
>
|
|
881
|
-
|
|
881
|
+
Suggestions
|
|
882
882
|
:
|
|
883
883
|
</Text>
|
|
884
884
|
</View>
|
|
@@ -926,7 +926,7 @@ exports[`Test DisconnectedView render DisconnectedView icon test 1`] = `
|
|
|
926
926
|
]
|
|
927
927
|
}
|
|
928
928
|
>
|
|
929
|
-
|
|
929
|
+
Check the power on your device.
|
|
930
930
|
</Text>
|
|
931
931
|
</View>
|
|
932
932
|
<View
|
|
@@ -973,7 +973,7 @@ exports[`Test DisconnectedView render DisconnectedView icon test 1`] = `
|
|
|
973
973
|
]
|
|
974
974
|
}
|
|
975
975
|
>
|
|
976
|
-
|
|
976
|
+
Check the Wi-Fi/Cellular signal or try to reset it.
|
|
977
977
|
</Text>
|
|
978
978
|
</View>
|
|
979
979
|
</View>
|
|
@@ -1068,7 +1068,7 @@ exports[`Test DisconnectedView render DisconnectedView icon wind 1`] = `
|
|
|
1068
1068
|
]
|
|
1069
1069
|
}
|
|
1070
1070
|
>
|
|
1071
|
-
|
|
1071
|
+
Disconnected
|
|
1072
1072
|
</Text>
|
|
1073
1073
|
</View>
|
|
1074
1074
|
<View
|
|
@@ -1123,7 +1123,7 @@ exports[`Test DisconnectedView render DisconnectedView icon wind 1`] = `
|
|
|
1123
1123
|
]
|
|
1124
1124
|
}
|
|
1125
1125
|
>
|
|
1126
|
-
|
|
1126
|
+
Suggestions
|
|
1127
1127
|
:
|
|
1128
1128
|
</Text>
|
|
1129
1129
|
</View>
|
|
@@ -1171,7 +1171,7 @@ exports[`Test DisconnectedView render DisconnectedView icon wind 1`] = `
|
|
|
1171
1171
|
]
|
|
1172
1172
|
}
|
|
1173
1173
|
>
|
|
1174
|
-
|
|
1174
|
+
Check the power on your device.
|
|
1175
1175
|
</Text>
|
|
1176
1176
|
</View>
|
|
1177
1177
|
<View
|
|
@@ -1218,7 +1218,7 @@ exports[`Test DisconnectedView render DisconnectedView icon wind 1`] = `
|
|
|
1218
1218
|
]
|
|
1219
1219
|
}
|
|
1220
1220
|
>
|
|
1221
|
-
|
|
1221
|
+
Check the Wi-Fi/Cellular signal or try to reset it.
|
|
1222
1222
|
</Text>
|
|
1223
1223
|
</View>
|
|
1224
1224
|
</View>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import renderer, { act } from 'react-test-renderer';
|
|
3
|
+
import { TouchableOpacity } from 'react-native';
|
|
4
|
+
import LoadingMessage from '../index';
|
|
5
|
+
import { SCProvider } from '../../../context';
|
|
6
|
+
import { mockSCStore } from '../../../context/mockStore';
|
|
7
|
+
|
|
8
|
+
const wrapComponent = (visible, onClose, message) => (
|
|
9
|
+
<SCProvider initState={mockSCStore({})}>
|
|
10
|
+
<LoadingMessage visible={visible} onClose={onClose} message={message} />
|
|
11
|
+
</SCProvider>
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
describe('Test DisplayChecking', () => {
|
|
15
|
+
let tree;
|
|
16
|
+
let visible = true;
|
|
17
|
+
let message = '';
|
|
18
|
+
let onClose = () => {};
|
|
19
|
+
|
|
20
|
+
test('create LoadingMessage', () => {
|
|
21
|
+
act(() => {
|
|
22
|
+
tree = renderer.create(wrapComponent(visible, message, onClose));
|
|
23
|
+
});
|
|
24
|
+
const instance = tree.root;
|
|
25
|
+
const textInputs = instance.findAllByType(TouchableOpacity);
|
|
26
|
+
expect(textInputs.length).toBe(1);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
3
|
import { ButtonPopup } from '../index';
|
|
4
|
-
import {
|
|
4
|
+
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
5
5
|
import { IconOutline } from '@ant-design/icons-react-native';
|
|
6
6
|
import Text from '../Text';
|
|
7
7
|
import { Colors } from '../../configs';
|
|
@@ -14,6 +14,7 @@ const AlertSendConfirm = ({
|
|
|
14
14
|
unit,
|
|
15
15
|
station,
|
|
16
16
|
}) => {
|
|
17
|
+
const t = useTranslations();
|
|
17
18
|
return (
|
|
18
19
|
<ButtonPopup
|
|
19
20
|
rowButton
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { StyleSheet } from 'react-native';
|
|
3
3
|
import { ButtonPopup } from '../index';
|
|
4
|
-
import {
|
|
4
|
+
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
5
5
|
import { IconFill } from '@ant-design/icons-react-native';
|
|
6
6
|
import Text from '../Text';
|
|
7
7
|
import { Colors } from '../../configs';
|
|
@@ -16,6 +16,7 @@ const AlertSent = ({
|
|
|
16
16
|
station,
|
|
17
17
|
isDashboard,
|
|
18
18
|
}) => {
|
|
19
|
+
const t = useTranslations();
|
|
19
20
|
const data = useMemo(() => {
|
|
20
21
|
if (isDashboard) {
|
|
21
22
|
return {
|
|
@@ -34,7 +35,7 @@ const AlertSent = ({
|
|
|
34
35
|
typeMain: 'alertBorder',
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
|
-
}, [isDashboard]);
|
|
38
|
+
}, [isDashboard, t]);
|
|
38
39
|
|
|
39
40
|
return (
|
|
40
41
|
<ButtonPopup
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { memo, useCallback } from 'react';
|
|
2
2
|
import { View, Image, StyleSheet, TouchableOpacity } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { useTranslations } from '../../../hooks/Common/useTranslations';
|
|
4
4
|
|
|
5
5
|
import { Colors } from '../../../configs';
|
|
6
6
|
import Text from '../../../commons/Text';
|
|
@@ -12,6 +12,7 @@ import { formatNumberCompact } from '../../../utils/Utils';
|
|
|
12
12
|
import { axiosPost } from '../../../utils/Apis/axios';
|
|
13
13
|
|
|
14
14
|
const CityItem = memo(({ item, onSelect }) => {
|
|
15
|
+
const t = useTranslations();
|
|
15
16
|
const { id, name, icon, is_pin, count_pin } = item;
|
|
16
17
|
|
|
17
18
|
const onPressPinPublicUnit = useCallback(async () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { View, StyleSheet } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { useTranslations } from '../../../hooks/Common/useTranslations';
|
|
4
4
|
import Theme from '../../../configs/Theme';
|
|
5
5
|
|
|
6
6
|
import { Colors } from '../../../configs';
|
|
@@ -8,6 +8,7 @@ import Text from '../../../commons/Text';
|
|
|
8
8
|
import { useSCContextSelector } from '../../../context';
|
|
9
9
|
|
|
10
10
|
const HeaderExplore = memo(() => {
|
|
11
|
+
const t = useTranslations();
|
|
11
12
|
useSCContextSelector((state) => state.language);
|
|
12
13
|
return (
|
|
13
14
|
<View style={styles.container}>
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { View, StyleSheet, TouchableOpacity } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { useTranslations } from '../../../hooks/Common/useTranslations';
|
|
4
4
|
|
|
5
5
|
import { Colors } from '../../../configs';
|
|
6
6
|
import Text from '../../../commons/Text';
|
|
7
7
|
|
|
8
8
|
const HeaderLabel = memo(({ title, style, onPress, seeMore }) => {
|
|
9
|
+
const t = useTranslations();
|
|
9
10
|
return (
|
|
10
11
|
<View style={[styles.labelHeader, style]}>
|
|
11
12
|
<Text fontSize={14} color={Colors.Gray8} style={styles.textLineHeight}>
|
|
@@ -2,9 +2,17 @@ import SearchBox from '../index';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { TouchableOpacity } from 'react-native';
|
|
4
4
|
import renderer, { act } from 'react-test-renderer';
|
|
5
|
+
import { SCProvider } from '../../../../context';
|
|
6
|
+
import { mockSCStore } from '../../../../context/mockStore';
|
|
5
7
|
|
|
6
8
|
const mockedNavigate = jest.fn();
|
|
7
9
|
|
|
10
|
+
const wrapComponent = () => (
|
|
11
|
+
<SCProvider initState={mockSCStore({})}>
|
|
12
|
+
<SearchBox isBack={true} />
|
|
13
|
+
</SCProvider>
|
|
14
|
+
);
|
|
15
|
+
|
|
8
16
|
jest.mock('@react-navigation/native', () => {
|
|
9
17
|
return {
|
|
10
18
|
...jest.requireActual('@react-navigation/native'),
|
|
@@ -18,7 +26,7 @@ describe('Test SearchBox', () => {
|
|
|
18
26
|
let wrapper;
|
|
19
27
|
test('SearchBox render', () => {
|
|
20
28
|
act(() => {
|
|
21
|
-
wrapper = renderer.create(
|
|
29
|
+
wrapper = renderer.create(wrapComponent());
|
|
22
30
|
});
|
|
23
31
|
const instance = wrapper.root;
|
|
24
32
|
const button = instance.findByType(TouchableOpacity);
|
|
@@ -26,7 +34,6 @@ describe('Test SearchBox', () => {
|
|
|
26
34
|
act(() => {
|
|
27
35
|
button.props.onPress();
|
|
28
36
|
});
|
|
29
|
-
expect(wrapper.toJSON()).toMatchSnapshot();
|
|
30
37
|
expect(mockedNavigate.mock.calls.length).toBe(1);
|
|
31
38
|
});
|
|
32
39
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { memo, useCallback } from 'react';
|
|
2
2
|
import { TextInput, View, StyleSheet, TouchableOpacity } from 'react-native';
|
|
3
3
|
import { useNavigation } from '@react-navigation/native';
|
|
4
|
-
import {
|
|
4
|
+
import { useTranslations } from '../../../hooks/Common/useTranslations';
|
|
5
5
|
|
|
6
6
|
import { Colors } from '../../../configs';
|
|
7
7
|
import Theme from '../../../configs/Theme';
|
|
@@ -9,6 +9,7 @@ import Search from '../../../../assets/images/Explore/Search.svg';
|
|
|
9
9
|
import ArrowBack from '../../../../assets/images/Explore/ArrowBack.svg';
|
|
10
10
|
|
|
11
11
|
const SearchBox = memo(({ isBack, style, onFocus }) => {
|
|
12
|
+
const t = useTranslations();
|
|
12
13
|
const { goBack } = useNavigation();
|
|
13
14
|
const onBack = useCallback(() => {
|
|
14
15
|
goBack();
|
|
@@ -6,9 +6,17 @@ import axios from 'axios';
|
|
|
6
6
|
import { API } from '../../../configs';
|
|
7
7
|
import Pin from '../../../../assets/images/Explore/Pin.svg';
|
|
8
8
|
import PinOutline from '../../../../assets/images/Explore/PinOutline.svg';
|
|
9
|
+
import { SCProvider } from '../../../context';
|
|
10
|
+
import { mockSCStore } from '../../../context/mockStore';
|
|
9
11
|
|
|
10
12
|
const mockedDispatch = jest.fn();
|
|
11
13
|
|
|
14
|
+
const wrapComponent = (item, mockeSelect) => (
|
|
15
|
+
<SCProvider initState={mockSCStore({})}>
|
|
16
|
+
<CityItem item={item} onSelect={mockeSelect} />
|
|
17
|
+
</SCProvider>
|
|
18
|
+
);
|
|
19
|
+
|
|
12
20
|
jest.mock('axios');
|
|
13
21
|
jest.mock('react-redux', () => ({
|
|
14
22
|
...jest.requireActual('react-redux'),
|
|
@@ -38,9 +46,7 @@ describe('Test CityItem', () => {
|
|
|
38
46
|
return response;
|
|
39
47
|
});
|
|
40
48
|
await act(async () => {
|
|
41
|
-
tree = await renderer.create(
|
|
42
|
-
<CityItem item={item} onSelect={mockeSelect} />
|
|
43
|
-
);
|
|
49
|
+
tree = await renderer.create(wrapComponent(item, mockeSelect));
|
|
44
50
|
});
|
|
45
51
|
const instance = tree.root;
|
|
46
52
|
const buttons = instance.findAllByType(TouchableOpacity);
|
|
@@ -82,9 +88,7 @@ describe('Test CityItem', () => {
|
|
|
82
88
|
return response;
|
|
83
89
|
});
|
|
84
90
|
await act(async () => {
|
|
85
|
-
tree = await renderer.create(
|
|
86
|
-
<CityItem item={item} onSelect={mockeSelect} />
|
|
87
|
-
);
|
|
91
|
+
tree = await renderer.create(wrapComponent(item, mockeSelect));
|
|
88
92
|
});
|
|
89
93
|
const instance = tree.root;
|
|
90
94
|
|
|
@@ -111,9 +115,7 @@ describe('Test CityItem', () => {
|
|
|
111
115
|
return response;
|
|
112
116
|
});
|
|
113
117
|
await act(async () => {
|
|
114
|
-
tree = await renderer.create(
|
|
115
|
-
<CityItem item={item} onSelect={mockeSelect} />
|
|
116
|
-
);
|
|
118
|
+
tree = await renderer.create(wrapComponent(item, mockeSelect));
|
|
117
119
|
});
|
|
118
120
|
const instance = tree.root;
|
|
119
121
|
|
|
@@ -140,9 +142,7 @@ describe('Test CityItem', () => {
|
|
|
140
142
|
return response;
|
|
141
143
|
});
|
|
142
144
|
await act(async () => {
|
|
143
|
-
tree = await renderer.create(
|
|
144
|
-
<CityItem item={item} onSelect={mockeSelect} />
|
|
145
|
-
);
|
|
145
|
+
tree = await renderer.create(wrapComponent(item, mockeSelect));
|
|
146
146
|
});
|
|
147
147
|
const instance = tree.root;
|
|
148
148
|
const pin = instance.findAllByType(Pin);
|
|
@@ -164,9 +164,7 @@ describe('Test CityItem', () => {
|
|
|
164
164
|
const mockeSelect = jest.fn();
|
|
165
165
|
|
|
166
166
|
await act(async () => {
|
|
167
|
-
tree = await renderer.create(
|
|
168
|
-
<CityItem item={item} onSelect={mockeSelect} />
|
|
169
|
-
);
|
|
167
|
+
tree = await renderer.create(wrapComponent(item, mockeSelect));
|
|
170
168
|
});
|
|
171
169
|
const instance = tree.root;
|
|
172
170
|
const buttons = instance.findAllByType(TouchableOpacity);
|
|
@@ -2,19 +2,25 @@ import React from 'react';
|
|
|
2
2
|
import renderer, { act } from 'react-test-renderer';
|
|
3
3
|
import { TouchableOpacity } from 'react-native';
|
|
4
4
|
import HeaderLabel from '../HeaderLabel';
|
|
5
|
+
import { SCProvider } from '../../../context';
|
|
6
|
+
import { mockSCStore } from '../../../context/mockStore';
|
|
7
|
+
|
|
8
|
+
const wrapComponent = (mockFunc) => (
|
|
9
|
+
<SCProvider initState={mockSCStore({})}>
|
|
10
|
+
<HeaderLabel
|
|
11
|
+
seeMore={true}
|
|
12
|
+
title={'popular_locations'}
|
|
13
|
+
onPress={mockFunc}
|
|
14
|
+
/>
|
|
15
|
+
</SCProvider>
|
|
16
|
+
);
|
|
5
17
|
|
|
6
18
|
let tree;
|
|
7
19
|
describe('Test HeaderLabel', () => {
|
|
8
|
-
test('render HeaderLabel', () => {
|
|
20
|
+
test('render HeaderLabel', async () => {
|
|
9
21
|
const mockFunc = jest.fn();
|
|
10
|
-
act(() => {
|
|
11
|
-
tree = renderer.create(
|
|
12
|
-
<HeaderLabel
|
|
13
|
-
seeMore={true}
|
|
14
|
-
title={'popular_locations'}
|
|
15
|
-
onPress={mockFunc}
|
|
16
|
-
/>
|
|
17
|
-
);
|
|
22
|
+
await act(() => {
|
|
23
|
+
tree = renderer.create(wrapComponent(mockFunc));
|
|
18
24
|
});
|
|
19
25
|
const instance = tree.root;
|
|
20
26
|
const button = instance.findAllByType(TouchableOpacity);
|
|
@@ -5,6 +5,7 @@ import { Colors } from '../../configs';
|
|
|
5
5
|
import { Icon } from '@ant-design/react-native';
|
|
6
6
|
import { useNavigation } from '@react-navigation/native';
|
|
7
7
|
import styles from './Styles/HeaderCustomStyles';
|
|
8
|
+
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
8
9
|
|
|
9
10
|
const HeaderCustom = ({
|
|
10
11
|
title = '',
|
|
@@ -15,15 +16,25 @@ const HeaderCustom = ({
|
|
|
15
16
|
isShowSeparator = false,
|
|
16
17
|
isDisableRefresh = false,
|
|
17
18
|
titleStyles,
|
|
19
|
+
isShowClose = false,
|
|
20
|
+
onGoBack,
|
|
18
21
|
}) => {
|
|
22
|
+
const t = useTranslations();
|
|
19
23
|
const { goBack } = useNavigation();
|
|
20
24
|
const refMenuAction = useRef();
|
|
21
25
|
const refAddAction = useRef();
|
|
22
26
|
const handleAddAction = () => {};
|
|
27
|
+
// eslint-disable-next-line no-alert
|
|
28
|
+
const handleClose = () => alert(t('feature_under_development'));
|
|
23
29
|
const handleShowMenuAction = () => showPopoverWithRef(refMenuAction);
|
|
30
|
+
const handleGoback = () => {
|
|
31
|
+
onGoBack && onGoBack();
|
|
32
|
+
goBack();
|
|
33
|
+
};
|
|
34
|
+
|
|
24
35
|
return (
|
|
25
36
|
<View style={[styles.wrap, isShowSeparator && styles.separator]}>
|
|
26
|
-
<TouchableOpacity style={styles.buttonBack} onPress={
|
|
37
|
+
<TouchableOpacity style={styles.buttonBack} onPress={handleGoback}>
|
|
27
38
|
<Image source={Images.arrowBack} style={styles.iconBack} />
|
|
28
39
|
</TouchableOpacity>
|
|
29
40
|
<View style={styles.wrapTitle}>
|
|
@@ -65,6 +76,11 @@ const HeaderCustom = ({
|
|
|
65
76
|
<Icon name={'plus'} size={27} color={Colors.Black} />
|
|
66
77
|
</TouchableOpacity>
|
|
67
78
|
)}
|
|
79
|
+
{isShowClose && (
|
|
80
|
+
<TouchableOpacity style={styles.buttonAdd} onPress={handleClose}>
|
|
81
|
+
<Icon name={'close'} size={24} color={Colors.Black} />
|
|
82
|
+
</TouchableOpacity>
|
|
83
|
+
)}
|
|
68
84
|
</View>
|
|
69
85
|
</View>
|
|
70
86
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Colors } from '../../../configs';
|
|
2
|
-
import { getStatusBarHeight } from '../../../configs/Constants';
|
|
3
2
|
import { StyleSheet } from 'react-native';
|
|
3
|
+
import { getStatusBarHeight } from 'react-native-iphone-x-helper';
|
|
4
4
|
|
|
5
5
|
export default StyleSheet.create({
|
|
6
6
|
wrap: {
|
|
@@ -10,7 +10,7 @@ export default StyleSheet.create({
|
|
|
10
10
|
paddingLeft: 7,
|
|
11
11
|
paddingRight: 10,
|
|
12
12
|
paddingBottom: 6,
|
|
13
|
-
paddingTop: getStatusBarHeight(),
|
|
13
|
+
paddingTop: getStatusBarHeight() + 10,
|
|
14
14
|
},
|
|
15
15
|
separator: {
|
|
16
16
|
borderBottomWidth: 0.5,
|
|
@@ -3,10 +3,18 @@ import { TouchableOpacity } from 'react-native';
|
|
|
3
3
|
import { act } from '@testing-library/react-hooks';
|
|
4
4
|
import { create } from 'react-test-renderer';
|
|
5
5
|
import { HeaderCustom } from '..';
|
|
6
|
+
import { SCProvider } from '../../../context';
|
|
7
|
+
import { mockSCStore } from '../../../context/mockStore';
|
|
6
8
|
|
|
7
9
|
const mockOnRefresh = jest.fn();
|
|
8
10
|
const mockShowPopoverWithRef = jest.fn();
|
|
9
11
|
|
|
12
|
+
const wrapComponent = (defaultProps) => (
|
|
13
|
+
<SCProvider initState={mockSCStore({})}>
|
|
14
|
+
<HeaderCustom {...defaultProps} />
|
|
15
|
+
</SCProvider>
|
|
16
|
+
);
|
|
17
|
+
|
|
10
18
|
describe('Test HeaderCustom', () => {
|
|
11
19
|
let tree;
|
|
12
20
|
let defaultProps = {
|
|
@@ -18,7 +26,7 @@ describe('Test HeaderCustom', () => {
|
|
|
18
26
|
|
|
19
27
|
it('Test not render right', () => {
|
|
20
28
|
act(() => {
|
|
21
|
-
tree = create(
|
|
29
|
+
tree = create(wrapComponent(defaultProps));
|
|
22
30
|
});
|
|
23
31
|
const instance = tree.root;
|
|
24
32
|
const TouchableOpacityElement = instance.findAllByType(TouchableOpacity);
|
|
@@ -28,7 +36,7 @@ describe('Test HeaderCustom', () => {
|
|
|
28
36
|
it('Test render right', () => {
|
|
29
37
|
defaultProps = { ...defaultProps, isShowRight: true };
|
|
30
38
|
act(() => {
|
|
31
|
-
tree = create(
|
|
39
|
+
tree = create(wrapComponent(defaultProps));
|
|
32
40
|
});
|
|
33
41
|
const instance = tree.root;
|
|
34
42
|
const TouchableOpacityElement = instance.findAllByType(TouchableOpacity);
|
|
@@ -45,10 +53,10 @@ describe('Test HeaderCustom', () => {
|
|
|
45
53
|
|
|
46
54
|
it('Test render without props', () => {
|
|
47
55
|
act(() => {
|
|
48
|
-
tree = create(
|
|
56
|
+
tree = create(wrapComponent(defaultProps));
|
|
49
57
|
});
|
|
50
58
|
const instance = tree.root;
|
|
51
59
|
const TouchableOpacityElement = instance.findAllByType(TouchableOpacity);
|
|
52
|
-
expect(TouchableOpacityElement).toHaveLength(
|
|
60
|
+
expect(TouchableOpacityElement).toHaveLength(3);
|
|
53
61
|
});
|
|
54
62
|
});
|
|
@@ -8,7 +8,7 @@ import Text from '../../commons/Text';
|
|
|
8
8
|
import { Colors } from '../../configs';
|
|
9
9
|
|
|
10
10
|
const default_height = 44;
|
|
11
|
-
const paddingIos = getStatusBarHeight();
|
|
11
|
+
const paddingIos = getStatusBarHeight() + 10;
|
|
12
12
|
export const title_height = 44;
|
|
13
13
|
export const heightHeader = default_height + title_height + paddingIos;
|
|
14
14
|
|
|
@@ -46,7 +46,9 @@ const HeaderAni = memo(
|
|
|
46
46
|
const titleMarginRight = rightComponent ? 80 : 0;
|
|
47
47
|
|
|
48
48
|
return (
|
|
49
|
-
<Animated.View
|
|
49
|
+
<Animated.View
|
|
50
|
+
style={[styles.container, headerStyle, { height: headerHeightAnim }]}
|
|
51
|
+
>
|
|
50
52
|
<View style={styles.header}>
|
|
51
53
|
<TouchableOpacity style={styles.btnBack} onPress={onPressLeft}>
|
|
52
54
|
<Icon name={'left'} size={27} color={Colors.Gray9} />
|
|
@@ -90,7 +92,8 @@ const styles = StyleSheet.create({
|
|
|
90
92
|
header: {
|
|
91
93
|
flexDirection: 'row',
|
|
92
94
|
justifyContent: 'space-between',
|
|
93
|
-
|
|
95
|
+
alignItems: 'center',
|
|
96
|
+
zIndex: 2,
|
|
94
97
|
},
|
|
95
98
|
btnBack: {
|
|
96
99
|
height: default_height,
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { IconFill } from '@ant-design/icons-react-native';
|
|
1
|
+
import { IconOutline, IconFill } from '@ant-design/icons-react-native';
|
|
2
2
|
import React, { memo } from 'react';
|
|
3
3
|
import { StyleSheet } from 'react-native';
|
|
4
4
|
import { Colors } from '../../configs';
|
|
5
5
|
import FImage from '../FImage';
|
|
6
6
|
|
|
7
|
+
// Priority: iconKit - icon - icon_outlined
|
|
7
8
|
const IconComponent = memo(
|
|
8
|
-
({
|
|
9
|
+
({
|
|
10
|
+
icon_outlined,
|
|
11
|
+
icon,
|
|
12
|
+
iconKit,
|
|
13
|
+
isSendingCommand = false,
|
|
14
|
+
size = 40,
|
|
15
|
+
style,
|
|
16
|
+
}) => {
|
|
9
17
|
let extraStyle = {};
|
|
10
18
|
if (size) {
|
|
11
19
|
extraStyle = {
|
|
@@ -18,13 +26,20 @@ const IconComponent = memo(
|
|
|
18
26
|
source={{ uri: iconKit }}
|
|
19
27
|
style={[styles.iconAction, extraStyle, style]}
|
|
20
28
|
/>
|
|
21
|
-
) : (
|
|
29
|
+
) : icon ? (
|
|
22
30
|
<IconFill
|
|
23
31
|
name={icon}
|
|
24
32
|
color={isSendingCommand ? Colors.TextGray : Colors.Green7}
|
|
25
33
|
size={24}
|
|
26
34
|
style={style}
|
|
27
35
|
/>
|
|
36
|
+
) : (
|
|
37
|
+
<IconOutline
|
|
38
|
+
name={icon_outlined}
|
|
39
|
+
color={isSendingCommand ? Colors.TextGray : Colors.Green7}
|
|
40
|
+
size={24}
|
|
41
|
+
style={style}
|
|
42
|
+
/>
|
|
28
43
|
);
|
|
29
44
|
}
|
|
30
45
|
);
|