@ledvance/ui-biz-bundle 1.1.10 → 1.1.12

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/ui-biz-bundle",
5
5
  "pid": [],
6
6
  "uiid": "",
7
- "version": "1.1.10",
7
+ "version": "1.1.12",
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "@ledvance/base": "^1.x",
@@ -11,7 +11,7 @@ import TextField from '@ledvance/base/src/components/TextField'
11
11
  import Card from '@ledvance/base/src/components/Card'
12
12
  import LdvSlider from '@ledvance/base/src/components/ldvSlider'
13
13
  import TextButton from '@ledvance/base/src/components/TextButton'
14
- import { hex2Hsv, hsv2Hex, mapFloatToRange } from '@ledvance/base/src/utils'
14
+ import { hex2Hsv, hsv2Hex } from '@ledvance/base/src/utils'
15
15
  import { cloneDeep, find, isEqual } from 'lodash'
16
16
  import { FlagUiInfo } from './FlagInfo'
17
17
  import ColorAdjustView from '@ledvance/base/src/components/ColorAdjustView'
@@ -60,8 +60,8 @@ const FlagEditPage = () => {
60
60
  if(isMainLight){
61
61
  return cctToColor(state.currentWhiteNode.colorTemp, Math.max(...[state.currentWhiteNode.brightness, 50]))
62
62
  }
63
- const s = Math.round(mapFloatToRange(state.currentNode.s / 100, 30, 100))
64
- return hsv2Hex(state.currentNode.h, s, 100)
63
+ const { h, s, v} = state.currentNode
64
+ return hsv2Hex(h, s, v)
65
65
  }, [state.currentNode, state.currentWhiteNode])
66
66
 
67
67
  const nameRepeat = useMemo(() => {
@@ -162,7 +162,6 @@ const FlagEditPage = () => {
162
162
  <Text style={styles.light}>
163
163
  {I18n.getLang(params.moduleParams.isSupportMixScene ? 'light_sources_tile_sec_lighting_headline' : 'light_sources_tile_tw_lighting_headline')}
164
164
  </Text>
165
- <View style={[styles.preview, { backgroundColor: getColorBlockColor() }]} />
166
165
  </View>
167
166
  <Spacer height={cx(10)} />
168
167
  <LdvSlider
@@ -274,6 +273,7 @@ const FlagEditPage = () => {
274
273
  s={state.currentNode.s}
275
274
  v={state.currentNode.v}
276
275
  reserveSV={true}
276
+ minBrightness={0}
277
277
  onHSVChange={(h, s, v) => {
278
278
  if (state.colorPaintBucketSelected) {
279
279
  state.mood.colors = state.mood.colors.map(() => (
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useMemo } from "react";
2
2
  import Page from "@ledvance/base/src/components/Page";
3
- import { useDeviceId, useDeviceInfo } from "@ledvance/base/src/models/modules/NativePropsSlice";
3
+ import { useDeviceId, useDeviceInfo, 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";
@@ -9,7 +9,7 @@ import { FlagUiInfo } from "./FlagInfo";
9
9
  import { getRemoteFlag, saveFlag, useFlag } from "./FlagActions";
10
10
  import { useRoute, useNavigation } from '@react-navigation/core'
11
11
  import I18n from "@ledvance/base/src/i18n";
12
- import { useReactive } from "ahooks";
12
+ import { useReactive, useUpdateEffect } from "ahooks";
13
13
  import { cloneDeep, difference, isEqual, last, map, range } from "lodash";
14
14
  import { ui_biz_routerKey} from "../../navigation/Routers";
15
15
  import res from "@ledvance/base/src/res";
@@ -25,6 +25,7 @@ export interface FlagPageProps {
25
25
  isSupportBrightness?: boolean
26
26
  isSupportTemperature?: boolean
27
27
  isStringLight?: boolean
28
+ isStripLight?: boolean
28
29
  isSupportMixScene?: boolean
29
30
  drawToolLight?: {
30
31
  drawToolCode: string
@@ -43,15 +44,17 @@ const FlagPage = () => {
43
44
  const devId = useDeviceId()
44
45
  const navigation = useNavigation()
45
46
  const [dps, setDps] = useDps()
46
- const [flagState, setFlag] = useFlag((params.sceneDataCode || params?.drawToolLight?.drawToolCode)!!, {
47
+ const [moods, setMoods] = useMoods()
48
+ const [flags, setFlags] = useFlags()
49
+ const [flagState, setFlag] = useFlag((params.isStripLight ? params?.drawToolLight?.drawToolCode : params.sceneDataCode)!!, {
47
50
  isMixLight: params.isSupportMixScene,
48
51
  isStringLight: params.isStringLight,
49
52
  ...params
50
53
  })
51
54
  const state = useReactive({
52
55
  loading: true,
53
- flags: [] as FlagUiInfo[],
54
- moods: [] as any[]
56
+ flags: cloneDeep(flags) as FlagUiInfo[],
57
+ moods: params.isStripLight ? [] : cloneDeep(moods)
55
58
  })
56
59
  const flagId = useMemo(() =>{
57
60
  if(flagState.colors !== undefined){
@@ -69,15 +72,27 @@ const FlagPage = () => {
69
72
 
70
73
 
71
74
  useEffect(() => {
72
- getRemoteFlagInfo().then()
73
- if(params.getRemoteMoodList){
75
+ if(!devId) return
76
+ if(!flags?.length){
77
+ getRemoteFlagInfo().then()
78
+ }
79
+ if(params.getRemoteMoodList && !moods?.length){
74
80
  params.getRemoteMoodList(devId).then(res =>{
75
81
  if(res.success && Array.isArray(res.data)){
76
82
  state.moods = res.data
83
+ setMoods(cloneDeep(res.data))
77
84
  }
78
85
  })
79
86
  }
80
- }, [])
87
+ }, [devId])
88
+
89
+ useUpdateEffect(() =>{
90
+ state.moods = params.isStripLight ? [] : cloneDeep(moods)
91
+ }, [JSON.stringify(moods)])
92
+
93
+ useUpdateEffect(() =>{
94
+ state.flags = cloneDeep(flags)
95
+ }, [JSON.stringify(flags)])
81
96
 
82
97
  const getRemoteFlagInfo = async () => {
83
98
  const res = await getRemoteFlag(devId)
@@ -90,6 +105,7 @@ const FlagPage = () => {
90
105
  })
91
106
  }
92
107
  state.flags = cloneFlag
108
+ setFlags(cloneFlag)
93
109
  }
94
110
  }
95
111
 
@@ -129,6 +145,7 @@ const FlagPage = () => {
129
145
  const res = await saveFlag(devId, cloneDeep(newScene))
130
146
  if (res.success) {
131
147
  state.flags = cloneDeep(newScene)
148
+ setFlags(cloneDeep(newScene))
132
149
  if(mode === 'del' && currentMood.id !== flagState.id){
133
150
  return {
134
151
  success: true