@ledvance/ui-biz-bundle 1.1.14 → 1.1.15
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/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { useEffect, useMemo } from "react";
|
|
2
2
|
import Page from "@ledvance/base/src/components/Page";
|
|
3
|
-
import { useDeviceId, useDeviceInfo, useFlags, useMoods } from "@ledvance/base/src/models/modules/NativePropsSlice";
|
|
3
|
+
import { useDeviceId, useDeviceInfo, useFlagMode, useFlags, useMoods } from "@ledvance/base/src/models/modules/NativePropsSlice";
|
|
4
4
|
import { FlatList } from "react-native";
|
|
5
5
|
import Spacer from "@ledvance/base/src/components/Spacer";
|
|
6
6
|
import { Utils } from "tuya-panel-kit";
|
|
7
7
|
import FlagItem from "./FlagItem";
|
|
8
8
|
import { FlagUiInfo } from "./FlagInfo";
|
|
9
|
-
import { getRemoteFlag, saveFlag, useFlag } from "./FlagActions";
|
|
9
|
+
import { getRemoteFlag, saveFlag, saveFlagMode, useFlag } from "./FlagActions";
|
|
10
10
|
import { useRoute, useNavigation } from '@react-navigation/core'
|
|
11
11
|
import I18n from "@ledvance/base/src/i18n";
|
|
12
12
|
import { useReactive, useUpdateEffect } from "ahooks";
|
|
@@ -46,6 +46,7 @@ const FlagPage = () => {
|
|
|
46
46
|
const [dps, setDps] = useDps()
|
|
47
47
|
const [moods, setMoods] = useMoods()
|
|
48
48
|
const [flags, setFlags] = useFlags()
|
|
49
|
+
const [flagMode, setFlagMode] = useFlagMode()
|
|
49
50
|
const [flagState, setFlag] = useFlag((params.isStripLight ? params?.drawToolLight?.drawToolCode : params.sceneDataCode)!!, {
|
|
50
51
|
isMixLight: params.isSupportMixScene,
|
|
51
52
|
isStringLight: params.isStringLight,
|
|
@@ -144,6 +145,7 @@ const FlagPage = () => {
|
|
|
144
145
|
const mood = mode === 'del' ? (newScene.length === 0 ? undefined : newScene[0]) : checkedMood
|
|
145
146
|
const res = await saveFlag(devId, cloneDeep(newScene))
|
|
146
147
|
if (res.success) {
|
|
148
|
+
updateFlagMode()
|
|
147
149
|
state.flags = cloneDeep(newScene)
|
|
148
150
|
setFlags(cloneDeep(newScene))
|
|
149
151
|
if(mode === 'del' && currentMood.id !== flagState.id){
|
|
@@ -165,6 +167,13 @@ const FlagPage = () => {
|
|
|
165
167
|
}
|
|
166
168
|
}
|
|
167
169
|
|
|
170
|
+
const updateFlagMode = () =>{
|
|
171
|
+
if(!flagMode){
|
|
172
|
+
saveFlagMode(devId, JSON.stringify(true)).then()
|
|
173
|
+
setFlagMode(true)
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
168
177
|
return (
|
|
169
178
|
<Page
|
|
170
179
|
headlineText={I18n.getLang('Feature_devicepanel_flags')}
|
|
@@ -185,12 +194,13 @@ const FlagPage = () => {
|
|
|
185
194
|
<FlatList
|
|
186
195
|
data={state.flags}
|
|
187
196
|
renderItem={({ item }) => <FlagItem
|
|
188
|
-
enable={dps[params.workModeCode] === (params.isStripLight ? WORK_MODE.
|
|
197
|
+
enable={dps[params.workModeCode] === (params.isStripLight ? WORK_MODE.COLOUR : WORK_MODE.SCENE) && flagId === item.id}
|
|
189
198
|
title={item.name}
|
|
190
199
|
colors={item.colors.map(item => hsv2Hex(item.h, item.s, item.v))}
|
|
191
200
|
onSwitch={async (enable) => {
|
|
192
201
|
if (enable) {
|
|
193
202
|
await setFlag(item)
|
|
203
|
+
updateFlagMode()
|
|
194
204
|
}
|
|
195
205
|
}}
|
|
196
206
|
onPress={() => {
|
|
@@ -107,7 +107,7 @@ const FantasyMoodEditPage = () => {
|
|
|
107
107
|
})
|
|
108
108
|
const saveRes = await saveFantasyScene(deviceId, params.moduleParams.featureId, list, moduleParams.isStringLight)
|
|
109
109
|
if (saveRes.success) {
|
|
110
|
-
if(flagMode
|
|
110
|
+
if(flagMode){
|
|
111
111
|
saveFlagMode(deviceId, JSON.stringify(false)).then()
|
|
112
112
|
setFlagMode(false)
|
|
113
113
|
}
|
|
@@ -4,7 +4,7 @@ import { Utils } from 'tuya-panel-kit'
|
|
|
4
4
|
import { ScenePageUIState, SceneUIState } from '../scene/SceneInfo'
|
|
5
5
|
import { getRemoteSceneList, useScene } from '../scene/SceneAction'
|
|
6
6
|
import { SCENE, useWorkMode } from '../../hooks/DeviceDpStateHooks'
|
|
7
|
-
import { isUVCFanDevice, useDeviceInfo } from '@ledvance/base/src/models/modules/NativePropsSlice'
|
|
7
|
+
import { isUVCFanDevice, useDeviceInfo, useFlagMode } from '@ledvance/base/src/models/modules/NativePropsSlice'
|
|
8
8
|
import { useReactive, useUpdateEffect } from 'ahooks'
|
|
9
9
|
import Strings from '@ledvance/base/src/i18n'
|
|
10
10
|
import res from '@ledvance/base/src/res'
|
|
@@ -16,6 +16,7 @@ import CustomListDialog from '@ledvance/base/src/components/CustomListDialog'
|
|
|
16
16
|
import MoodItem from './MoodItem'
|
|
17
17
|
import { toAddMoodPage, toDynamicMoodEditorPage, toStaticMoodEditorPage } from '../../navigation/tools'
|
|
18
18
|
import { useNavigation, useRoute } from '@react-navigation/core'
|
|
19
|
+
import { saveFlagMode } from '../flags/FlagActions'
|
|
19
20
|
|
|
20
21
|
const cx = Utils.RatioUtils.convertX
|
|
21
22
|
|
|
@@ -58,6 +59,7 @@ const MoodPage = () => {
|
|
|
58
59
|
}
|
|
59
60
|
const [sceneId, setScene] = useScene(params.sceneDpCode)
|
|
60
61
|
const [workMode] = useWorkMode(params.workModeDpCode)
|
|
62
|
+
const [flagMode, setFlagMode] = useFlagMode()
|
|
61
63
|
const deviceInfo = useDeviceInfo()
|
|
62
64
|
const navigation = useNavigation()
|
|
63
65
|
const isUVCFan = isUVCFanDevice()
|
|
@@ -143,6 +145,13 @@ const MoodPage = () => {
|
|
|
143
145
|
return mood
|
|
144
146
|
}, [])
|
|
145
147
|
|
|
148
|
+
const updateFlagMode = () =>{
|
|
149
|
+
if(flagMode && params.isSupportColor){
|
|
150
|
+
saveFlagMode(deviceInfo.devId, JSON.stringify(false)).then()
|
|
151
|
+
setFlagMode(false)
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
146
155
|
return (
|
|
147
156
|
<>
|
|
148
157
|
<Page
|
|
@@ -226,6 +235,7 @@ const MoodPage = () => {
|
|
|
226
235
|
!!params.isFanLamp
|
|
227
236
|
)
|
|
228
237
|
state.currentScene = checkMoodData(item)
|
|
238
|
+
updateFlagMode()
|
|
229
239
|
state.loading = false
|
|
230
240
|
}} />
|
|
231
241
|
)
|
|
@@ -102,7 +102,7 @@ const StaticMoodEditorPage = () => {
|
|
|
102
102
|
!!moduleParams.isFanLamp,
|
|
103
103
|
)
|
|
104
104
|
if (saveRes.success) {
|
|
105
|
-
if(flagMode &&
|
|
105
|
+
if(flagMode && moduleParams.isSupportColor){
|
|
106
106
|
saveFlagMode(deviceId, JSON.stringify(false)).then()
|
|
107
107
|
setFlagMode(false)
|
|
108
108
|
}
|