@ledvance/ui-biz-bundle 1.1.39 → 1.1.40
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 +1 -1
- package/src/modules/mood/AddMoodPage.tsx +11 -7
- package/src/modules/mood/DynamicMoodEditorPage.tsx +2 -0
- package/src/modules/mood/MixMood/AddMixMoodPage.tsx +3 -3
- package/src/modules/mood/MixMood/MixMoodEditPage.tsx +2 -0
- package/src/modules/mood/MixMood/MixMoodItem.tsx +1 -0
- package/src/modules/mood/MoodItem.tsx +1 -0
- package/src/modules/mood/MoodPage.tsx +1 -1
- package/src/modules/scene/SceneInfo.ts +216 -0
package/package.json
CHANGED
|
@@ -5,11 +5,12 @@ import {FlatList, StyleSheet, Text, View} from 'react-native'
|
|
|
5
5
|
import {Utils} from 'tuya-panel-kit'
|
|
6
6
|
import RecommendMoodItem, {ColorsLineProps} from './RecommendMoodItem'
|
|
7
7
|
import Spacer from '@ledvance/base/src/components/Spacer'
|
|
8
|
-
import {useReactive} from 'ahooks'
|
|
8
|
+
import {useReactive, useCreation} from 'ahooks'
|
|
9
9
|
import {useNavigation, useRoute} from '@react-navigation/native'
|
|
10
10
|
import {SceneNodeTransitionMode, SceneUIState} from '../scene/SceneInfo'
|
|
11
11
|
import {toDynamicMoodEditorPage, toStaticMoodEditorPage} from '../../navigation/tools'
|
|
12
12
|
import {MoodPageProps} from './MoodPage'
|
|
13
|
+
import { difference, head, map, range } from 'lodash'
|
|
13
14
|
|
|
14
15
|
const cx = Utils.RatioUtils.convertX
|
|
15
16
|
|
|
@@ -28,6 +29,11 @@ const AddMoodPage = () => {
|
|
|
28
29
|
const navigation = useNavigation()
|
|
29
30
|
const routeParams = useRoute().params as AddMoodPageParams
|
|
30
31
|
const moduleParams = routeParams.moduleParams
|
|
32
|
+
const moodId = useCreation(() => {
|
|
33
|
+
const useIds = map(routeParams.moods, 'id')
|
|
34
|
+
const idRange = range(0, 256)
|
|
35
|
+
return Math.max(head(difference(idRange, useIds)) || 0, 0)
|
|
36
|
+
}, [routeParams.moods])
|
|
31
37
|
const state = useReactive<AddMoodPageState>({
|
|
32
38
|
data: getRecommendMoods(
|
|
33
39
|
routeParams.isStatic,
|
|
@@ -36,16 +42,15 @@ const AddMoodPage = () => {
|
|
|
36
42
|
),
|
|
37
43
|
})
|
|
38
44
|
const recommendMood2SceneUIState = useCallback((recommendMood: RecommendMood) => {
|
|
39
|
-
const id = routeParams.moods.length > 0 ? Math.max(...routeParams.moods.map(m => m.id)) + 1 : 0
|
|
40
45
|
return {
|
|
41
|
-
id:
|
|
46
|
+
id: moodId,
|
|
42
47
|
image: '',
|
|
43
48
|
fanEnable: recommendMood.fanEnable,
|
|
44
49
|
fanSpeed: recommendMood.fanSpeed,
|
|
45
50
|
name: recommendMood.name,
|
|
46
51
|
nodes: recommendMood.moodColorsLineProps?.nodes || [],
|
|
47
52
|
}
|
|
48
|
-
}, [routeParams, routeParams.moods])
|
|
53
|
+
}, [routeParams, routeParams.moods, moodId])
|
|
49
54
|
|
|
50
55
|
return (
|
|
51
56
|
<Page
|
|
@@ -63,13 +68,12 @@ const AddMoodPage = () => {
|
|
|
63
68
|
title={item.name}
|
|
64
69
|
moodColorsLineProps={item.moodColorsLineProps}
|
|
65
70
|
onPress={() => {
|
|
66
|
-
const id = routeParams.moods.length > 0 ? Math.max(...routeParams.moods.map(m => m.id)) + 1 : 0
|
|
67
71
|
if (routeParams.isStatic) {
|
|
68
72
|
toStaticMoodEditorPage(navigation,
|
|
69
73
|
{
|
|
70
74
|
mode: 'add',
|
|
71
75
|
currentMood: index === 0 ? newMood(
|
|
72
|
-
|
|
76
|
+
moodId,
|
|
73
77
|
moduleParams.isSupportColor && moduleParams.isSupportTemperature,
|
|
74
78
|
routeParams.isStatic,
|
|
75
79
|
moduleParams.isSupportColor,
|
|
@@ -83,7 +87,7 @@ const AddMoodPage = () => {
|
|
|
83
87
|
{
|
|
84
88
|
mode: 'add',
|
|
85
89
|
currentMood: index === 0 ? newMood(
|
|
86
|
-
|
|
90
|
+
moodId,
|
|
87
91
|
moduleParams.isSupportColor && moduleParams.isSupportTemperature,
|
|
88
92
|
routeParams.isStatic,
|
|
89
93
|
moduleParams.isSupportColor,
|
|
@@ -10,7 +10,7 @@ import Spacer from '@ledvance/base/src/components/Spacer'
|
|
|
10
10
|
import RecommendMixMoodItem from './RecommendMixMoodItem'
|
|
11
11
|
import { SceneNodeTransitionMode } from '@ledvance/ui-biz-bundle/src/modules/scene/SceneInfo'
|
|
12
12
|
import { ui_biz_routerKey } from '../../../navigation/Routers'
|
|
13
|
-
import { difference,
|
|
13
|
+
import { difference, head, map, range } from 'lodash'
|
|
14
14
|
import { Result } from '@ledvance/base/src/models/modules/Result'
|
|
15
15
|
import { MixMoodPageProps } from './MixMoodPage'
|
|
16
16
|
|
|
@@ -43,9 +43,9 @@ const AddMixMoodPage = () => {
|
|
|
43
43
|
})
|
|
44
44
|
const useIds = map(mixMoods, 'id')
|
|
45
45
|
const idRange = range(0, 256)
|
|
46
|
-
const mainId: number =
|
|
46
|
+
const mainId: number = head(difference(idRange, useIds)) || -1
|
|
47
47
|
useIds.push(mainId)
|
|
48
|
-
const secondlyId: number =
|
|
48
|
+
const secondlyId: number = head(difference(idRange, useIds)) || -1
|
|
49
49
|
return { mainId, secondlyId }
|
|
50
50
|
}, [routeParams.mixMoods])
|
|
51
51
|
const state = useReactive<AddMoodPageState>({
|
|
@@ -67,6 +67,7 @@ export function MixMoodColorsLine(props: { mixSubLight: MixMainLampInfo, colorLi
|
|
|
67
67
|
<View style={styles.gradientItem}>
|
|
68
68
|
<Spacer height={0} width={cx(16)} />
|
|
69
69
|
<MoodColorsLine
|
|
70
|
+
nodeStyle={{ borderColor: '#ccc', borderWidth: 1 }}
|
|
70
71
|
width={cx(264)}
|
|
71
72
|
type={'separate'}
|
|
72
73
|
colors={lightColors} />
|
|
@@ -52,6 +52,7 @@ const MoodItem = (props: MoodItemProps) => {
|
|
|
52
52
|
<Spacer />
|
|
53
53
|
<View style={styles.gradientItem}>
|
|
54
54
|
<MoodColorsLine
|
|
55
|
+
nodeStyle={{ borderColor: '#ccc', borderWidth: 1 }}
|
|
55
56
|
type={mood.nodes[0].transitionMode === SceneNodeTransitionMode.Gradient ? 'gradient' : 'separate'}
|
|
56
57
|
colors={state.colors} />
|
|
57
58
|
</View>
|
|
@@ -255,6 +255,7 @@ function getRGBWDefSceneList(): RemoteSceneInfo[] {
|
|
|
255
255
|
t: 0,
|
|
256
256
|
e: false,
|
|
257
257
|
},
|
|
258
|
+
...defColorSceneList
|
|
258
259
|
]
|
|
259
260
|
}
|
|
260
261
|
|
|
@@ -302,6 +303,7 @@ function getRGBDefSceneList(): RemoteSceneInfo[] {
|
|
|
302
303
|
t: 0,
|
|
303
304
|
e: false,
|
|
304
305
|
},
|
|
306
|
+
...defColorSceneList
|
|
305
307
|
]
|
|
306
308
|
}
|
|
307
309
|
|
|
@@ -349,6 +351,7 @@ function getOnlyRGBDefSceneList(): RemoteSceneInfo[] {
|
|
|
349
351
|
t: 0,
|
|
350
352
|
e: false,
|
|
351
353
|
},
|
|
354
|
+
...defColorSceneList
|
|
352
355
|
]
|
|
353
356
|
}
|
|
354
357
|
|
|
@@ -825,6 +828,219 @@ function getStripLightSceneList(): RemoteSceneInfo[] {
|
|
|
825
828
|
]
|
|
826
829
|
}
|
|
827
830
|
|
|
831
|
+
const defColorSceneList: RemoteSceneInfo[] = [
|
|
832
|
+
{
|
|
833
|
+
n: I18n.getLang('dynamicmoods_forest'),
|
|
834
|
+
i: '074b4b01007802f80226000000004b4b01003303e803e8000000004b4b01007803e8018600000000',
|
|
835
|
+
s: '',
|
|
836
|
+
t: 0,
|
|
837
|
+
e: false,
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
n: I18n.getLang('dynamicmoods_desert'),
|
|
841
|
+
i: '084b4b010022014a0334000000004b4b01001002b203e8000000004b4b01001003e803e800000000',
|
|
842
|
+
s: '',
|
|
843
|
+
t: 0,
|
|
844
|
+
e: false,
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
n: I18n.getLang('dynamicmoods_dreams'),
|
|
848
|
+
i: '094b4b01014b00c803e8000000004b4b0100b4010403a2000000004b4b01001c010e03e800000000',
|
|
849
|
+
s: '',
|
|
850
|
+
t: 0,
|
|
851
|
+
e: false,
|
|
852
|
+
},
|
|
853
|
+
{
|
|
854
|
+
n: I18n.getLang('dynamicmoods_breeze'),
|
|
855
|
+
i: '0a4b4b01002b03520352000000004b4b010000032a02bc000000004b4b01002703e803e800000000',
|
|
856
|
+
s: '',
|
|
857
|
+
t: 0,
|
|
858
|
+
e: false,
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
n: I18n.getLang('dynamicmoods_waters'),
|
|
862
|
+
i: '0b4b4b0100c303e803e8000000004b4b0100a001f403e8000000004b4b0100f0030c01b800000000',
|
|
863
|
+
s: '',
|
|
864
|
+
t: 0,
|
|
865
|
+
e: false,
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
n: I18n.getLang('dynamicmoods_splash'),
|
|
869
|
+
i: '0c4b4b01003c03e803e8000000004b4b01002703e803e8000000004b4b01001003e803e800000000',
|
|
870
|
+
s: '',
|
|
871
|
+
t: 0,
|
|
872
|
+
e: false,
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
n: I18n.getLang("dynamicmoods_sunrise"),
|
|
876
|
+
i: '0d4b4b01000902d003e8000000004b4b010026012203e8000000004b4b01003303e803e800000000',
|
|
877
|
+
s: '',
|
|
878
|
+
t: 0,
|
|
879
|
+
e: false,
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
n: I18n.getLang('dynamicmoods_wonderland'),
|
|
883
|
+
i: '0e4b4b01003c03e803e8000000004b4b01002703e803e8000000004b4b01001003e803e800000000',
|
|
884
|
+
s: '',
|
|
885
|
+
t: 0,
|
|
886
|
+
e: false,
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
n: I18n.getLang('dynamicmoods_Twilight'),
|
|
890
|
+
i: '0f4b4b01014a024e03e8000000004b4b01002703e803e8000000004b4b0100b403e801f400000000',
|
|
891
|
+
s: '',
|
|
892
|
+
t: 0,
|
|
893
|
+
e: false,
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
n: I18n.getLang('dynamicmoods_symphony'),
|
|
897
|
+
i: '104b4b0100d3034803e8000000004b4b010000000003e8000000004b4b01003303e803e800000000',
|
|
898
|
+
s: '',
|
|
899
|
+
t: 0,
|
|
900
|
+
e: false,
|
|
901
|
+
},
|
|
902
|
+
{
|
|
903
|
+
n: I18n.getLang('dynamicmoods_sorbet'),
|
|
904
|
+
i: '114b4b01015e00fa03e8000000004b4b010011020803e8000000004b4b01003c03e803e800000000',
|
|
905
|
+
s: '',
|
|
906
|
+
t: 0,
|
|
907
|
+
e: false,
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
n: I18n.getLang('dynamicmoods_mansion'),
|
|
911
|
+
i: '124b4b01012c03e801f4000000004b4b0100b403e803e8000000004b4b01002703e803e800000000',
|
|
912
|
+
s: '',
|
|
913
|
+
t: 0,
|
|
914
|
+
e: false,
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
n: I18n.getLang('dynamicmoods_hour'),
|
|
918
|
+
i: '134b4b01003303e803e8000000004b4b01002103e803e8000000004b4b010026012203e800000000',
|
|
919
|
+
s: '',
|
|
920
|
+
t: 0,
|
|
921
|
+
e: false,
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
n: I18n.getLang('dynamicmoods_isle'),
|
|
925
|
+
i: '144b4b01007803e801f4000000004b4b010092029e0226000000004b4b01005a03e803de00000000',
|
|
926
|
+
s: '',
|
|
927
|
+
t: 0,
|
|
928
|
+
e: false,
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
n: I18n.getLang('dynamicmoods_Beat'),
|
|
932
|
+
i: '154b4b0100b403e803e8000000004b4b01012c03e803e8000000004b4b01003c03e803e800000000',
|
|
933
|
+
s: '',
|
|
934
|
+
t: 0,
|
|
935
|
+
e: false,
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
n: I18n.getLang('dynamicmoods_glamour'),
|
|
939
|
+
i: '164b4b01003303e803e8000000004b4b01012c03e801f4000000004b4b01015e00fa03e800000000',
|
|
940
|
+
s: '',
|
|
941
|
+
t: 0,
|
|
942
|
+
e: false,
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
n: I18n.getLang('dynamicmoods_edreams'),
|
|
946
|
+
i: '174b4b01012c03e803e8000000004b4b0100b403e803e8000000004b4b01002703e803e800000000',
|
|
947
|
+
s: '',
|
|
948
|
+
t: 0,
|
|
949
|
+
e: false,
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
n: I18n.getLang('dynamicmoods_sunset'),
|
|
953
|
+
i: '184b4b01001003e803e8000000004b4b01001d02b203e8000000004b4b01002b0352035200000000',
|
|
954
|
+
s: '',
|
|
955
|
+
t: 0,
|
|
956
|
+
e: false,
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
n: I18n.getLang('dynamicmoods_carnival'),
|
|
960
|
+
i: '194b4b01012c03e803e8000000004b4b01002703e803e8000000004b4b01003c03e803e800000000',
|
|
961
|
+
s: '',
|
|
962
|
+
t: 0,
|
|
963
|
+
e: false,
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
n: I18n.getLang('dynamicmoods_serenade'),
|
|
967
|
+
i: '1a4b4b0100f0030c01b8000000004b4b0100b4019a0136000000004b4b0100f0005003d400000000',
|
|
968
|
+
s: '',
|
|
969
|
+
t: 0,
|
|
970
|
+
e: false,
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
n: I18n.getLang('dynamicmoods_glow'),
|
|
974
|
+
i: '1b4b4b01001e03e803e8000000004b4b01003003e803e8000000004b4b010000032003e800000000',
|
|
975
|
+
s: '',
|
|
976
|
+
t: 0,
|
|
977
|
+
e: false,
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
n: I18n.getLang('dynamicmoods_Canopy'),
|
|
981
|
+
i: '1c4b4b01007803e80190000000004b4b010078029e0258000000004b4b01001e029e025800000000',
|
|
982
|
+
s: '',
|
|
983
|
+
t: 0,
|
|
984
|
+
e: false,
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
n: I18n.getLang('dynamicmoods_Burst'),
|
|
988
|
+
i: '1d4b4b01000003e803e8000000004b4b01002703e803e8000000004b4b01003c03e803e8000000004b4b01007803e803e8000000004b4b0100d203e803e8000000004b4b01011103e803e800000000',
|
|
989
|
+
s: '',
|
|
990
|
+
t: 0,
|
|
991
|
+
e: false,
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
n: I18n.getLang('dynamicmoods_Lights'),
|
|
995
|
+
i: '1e4b4b01012c03e803e8000000004b4b01003c03e803e8000000004b4b0100b403e803e8000000004b4b01001803e803e800000000',
|
|
996
|
+
s: '',
|
|
997
|
+
t: 0,
|
|
998
|
+
e: false,
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
n: I18n.getLang('dynamicmoods_Dreamscape'),
|
|
1002
|
+
i: '1f4b4b01012c00c803e8000000004b4b0100f000c803e8000000004b4b01003c00c803e8000000004b4b0100b400c803e800000000',
|
|
1003
|
+
s: '',
|
|
1004
|
+
t: 0,
|
|
1005
|
+
e: false,
|
|
1006
|
+
},
|
|
1007
|
+
{
|
|
1008
|
+
n: I18n.getLang('dynamicmoods_NLights'),
|
|
1009
|
+
i: '204b4b01009603e803e8000000004b4b0100d203e803e8000000004b4b01010e03e803e800000000',
|
|
1010
|
+
s: '',
|
|
1011
|
+
t: 0,
|
|
1012
|
+
e: false,
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
n: I18n.getLang('dynamicmoods_paradise'),
|
|
1016
|
+
i: '214b4b010140025803e8000000004b4b01001e032003e8000000004b4b01003c025803e800000000',
|
|
1017
|
+
s: '',
|
|
1018
|
+
t: 0,
|
|
1019
|
+
e: false,
|
|
1020
|
+
},
|
|
1021
|
+
{
|
|
1022
|
+
n: I18n.getLang('dynamicmoods_ice'),
|
|
1023
|
+
i: '224b4b01001803e803e8000000004b4b010000000003e8000000004b4b0100d803e803e800000000',
|
|
1024
|
+
s: '',
|
|
1025
|
+
t: 0,
|
|
1026
|
+
e: false,
|
|
1027
|
+
},
|
|
1028
|
+
{
|
|
1029
|
+
n: I18n.getLang('dynamicmoods_voyage'),
|
|
1030
|
+
i: '234b4b0100f003e80190000000004b4b01010e03e80190000000004b4b010000000003e800000000',
|
|
1031
|
+
s: '',
|
|
1032
|
+
t: 0,
|
|
1033
|
+
e: false,
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
n: I18n.getLang('dynamicmoods_wave'),
|
|
1037
|
+
i: '244b4b0100d203e803e8000000004b4b0100b403e803e8000000004b4b01009603e803e800000000',
|
|
1038
|
+
s: '',
|
|
1039
|
+
t: 0,
|
|
1040
|
+
e: false,
|
|
1041
|
+
},
|
|
1042
|
+
]
|
|
1043
|
+
|
|
828
1044
|
export const MAXSCENE = 8
|
|
829
1045
|
|
|
830
1046
|
export const AddScene = {
|