@ledvance/group-ui-biz-bundle 1.0.7 → 1.0.9
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,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useMemo } from "react";
|
|
2
2
|
import Page from "@ledvance/base/src/components/Page";
|
|
3
|
-
import { useDeviceInfo, useUAGroupInfo } from "@ledvance/base/src/models/modules/NativePropsSlice";
|
|
3
|
+
import { useDeviceInfo, useMoods, useUAGroupInfo } 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";
|
|
@@ -40,6 +40,8 @@ const FlagPage = () => {
|
|
|
40
40
|
const devInfo = useDeviceInfo()
|
|
41
41
|
const uaGroupInfo = useUAGroupInfo()
|
|
42
42
|
const navigation = useNavigation()
|
|
43
|
+
const [moods, setMoods] = useMoods()
|
|
44
|
+
const [flags, setFlags] = useFlags()
|
|
43
45
|
const [flagState, setFlag] = useFlag({
|
|
44
46
|
isStripLight: params.isStripLight,
|
|
45
47
|
isStringLight: params.isStringLight,
|
|
@@ -47,8 +49,8 @@ const FlagPage = () => {
|
|
|
47
49
|
})
|
|
48
50
|
const state = useReactive({
|
|
49
51
|
loading: true,
|
|
50
|
-
flags:
|
|
51
|
-
moods: []
|
|
52
|
+
flags: cloneDeep(flags) as FlagUiInfo[],
|
|
53
|
+
moods: params.isStripLight ? [] : cloneDeep(moods)
|
|
52
54
|
})
|
|
53
55
|
const defParams = {
|
|
54
56
|
workModeDpCode: params.workModeCode,
|
|
@@ -79,12 +81,19 @@ const FlagPage = () => {
|
|
|
79
81
|
return -1
|
|
80
82
|
}, [JSON.stringify(flagState), JSON.stringify(state.flags)])
|
|
81
83
|
|
|
84
|
+
useEffect(() =>{
|
|
85
|
+
console.log(flagState, '< --- flagstate')
|
|
86
|
+
console.log(state.flags, '< --- state.flags')
|
|
87
|
+
}, [flagState, JSON.stringify(state.flags)])
|
|
82
88
|
useEffect(() => {
|
|
83
|
-
|
|
84
|
-
|
|
89
|
+
if(!flags?.length){
|
|
90
|
+
getRemoteFlagInfo().then()
|
|
91
|
+
}
|
|
92
|
+
if (params.getRemoteMoodList && !params.isStripLight && !moods?.length) {
|
|
85
93
|
params.getRemoteMoodList(uaGroupInfo.tyGroupId.toString()).then(res => {
|
|
86
94
|
if (res.success && Array.isArray(res.data)) {
|
|
87
95
|
state.moods = res.data
|
|
96
|
+
setMoods(cloneDeep(res.data))
|
|
88
97
|
}
|
|
89
98
|
})
|
|
90
99
|
}
|
|
@@ -101,6 +110,7 @@ const FlagPage = () => {
|
|
|
101
110
|
})
|
|
102
111
|
}
|
|
103
112
|
state.flags = cloneFlag
|
|
113
|
+
setFlags(cloneDeep(cloneFlag))
|
|
104
114
|
}
|
|
105
115
|
}
|
|
106
116
|
|
|
@@ -140,6 +150,7 @@ const FlagPage = () => {
|
|
|
140
150
|
const res = await saveFlag(uaGroupInfo.tyGroupId.toString(), cloneDeep(newScene))
|
|
141
151
|
if (res.success) {
|
|
142
152
|
state.flags = cloneDeep(newScene)
|
|
153
|
+
setFlags(cloneDeep(newScene))
|
|
143
154
|
if(mode === 'del' && flagState?.flag && (checkedMood.id !== flagState.flag.id)){
|
|
144
155
|
return{
|
|
145
156
|
success: true
|
|
@@ -165,6 +176,7 @@ const FlagPage = () => {
|
|
|
165
176
|
...state.flags,
|
|
166
177
|
...state.moods
|
|
167
178
|
], 'id')
|
|
179
|
+
console.log(useIds, '< --- useIds')
|
|
168
180
|
const idRange = range(0, 256)
|
|
169
181
|
const unuseId = last(difference(idRange, useIds))
|
|
170
182
|
if (unuseId !== undefined) {
|
|
@@ -175,7 +187,7 @@ const FlagPage = () => {
|
|
|
175
187
|
<FlatList
|
|
176
188
|
data={state.flags}
|
|
177
189
|
renderItem={({ item }) => <FlagItem
|
|
178
|
-
enable={flagState?.workMode === WorkMode.
|
|
190
|
+
enable={flagState?.workMode === (params.isStripLight ? WorkMode.COLOUR : WorkMode.SCENE) && flagId === item.id}
|
|
179
191
|
title={item.name}
|
|
180
192
|
colors={item.colors.map(item => hsv2Hex(item.h, item.s, item.v))}
|
|
181
193
|
onSwitch={async (enable) => {
|
|
@@ -19,6 +19,8 @@ import { showDeleteMoodDialog } from './tools'
|
|
|
19
19
|
import { MoodPageProps } from './MoodPage'
|
|
20
20
|
import { Result } from '@ledvance/base/src/models/modules/Result'
|
|
21
21
|
import { ui_biz_routerKey } from '../../navigation/Routers'
|
|
22
|
+
import {hsv2Hex, mapFloatToRange } from '@ledvance/base/src/utils'
|
|
23
|
+
import { cctToColor } from '@ledvance/base/src/utils/cctUtils'
|
|
22
24
|
|
|
23
25
|
const cx = Utils.RatioUtils.convertX
|
|
24
26
|
|
|
@@ -57,7 +59,13 @@ const StaticMoodEditorPage = () => {
|
|
|
57
59
|
}, [params.mode])
|
|
58
60
|
|
|
59
61
|
const getColorBlockColor = useCallback(() => {
|
|
60
|
-
|
|
62
|
+
const s = Math.round(mapFloatToRange(state.currentNode.s / 100, 30, 100))
|
|
63
|
+
if (state.currentNode.isColorNode) {
|
|
64
|
+
return hsv2Hex(state.currentNode.h, s, 100)
|
|
65
|
+
}
|
|
66
|
+
if (moduleParams.isSupportTemperature) {
|
|
67
|
+
return cctToColor(state.currentNode.colorTemp.toFixed())
|
|
68
|
+
}
|
|
61
69
|
}, [state.currentNode.colorTemp])
|
|
62
70
|
|
|
63
71
|
const getButtonStatus = () => {
|
|
@@ -248,4 +256,4 @@ const styles = StyleSheet.create({
|
|
|
248
256
|
},
|
|
249
257
|
})
|
|
250
258
|
|
|
251
|
-
export default StaticMoodEditorPage
|
|
259
|
+
export default StaticMoodEditorPage
|