@eohjsc/react-native-smart-city 0.2.83 → 0.2.86
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/assets/images/Device/button-lock.svg +3 -0
- package/assets/images/Device/button-unlock.svg +3 -0
- package/assets/images/Event.svg +9 -0
- package/assets/images/brightness.svg +12 -0
- package/package.json +4 -2
- package/src/Images/Common/SuccessfullyConnected.svg +4 -0
- package/src/Images/Common/eye-closed.png +0 -0
- package/src/Images/Common/eye-closed@2x.png +0 -0
- package/src/Images/Common/eye-closed@3x.png +0 -0
- package/src/Images/Common/eye.png +0 -0
- package/src/Images/Common/eye@2x.png +0 -0
- package/src/Images/Common/eye@3x.png +0 -0
- package/src/commons/ActionGroup/LightActionTemplate.js +103 -0
- package/src/commons/ActionGroup/LightActionTemplateStyles.js +57 -0
- package/src/commons/ActionGroup/OnOffSmartLock.js +48 -0
- package/src/commons/ActionGroup/OnOffSmartLockStyle.js +51 -0
- package/src/commons/ActionGroup/OnOffTemplate/OnOffButtonTemplate.js +33 -31
- package/src/commons/ActionGroup/__test__/LightActionTemplate.test.js +59 -0
- package/src/commons/ActionGroup/index.js +6 -0
- package/src/commons/Automate/ItemAutomate.js +1 -1
- package/src/commons/Automate/ItemAutomateStyles.js +5 -1
- package/src/commons/CardShadow/index.js +5 -2
- package/src/commons/CardShadow/styles.js +2 -3
- package/src/commons/ConnectingProcess/DeviceItem/DeviceItem.js +16 -0
- package/src/commons/ConnectingProcess/DeviceItem/DeviceItemStyles.js +42 -0
- package/src/commons/ConnectingProcess/__test__/Connecting.test.js +27 -0
- package/src/commons/ConnectingProcess/__test__/DeviceItem.test.js +18 -0
- package/src/commons/ConnectingProcess/index.js +205 -0
- package/src/commons/ConnectingProcess/styles.js +69 -0
- package/src/commons/Device/ItemDevice.js +8 -3
- package/src/commons/Device/LinearChart.js +1 -0
- package/src/commons/Device/WaterQualitySensor/ListQualityIndicator.js +1 -1
- package/src/commons/Device/WaterQualitySensor/QualityIndicatorsItem.js +1 -1
- package/src/commons/Form/TextInputPassword.js +1 -1
- package/src/commons/FullLoading/index.js +35 -0
- package/src/commons/MediaPlayer/__test__/index.test.js +45 -0
- package/src/commons/SubUnit/OneTap/ItemOneTap.js +3 -0
- package/src/commons/SubUnit/ShortDetail.js +10 -22
- package/src/commons/SubUnit/__test__/ShortDetail.test.js +57 -48
- package/src/commons/index.js +2 -0
- package/src/configs/API.js +6 -2
- package/src/configs/Constants.js +36 -0
- package/src/configs/Images.js +2 -0
- package/src/context/actionType.ts +2 -0
- package/src/context/reducer.ts +10 -0
- package/src/hooks/Common/useBlockBackAndroid.js +3 -1
- package/src/navigations/AddDeviceStack.js +10 -0
- package/src/screens/ActivityLog/hooks/index.js +18 -4
- package/src/screens/ActivityLog/index.js +3 -0
- package/src/screens/AddCommon/SelectSubUnit.js +30 -6
- package/src/screens/AddCommon/SelectUnit.js +24 -2
- package/src/screens/AddCommon/__test__/SelectSubUnit.test.js +120 -1
- package/src/screens/AddCommon/__test__/SelectUnit.test.js +16 -1
- package/src/screens/AddNewAction/SelectAction.js +46 -28
- package/src/screens/AddNewAction/SelectSensorDevices.js +4 -2
- package/src/screens/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +3 -3
- package/src/screens/AddNewAutoSmart/index.js +18 -1
- package/src/screens/AddNewGateway/PlugAndPlay/ConnectWifiWarning.js +63 -16
- package/src/screens/AddNewGateway/PlugAndPlay/FirstWarning.js +4 -2
- package/src/screens/AddNewGateway/PlugAndPlay/GatewayWifiList.js +52 -23
- package/src/screens/AddNewGateway/SelectGateway.js +132 -0
- package/src/screens/AddNewGateway/SelectGatewayStyles.js +55 -0
- package/src/screens/AddNewGateway/__test__/SetupGateway.test.js +0 -52
- package/src/screens/AddNewOneTap/index.js +32 -17
- package/src/screens/Automate/index.js +2 -2
- package/src/screens/Device/EditDevice/index.js +5 -3
- package/src/screens/Device/components/SensorDisplayItem.js +3 -0
- package/src/screens/Device/detail.js +7 -6
- package/src/screens/Device/styles.js +2 -0
- package/src/screens/Notification/__test__/NotificationItem.test.js +27 -5
- package/src/screens/Notification/components/NotificationItem.js +112 -20
- package/src/screens/ScanChipQR/__test__/ScanChipQR.test.js +11 -7
- package/src/screens/ScanChipQR/hooks/index.js +78 -24
- package/src/screens/ScriptDetail/index.js +1 -6
- package/src/screens/SelectUnit/index.js +1 -0
- package/src/screens/SharedUnit/index.js +1 -1
- package/src/screens/SmartIr/__test__/SmartIr.test.js +61 -0
- package/src/screens/SmartIr/index.js +23 -0
- package/src/screens/SmartIr/styles.js +14 -0
- package/src/screens/Unit/AddMenu.js +4 -1
- package/src/screens/Unit/Detail.js +24 -2
- package/src/screens/Unit/ManageUnit.js +1 -1
- package/src/screens/Unit/ManageUnitStyles.js +0 -6
- package/src/screens/Unit/SmartAccount.js +5 -1
- package/src/screens/UnitSummary/components/PowerConsumeHistoryChart/__test__/index.test.js +32 -1
- package/src/screens/UnitSummary/components/PowerConsumeHistoryChart/index.js +1 -1
- package/src/utils/Apis/axios.js +1 -1
- package/src/utils/I18n/translations/en.json +18 -2
- package/src/utils/I18n/translations/vi.json +18 -3
- package/src/utils/Route/index.js +3 -0
|
@@ -16,12 +16,6 @@ export default StyleSheet.create({
|
|
|
16
16
|
borderBottomWidth: 0.5,
|
|
17
17
|
borderBottomColor: Colors.Gray6,
|
|
18
18
|
},
|
|
19
|
-
buttonWrapperAvatar: {
|
|
20
|
-
paddingTop: 14,
|
|
21
|
-
paddingBottom: 24,
|
|
22
|
-
borderBottomWidth: 0.5,
|
|
23
|
-
borderBottomColor: Colors.Gray7,
|
|
24
|
-
},
|
|
25
19
|
buttonInfo: {
|
|
26
20
|
flex: 1,
|
|
27
21
|
flexDirection: 'row',
|
|
@@ -15,7 +15,7 @@ import { useNavigation } from '@react-navigation/native';
|
|
|
15
15
|
import { axiosDelete, axiosGet } from '../../utils/Apis/axios';
|
|
16
16
|
import { SmartAccountItem } from './SmartAccountItem';
|
|
17
17
|
import { usePopover, useBoolean } from '../../hooks/Common';
|
|
18
|
-
import { MenuActionMore, AlertAction } from '../../commons';
|
|
18
|
+
import { MenuActionMore, AlertAction, FullLoading } from '../../commons';
|
|
19
19
|
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
20
20
|
import { useStateAlertRemove } from '../Unit/hook/useStateAlertRemove';
|
|
21
21
|
import { ToastBottomHelper } from '../../utils/Utils';
|
|
@@ -26,6 +26,7 @@ const ListSmartAccount = ({ route }) => {
|
|
|
26
26
|
const [data, setData] = useState([]);
|
|
27
27
|
const smartAccountRef = useRef(null);
|
|
28
28
|
const { navigate } = useNavigation();
|
|
29
|
+
const [loadingRemoveItem, setLoadingRemoveItem] = useState(false);
|
|
29
30
|
|
|
30
31
|
const getAllSmartAccounts = useCallback(async () => {
|
|
31
32
|
const { success, data } = await axiosGet(
|
|
@@ -70,6 +71,7 @@ const ListSmartAccount = ({ route }) => {
|
|
|
70
71
|
|
|
71
72
|
const deleteSmartAccount = useCallback(async () => {
|
|
72
73
|
hideAlertAction();
|
|
74
|
+
setLoadingRemoveItem(true);
|
|
73
75
|
if (!smartAccountRef?.current) {
|
|
74
76
|
return;
|
|
75
77
|
}
|
|
@@ -81,6 +83,7 @@ const ListSmartAccount = ({ route }) => {
|
|
|
81
83
|
ToastBottomHelper.success(t('removed_successfully'));
|
|
82
84
|
getAllSmartAccounts();
|
|
83
85
|
}
|
|
86
|
+
setLoadingRemoveItem(false);
|
|
84
87
|
}, [getAllSmartAccounts, hideAlertAction, t]);
|
|
85
88
|
|
|
86
89
|
const listMenuItem = useMemo(() => {
|
|
@@ -142,6 +145,7 @@ const ListSmartAccount = ({ route }) => {
|
|
|
142
145
|
hideComplete={releaseLockShowing}
|
|
143
146
|
/>
|
|
144
147
|
</WrapHeaderScrollable>
|
|
148
|
+
{loadingRemoveItem && <FullLoading />}
|
|
145
149
|
</View>
|
|
146
150
|
);
|
|
147
151
|
};
|
|
@@ -4,6 +4,17 @@ import ConfigHistoryChart from '../';
|
|
|
4
4
|
import { SCProvider } from '../../../../../context';
|
|
5
5
|
import { mockSCStore } from '../../../../../context/mockStore';
|
|
6
6
|
import HistoryChart from '../../../../../commons/Device/HistoryChart';
|
|
7
|
+
import axios from 'axios';
|
|
8
|
+
import moment from 'moment';
|
|
9
|
+
|
|
10
|
+
jest.mock('react', () => {
|
|
11
|
+
return {
|
|
12
|
+
...jest.requireActual('react'),
|
|
13
|
+
memo: (x) => x,
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
jest.mock('axios');
|
|
7
18
|
|
|
8
19
|
const wrapComponent = (configs = []) => (
|
|
9
20
|
<SCProvider initState={mockSCStore({})}>
|
|
@@ -18,7 +29,7 @@ describe('Test HistoryChart', () => {
|
|
|
18
29
|
jest.useFakeTimers();
|
|
19
30
|
});
|
|
20
31
|
|
|
21
|
-
it('Test render', async () => {
|
|
32
|
+
it('Test render null', async () => {
|
|
22
33
|
await act(() => {
|
|
23
34
|
tree = create(wrapComponent());
|
|
24
35
|
});
|
|
@@ -26,4 +37,24 @@ describe('Test HistoryChart', () => {
|
|
|
26
37
|
const HistoryCharts = instance.findAllByType(HistoryChart);
|
|
27
38
|
expect(HistoryCharts).toHaveLength(0);
|
|
28
39
|
});
|
|
40
|
+
|
|
41
|
+
it('Test render chart', async () => {
|
|
42
|
+
const response = {
|
|
43
|
+
status: 200,
|
|
44
|
+
data: [
|
|
45
|
+
{
|
|
46
|
+
config: 1,
|
|
47
|
+
data: [{ x: moment(), y: 10 }],
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
axios.get.mockImplementation(async () => response);
|
|
52
|
+
const configs = [{ id: 1 }];
|
|
53
|
+
await act(async () => {
|
|
54
|
+
tree = await create(wrapComponent(configs));
|
|
55
|
+
});
|
|
56
|
+
const instance = tree.root;
|
|
57
|
+
const HistoryCharts = instance.findAllByType(HistoryChart);
|
|
58
|
+
expect(HistoryCharts).toHaveLength(1);
|
|
59
|
+
});
|
|
29
60
|
});
|
package/src/utils/Apis/axios.js
CHANGED
|
@@ -153,7 +153,7 @@ export async function axiosDelete(...options) {
|
|
|
153
153
|
}
|
|
154
154
|
const convertFilenameImage = (filename) => {
|
|
155
155
|
const filenameConverted = filename?.replace(/HEIC/g, 'jpg');
|
|
156
|
-
return
|
|
156
|
+
return filenameConverted || filename;
|
|
157
157
|
};
|
|
158
158
|
export function createFormData(data, list_file_field) {
|
|
159
159
|
const formData = new FormData();
|
|
@@ -186,6 +186,7 @@
|
|
|
186
186
|
"explanation": "Do everything with just one button",
|
|
187
187
|
"value_change": "Value change",
|
|
188
188
|
"schedule": "Schedule",
|
|
189
|
+
"event": "Event",
|
|
189
190
|
"setup_the_conditions": "Setup the conditions",
|
|
190
191
|
"setup_the_schedule": "Setup the Schedule",
|
|
191
192
|
"des_launch_one_tap": "Quick button create at the dashboard",
|
|
@@ -275,7 +276,11 @@
|
|
|
275
276
|
"manage_unit": "Manage unit",
|
|
276
277
|
"text_bad": "Bad",
|
|
277
278
|
"text_select_a_unit": "Select a unit",
|
|
279
|
+
"text_select_sub_unit": "Select sub unit",
|
|
280
|
+
"text_select_a_gateway": "Select a gateway",
|
|
278
281
|
"text_select_a_unit_desc": "Select a unit you want to add new members",
|
|
282
|
+
"select_a_sub_unit_want_add_device": "Then, select a sub-unit that you want to add this device in",
|
|
283
|
+
"text_select_a_unit_have_device": "First, select a unit that has this device",
|
|
279
284
|
"text_select_permissions": "Select permissions",
|
|
280
285
|
"text_select_permissions_desc": "Select permissions will be grant",
|
|
281
286
|
"text_read_config": "Read configs",
|
|
@@ -306,6 +311,7 @@
|
|
|
306
311
|
"your_location": "Your location",
|
|
307
312
|
"choose_on_map": "Choose on map",
|
|
308
313
|
"plan_and_zoom_to_adjust": "Plan and zoom to adjust",
|
|
314
|
+
"add_remote_control": "Add remote control",
|
|
309
315
|
"manage_sub_unit": "Manage sub-unit",
|
|
310
316
|
"remove_sub_unit": "Remove sub-unit",
|
|
311
317
|
"text_ble_is_powered_on": "Bluetooth is powered on",
|
|
@@ -675,11 +681,17 @@
|
|
|
675
681
|
"text_notification_content_turbility_high": "The Turbility at **%{unit_name}** is **%{status}**. Water is not safe to drink.",
|
|
676
682
|
"text_notification_content_smoke": "Smoke appears in **%{unit_name}**. Please check your home and call the rescue team if there is a fire.",
|
|
677
683
|
"text_notification_content_fire": "There is a fire at **%{unit_name}**, Please move out of the house immediately and call the rescue team.",
|
|
684
|
+
"text_notification_content_active_sos": "SOS button is activating at **%{unit_name}**, Please check it NOW.",
|
|
678
685
|
"text_notification_content_remove_unit_to_owner": "Unit **%{unit_name}** has been removed successfully.",
|
|
679
686
|
"text_notification_content_remove_unit_to_member": "Unit **%{unit_name}** has been removed by **%{unit_owner_name}**. You cannot access to this unit anymore.",
|
|
680
687
|
"text_notification_content_remove_member": "You were remove from **%{unit_name}** by **%{unit_owner_name}**. You cannot access to this unit anymore.",
|
|
681
688
|
"text_notification_content_member_leave_unit": "**%{member_name}** has left **%{unit_name}**.",
|
|
682
689
|
"text_notification_content_rename_unit": "Unit **%{old_unit_name}** has been renamed to **%{new_unit_name}** by **%{owner_name}**.",
|
|
690
|
+
"text_notification_content_divice_disconnect": "**%{device_name}** at **%{unit_name}**: **%{sub_unit_name}** has been disconnected. Please check and reconnect.",
|
|
691
|
+
"text_notification_content_rename_sub_unit": "Sub-unit **%{old_sub_unit_name}**: **%{unit_name}** has been renamed to **%{new_sub_unit_name}** by **%{unti_owner_name}**.",
|
|
692
|
+
"text_notification_content_remove_sub_unit": "Sub-unit **%{sub_unit_name}** has been removed from **%{unit_name}** by **%{unit_owner_name}**.",
|
|
693
|
+
"text_notification_content_remove_device": "Device **%{device_name}** has been removed from **%{unit_name}** by **%{unit_owner_name}**.",
|
|
694
|
+
"text_notification_content_update_address": "New address of **%{unit_name}** has been updated by **%{unit_owner_name}** to **%{unit_address}**.",
|
|
683
695
|
"this_spot_does_not_exsit": "This spot does not exist",
|
|
684
696
|
"please_scan_again_or_contact_the_parking_manager": "Please scan again or contact the parking manager",
|
|
685
697
|
"this_spot_does_not_support_to_scan": "This spot does not support to scan",
|
|
@@ -887,7 +899,7 @@
|
|
|
887
899
|
"connecting_gateway_warning_1": "By continuing, EoH needs to connect to the device's wifi.",
|
|
888
900
|
"connecting_gateway_warning_2": "A message will appear asking you to connect.",
|
|
889
901
|
"remove_account": "Remove Account",
|
|
890
|
-
"
|
|
902
|
+
"brightness": "Brightness",
|
|
891
903
|
"tap_to_add_new_schedule": "Tap + to add new schedule",
|
|
892
904
|
"confirmation": "Confirmation",
|
|
893
905
|
"enter_yes_to_perform": "You need to enter 'YES' to perform this action",
|
|
@@ -906,5 +918,9 @@
|
|
|
906
918
|
"error_share_permission": "{text} {data} does not exist!",
|
|
907
919
|
"text_phone_share_permission": "The phone",
|
|
908
920
|
"text_email_share_permission": "Email",
|
|
909
|
-
"icon_unit": "Icon unit"
|
|
921
|
+
"icon_unit": "Icon unit",
|
|
922
|
+
"lock": "LOCK",
|
|
923
|
+
"unlock": "UNLOCK",
|
|
924
|
+
"door_is_open": "Door is open | unlocked",
|
|
925
|
+
"door_is_close": "Door is close | locked"
|
|
910
926
|
}
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"setup_the_conditions": "Cài đặt điều kiện",
|
|
47
47
|
"setup_the_schedule": "Cài đặt thời gian ",
|
|
48
48
|
"schedule": "Lịch trình",
|
|
49
|
+
"event": "Sự kiện",
|
|
49
50
|
"des_launch_one_tap": "Tạo nút nhanh trên trang tổng quan",
|
|
50
51
|
"active_list": "Danh sách hành động",
|
|
51
52
|
"filtering": "Đang sục rửa",
|
|
@@ -310,7 +311,11 @@
|
|
|
310
311
|
"manage_unit": "Quản lý địa điểm",
|
|
311
312
|
"text_bad": "Xấu",
|
|
312
313
|
"text_select_a_unit": "Chọn một địa điểm",
|
|
314
|
+
"text_select_sub_unit": "Chọn đơn vị",
|
|
315
|
+
"text_select_a_gateway": "Chọn một gateway",
|
|
313
316
|
"text_select_a_unit_desc": "Chọn 1 địa điểm bạn muốn thêm thành viên",
|
|
317
|
+
"text_select_a_unit_have_device": "Đầu tiên, chọn một địa điểm có thiết bị này",
|
|
318
|
+
"select_a_sub_unit_want_add_device": "Sau đó, chọn một đơn vị con mà bạn muốn thêm thiết bị này vào",
|
|
314
319
|
"text_select_permissions": "Chọn hành động",
|
|
315
320
|
"text_select_permissions_desc": "Chọn các hành động cho phép",
|
|
316
321
|
"text_read_config": "Thông số đọc",
|
|
@@ -341,6 +346,7 @@
|
|
|
341
346
|
"your_location": "Vị trí của bạn",
|
|
342
347
|
"choose_on_map": "Chọn trên bản đồ",
|
|
343
348
|
"plan_and_zoom_to_adjust": "Di chuyển và phóng to để điều chỉnh",
|
|
349
|
+
"add_remote_control": "Thêm điều khiển từ xa",
|
|
344
350
|
"manage_sub_unit": "Quản lý khu vực",
|
|
345
351
|
"remove_sub_unit": "Xóa khu vực",
|
|
346
352
|
"text_ble_is_powered_on": "Bluetooth đã được mở",
|
|
@@ -683,11 +689,17 @@
|
|
|
683
689
|
"text_notification_content_turbility_high": "Độ đục của nước tại **%{unit_name}** đang ở mức **%{status}**. Nước không đảm bảo an toàn để uống.",
|
|
684
690
|
"text_notification_content_smoke": "Xuất hiện khói tại **%{unit_name}**. Vui lòng kiểm tra nhà của bạn và gọi cho đội cứu hộ nếu xảy ra hỏa hoạn.",
|
|
685
691
|
"text_notification_content_fire": "Có đám cháy tại **%{unit_name}**, Vui lòng di chuyển ra khỏi nhà ngay lập tức và gọi cho đội cứu hộ.",
|
|
692
|
+
"text_notification_content_active_sos": "Nút SOS đang kích hoạt tại **%{unit_name}**. Vui lòng kiểm tra nó NGAY BÂY GIỜ.",
|
|
686
693
|
"text_notification_content_remove_unit_to_owner": "Địa điểm **%{unit_name}** vừa được xoá thành công.",
|
|
687
694
|
"text_notification_content_remove_unit_to_member": "Địa điểm **%{unit_name}** vừa được xoá bởi **%{unit_owner_name}**. Bạn không thể truy cập vào địa điểm này được nữa.",
|
|
688
695
|
"text_notification_content_remove_member": "Bạn vừa được xoá khỏi **%{unit_name}** bởi **%{unit_owner_name}**. Bạn không thể truy cập vào địa điểm này được nữa.",
|
|
689
696
|
"text_notification_content_member_leave_unit": "**%{member_name}** vừa rời khỏi **%{unit_name}**.",
|
|
690
697
|
"text_notification_content_rename_unit": "Địa điểm **%{old_unit_name}** vừa được đổi tên thành **%{new_unit_name}** bởi **%{owner_name}**.",
|
|
698
|
+
"text_notification_content_divice_disconnect": "**%{device_name}** tại **%{unit_name}**: **%{sub_unit_name}** vừa bị mất kết nối. Vui lòng kiểm tra và kết nối lại.",
|
|
699
|
+
"text_notification_content_rename_sub_unit": "Khu vực **%{old_sub_unit_name}**: **%{unit_name}** vừa được đổi tên thành **%{new_sub_unit_name}** bởi **%{unti_owner_name}**.",
|
|
700
|
+
"text_notification_content_remove_sub_unit": "Khu vực **%{sub_unit_name}** vừa được xoá khỏi **%{unit_name}** bởi **%{unit_owner_name}**.",
|
|
701
|
+
"text_notification_content_remove_device": "Thiết bị **%{device_name}** vừa được xoá khỏi **%{unit_name}** bởi **%{unit_owner_name}**.",
|
|
702
|
+
"text_notification_content_update_address": "Địa chỉ mới của **%{unit_name}** vừa được cập nhật bởi **%{unit_owner_name}** thành **%{unit_address}**.",
|
|
691
703
|
"this_spot_does_not_exsit": "Vị trí đỗ này không tồn tại",
|
|
692
704
|
"please_scan_again_or_contact_the_parking_manager": "Vui lòng quét lại hoặc liên hệ với người quản lý bãi đậu xe",
|
|
693
705
|
"this_spot_does_not_support_to_scan": "Vị trí đỗ này không hỗ trợ quét",
|
|
@@ -697,7 +709,6 @@
|
|
|
697
709
|
"command_send_fail_googlehome": "Lệnh gởi thất bại đến google home",
|
|
698
710
|
"command_googlehome_ready": "Google Home kết nối thành công",
|
|
699
711
|
"command_googlehome_lost": "Google Home bị mất kết nối. Đang kết nối lại...",
|
|
700
|
-
"text_sub_unit_not_have_device": "Khu vực không có thiết bị để điều khiển",
|
|
701
712
|
"confirm": "Xác nhận",
|
|
702
713
|
"car_validate_warning": "Vui lòng nhập đúng định dạng biển số xe \nVD: %{example}",
|
|
703
714
|
"are_you_sure_this_resolved": "Bạn có chắc tình huống khẩn cấp này đã được xử lý xong? Các thành viên thuộc địa điểm này cũng sẽ nhận được thông báo.",
|
|
@@ -890,7 +901,6 @@
|
|
|
890
901
|
"add_gateway_success": "Thêm gateway thành công",
|
|
891
902
|
"tap_to_add_new_schedule": "Nhấn + để thêm lịch trình mới",
|
|
892
903
|
"remove_account": "Xóa tài khoản",
|
|
893
|
-
"text_subunit_not_have_device": "Bạn không có khu vực nào có thiết bị để điều khiển",
|
|
894
904
|
"choose_at_least_one": "Vui lòng chọn ít nhất 1 thiết bị.",
|
|
895
905
|
"confirmation": "Xác Nhận",
|
|
896
906
|
"enter_yes_to_perform": "Bạn cần nhập 'YES' để thực hiện hành động này",
|
|
@@ -900,6 +910,7 @@
|
|
|
900
910
|
"curtain_closes": "Rèm đóng",
|
|
901
911
|
"schedule_name": "Tên lịch trình",
|
|
902
912
|
"enter_name": "Nhập tên",
|
|
913
|
+
"brightness": "Độ sáng",
|
|
903
914
|
"name_smart_account": "Smart Account",
|
|
904
915
|
"location_permission_required_wifi_title": "Quyền vị trí là bắt buộc đối với kết nối WiFi",
|
|
905
916
|
"location_permission_required_wifi_message": "Ứng dụng này cần có quyền định vị vì ứng dụng này được yêu cầu để quét các mạng Wi-Fi.",
|
|
@@ -909,5 +920,9 @@
|
|
|
909
920
|
"error_share_permission": "{text} {data} không tồn tại!",
|
|
910
921
|
"text_phone_share_permission": "Số điện thoại",
|
|
911
922
|
"text_email_share_permission": "Email",
|
|
912
|
-
"icon_unit": "Ảnh đại diện địa điểm"
|
|
923
|
+
"icon_unit": "Ảnh đại diện địa điểm",
|
|
924
|
+
"lock": "KHÓA",
|
|
925
|
+
"unlock": "MỞ KHÓA",
|
|
926
|
+
"door_is_open": "Cửa mở | mở khóa",
|
|
927
|
+
"door_is_close": "Cửa đóng | bị khóa"
|
|
913
928
|
}
|
package/src/utils/Route/index.js
CHANGED
|
@@ -55,6 +55,8 @@ const Routes = {
|
|
|
55
55
|
AddSubUnit: 'AddSubUnit',
|
|
56
56
|
AddCommonSelectUnit: 'AddCommonSelectUnit',
|
|
57
57
|
AddCommonSelectSubUnit: 'AddCommonSelectSubUnit',
|
|
58
|
+
AddGatewaySelectGateway: 'AddGatewaySelectGateway',
|
|
59
|
+
ConnectingProcess: 'ConnectingProcess',
|
|
58
60
|
UnitMemberList: 'UnitMemberList',
|
|
59
61
|
SharingSelectPermission: 'SharingSelectPermission',
|
|
60
62
|
SharingInviteMembers: 'SharingInviteMembers',
|
|
@@ -127,6 +129,7 @@ const Routes = {
|
|
|
127
129
|
ConfirmUnitDeletion: 'ConfirmUnitDeletion',
|
|
128
130
|
SmartAccount: 'SmartAccount',
|
|
129
131
|
SmartHomeDashboard: 'SmartHomeDashboard',
|
|
132
|
+
SmartIrSelectDeviceType: 'SmartIrSelectDeviceType',
|
|
130
133
|
};
|
|
131
134
|
|
|
132
135
|
export default Routes;
|