@ledvance/group-ui-biz-bundle 1.0.9 → 1.0.11

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.9",
7
+ "version": "1.0.11",
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,12 +1,12 @@
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, useFlagMode, 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";
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 } from "ahooks";
@@ -42,6 +42,7 @@ const FlagPage = () => {
42
42
  const navigation = useNavigation()
43
43
  const [moods, setMoods] = useMoods()
44
44
  const [flags, setFlags] = useFlags()
45
+ const [flagMode, setFlagMode] = useFlagMode()
45
46
  const [flagState, setFlag] = useFlag({
46
47
  isStripLight: params.isStripLight,
47
48
  isStringLight: params.isStringLight,
@@ -81,10 +82,6 @@ const FlagPage = () => {
81
82
  return -1
82
83
  }, [JSON.stringify(flagState), JSON.stringify(state.flags)])
83
84
 
84
- useEffect(() =>{
85
- console.log(flagState, '< --- flagstate')
86
- console.log(state.flags, '< --- state.flags')
87
- }, [flagState, JSON.stringify(state.flags)])
88
85
  useEffect(() => {
89
86
  if(!flags?.length){
90
87
  getRemoteFlagInfo().then()
@@ -129,7 +126,6 @@ const FlagPage = () => {
129
126
  const checkedMood: FlagUiInfo = {
130
127
  ...currentMood,
131
128
  }
132
-
133
129
  let newScene: FlagUiInfo[] = []
134
130
  if (mode === 'add') {
135
131
  newScene = [
@@ -156,6 +152,7 @@ const FlagPage = () => {
156
152
  success: true
157
153
  }
158
154
  }
155
+ updateFlagMode()
159
156
  return setFlag({
160
157
  ...defParams,
161
158
  flag: cloneDeep(mood)
@@ -166,6 +163,13 @@ const FlagPage = () => {
166
163
  }
167
164
  }
168
165
 
166
+ const updateFlagMode = () =>{
167
+ if(!flagMode){
168
+ saveFlagMode(uaGroupInfo.tyGroupId.toString(), JSON.stringify(true)).then()
169
+ setFlagMode(true)
170
+ }
171
+ }
172
+
169
173
  return (
170
174
  <Page
171
175
  headlineText={I18n.getLang('Feature_devicepanel_flags')}
@@ -187,7 +191,7 @@ const FlagPage = () => {
187
191
  <FlatList
188
192
  data={state.flags}
189
193
  renderItem={({ item }) => <FlagItem
190
- enable={flagState?.workMode === (params.isStripLight ? WorkMode.COLOUR : WorkMode.SCENE) && flagId === item.id}
194
+ enable={flagState?.workMode === (params.isStripLight ? WorkMode.Colour : WorkMode.Scene) && flagId === item.id}
191
195
  title={item.name}
192
196
  colors={item.colors.map(item => hsv2Hex(item.h, item.s, item.v))}
193
197
  onSwitch={async (enable) => {
@@ -196,6 +200,7 @@ const FlagPage = () => {
196
200
  ...defParams,
197
201
  flag: cloneDeep(item),
198
202
  })
203
+ updateFlagMode()
199
204
  }
200
205
  }}
201
206
  onPress={() => {
@@ -80,6 +80,7 @@ const AddMoodPage = () => {
80
80
  routeParams.isStatic,
81
81
  moduleParams
82
82
  ) : recommendMood2SceneUIState(item),
83
+ moods: routeParams.moods,
83
84
  moduleParams,
84
85
  modDeleteMood: routeParams.modDeleteMood
85
86
  })
@@ -93,6 +94,7 @@ const AddMoodPage = () => {
93
94
  routeParams.isStatic,
94
95
  moduleParams
95
96
  ) : recommendMood2SceneUIState(item),
97
+ moods: routeParams.moods,
96
98
  moduleParams,
97
99
  modDeleteMood: routeParams.modDeleteMood
98
100
  })
@@ -823,4 +825,4 @@ function getRecommendMoods(
823
825
  },
824
826
  ]
825
827
  }
826
- }
828
+ }
@@ -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,12 @@ const MoodPage = () => {
171
173
  if (res.success) {
172
174
  state.scenes = cloneDeep(newScene)
173
175
  setMoods(cloneDeep(newScene))
176
+ updateFlagMode()
177
+ if(mode === 'del' && currentMood.id !== scene?.scene?.id){
178
+ return {
179
+ success: true
180
+ }
181
+ }
174
182
  return setScene({
175
183
  scene: cloneDeep(mood),
176
184
  sceneDataDpCode: params.sceneDataDpCode,
@@ -184,6 +192,13 @@ const MoodPage = () => {
184
192
  }
185
193
  }
186
194
 
195
+ const updateFlagMode = () =>{
196
+ if(flagMode && params.isSupportColor){
197
+ saveFlagMode(uaGroupInfo.tyGroupId.toString(), JSON.stringify(false)).then()
198
+ setFlagMode(false)
199
+ }
200
+ }
201
+
187
202
  const onAddMoodDialogItemClick = useCallback((isStatic: boolean, _: number) => {
188
203
  if (!!state.scenes) {
189
204
  navigationRoute(isStatic, 'add')
@@ -266,6 +281,7 @@ const MoodPage = () => {
266
281
  workMode: WorkMode.Scene,
267
282
  switchLedDpCode: params.switchLedDpCode
268
283
  })
284
+ updateFlagMode()
269
285
  state.loading = false
270
286
  }} />
271
287
  )