@ledvance/group-ui-biz-bundle 1.0.8 → 1.0.10

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
@@ -4,7 +4,7 @@
4
4
  "name": "@ledvance/group-ui-biz-bundle",
5
5
  "pid": [],
6
6
  "uiid": "",
7
- "version": "1.0.8",
7
+ "version": "1.0.10",
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "@ledvance/base": "^1.x",
@@ -200,3 +200,11 @@ export function saveFlag(devId: string, flagInfo: FlagUiInfo[]) {
200
200
  return NativeApi.putJson(devId, featureId, JSON.stringify(flagInfo))
201
201
  }
202
202
 
203
+ export function getFlagMode(groupId: string){
204
+ return NativeApi.getJson(groupId, 'flagMode')
205
+ }
206
+
207
+ export function saveFlagMode(groupId: string, v:string){
208
+ return NativeApi.putJson(groupId, 'flagMode', v)
209
+ }
210
+
@@ -393,6 +393,8 @@ const styles = StyleSheet.create({
393
393
  flex: 1,
394
394
  height: cx(40),
395
395
  borderRadius: cx(8),
396
+ borderWidth: 1,
397
+ borderColor: '#ccc'
396
398
  },
397
399
  nodeDeleteBtn: {
398
400
  width: cx(24),
@@ -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, useMoods, useUAGroupInfo } from "@ledvance/base/src/models/modules/NativePropsSlice";
3
+ import { useDeviceInfo, useFlags, 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";
@@ -110,7 +110,7 @@ const FlagPage = () => {
110
110
  })
111
111
  }
112
112
  state.flags = cloneFlag
113
- setFlags(cloneFlag)
113
+ setFlags(cloneDeep(cloneFlag))
114
114
  }
115
115
  }
116
116
 
@@ -187,7 +187,7 @@ const FlagPage = () => {
187
187
  <FlatList
188
188
  data={state.flags}
189
189
  renderItem={({ item }) => <FlagItem
190
- enable={flagState?.workMode === WorkMode.Scene && flagId === item.id}
190
+ enable={flagState?.workMode === (params.isStripLight ? WorkMode.Colour : WorkMode.Scene) && flagId === item.id}
191
191
  title={item.name}
192
192
  colors={item.colors.map(item => hsv2Hex(item.h, item.s, item.v))}
193
193
  onSwitch={async (enable) => {
@@ -4,7 +4,7 @@ import { Utils } from 'tuya-panel-kit'
4
4
  import { SceneMode, ScenePageUIState, SceneUIState, StripSceneUIState } from './SceneInfo'
5
5
  import { getRemoteSceneList, saveScene, useScene, useSwitchLed, useWorkMode } from './SceneAction'
6
6
  import { WorkMode } from '@ledvance/base/src/utils/interface'
7
- import { useDeviceInfo, useMoods, useUAGroupInfo } from '@ledvance/base/src/models/modules/NativePropsSlice'
7
+ import { useDeviceInfo, useFlagMode, useMoods, useUAGroupInfo } from '@ledvance/base/src/models/modules/NativePropsSlice'
8
8
  import { useReactive } from 'ahooks'
9
9
  import Strings from '@ledvance/base/src/i18n'
10
10
  import res from '@ledvance/base/src/res'
@@ -17,6 +17,7 @@ import MoodItem from './MoodItem'
17
17
  import { useNavigation, useRoute } from '@react-navigation/core'
18
18
  import { cloneDeep } from 'lodash'
19
19
  import { ui_biz_routerKey } from '../../navigation/Routers'
20
+ import { saveFlagMode } from '../flags/FlagActions'
20
21
 
21
22
  const cx = Utils.RatioUtils.convertX
22
23
 
@@ -61,6 +62,7 @@ const MoodPage = () => {
61
62
  const [moods, setMoods] = useMoods()
62
63
  const [workMode] = useWorkMode()
63
64
  const [switchLed] = useSwitchLed()
65
+ const [flagMode, setFlagMode] = useFlagMode()
64
66
  const state = useReactive<MoodPageUIState>({
65
67
  currentScene: undefined,
66
68
  staticTagChecked: true,
@@ -171,6 +173,15 @@ const MoodPage = () => {
171
173
  if (res.success) {
172
174
  state.scenes = cloneDeep(newScene)
173
175
  setMoods(cloneDeep(newScene))
176
+ if(flagMode && params.isSupportColor){
177
+ saveFlagMode(uaGroupInfo.tyGroupId.toString(), JSON.stringify(false)).then()
178
+ setFlagMode(false)
179
+ }
180
+ if(mode === 'del' && currentMood.id !== scene?.scene?.id){
181
+ return {
182
+ success: true
183
+ }
184
+ }
174
185
  return setScene({
175
186
  scene: cloneDeep(mood),
176
187
  sceneDataDpCode: params.sceneDataDpCode,
@@ -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
- return '#fff'
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