@ledvance/ui-biz-bundle 1.1.53 → 1.1.55

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.53",
7
+ "version": "1.1.55",
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "@ledvance/base": "^1.x",
@@ -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 = head(difference(idRange, useIds)) || -1
46
+ const mainId: number = head(difference(idRange, useIds)) ?? -1
47
47
  useIds.push(mainId)
48
- const secondlyId: number = head(difference(idRange, useIds)) || -1
48
+ const secondlyId: number = head(difference(idRange, useIds)) ?? -1
49
49
  return { mainId, secondlyId }
50
50
  }, [routeParams.mixMoods])
51
51
  const state = useReactive<AddMoodPageState>({
@@ -91,7 +91,11 @@ const AddMixMoodPage = () => {
91
91
  )
92
92
  }
93
93
 
94
- const defSecondly = {
94
+ export const defSecondly = {
95
+ id: -1,
96
+ speed: 100,
97
+ mode: 10,
98
+ nodes: [],
95
99
  version: 0,
96
100
  expand: 0,
97
101
  reserved1: 0,
@@ -102,6 +106,8 @@ const defSecondly = {
102
106
  direction: 0,
103
107
  }
104
108
 
109
+ const node = { h: 0, s: 100, v: 100, brightness: 100, colorTemp: 0 }
110
+
105
111
  function newMixMood(mainId: number, secondlyId: number, isStatic: boolean): MixSceneInfo {
106
112
  return {
107
113
  name: '',
@@ -109,26 +115,19 @@ function newMixMood(mainId: number, secondlyId: number, isStatic: boolean): MixS
109
115
  id: mainId,
110
116
  speed: 100,
111
117
  mode: isStatic ? SceneNodeTransitionMode.Static : 1,
112
- nodes: [
113
- { h: 0, s: 0, v: 0, brightness: 100, colorTemp: 0 },
114
- { h: 0, s: 0, v: 0, brightness: 100, colorTemp: 0 }
115
- ]
118
+ nodes: isStatic ? [{...node}] : [{...node}, {...node}]
116
119
  },
117
120
  secondlyLamp: {
118
121
  ...defSecondly,
119
122
  id: secondlyId,
120
123
  speed: 100,
121
124
  mode: 10,
122
- nodes: [
123
- { h: 0, s: 100, v: 100, brightness: 0, colorTemp: 0, isColorNode: true },
124
- { h: 0, s: 100, v: 100, brightness: 0, colorTemp: 0, isColorNode: true }
125
- ]
125
+ nodes: [{...node, isColorNode: true}, {...node, isColorNode: true}]
126
126
  }
127
127
  }
128
128
  }
129
129
 
130
130
  function getRecommendMixMoods(isStatic: boolean, mainId: number, secondlyId: number): RecommendMixMood[] {
131
- console.log(mainId, secondlyId, '< -- mainId secondlyId')
132
131
  if (isStatic) {
133
132
  return [
134
133
  {
@@ -230,90 +229,6 @@ function getRecommendMixMoods(isStatic: boolean, mainId: number, secondlyId: num
230
229
  },
231
230
  },
232
231
  },
233
- // {
234
- // title: I18n.getLang('add_new_dynamic_mood_field_headline_text3'),
235
- // mixMood: {
236
- // name: I18n.getLang('add_new_dynamic_mood_field_headline_text3'),
237
- // image: '',
238
- // value: '',
239
- // version: 0,
240
- // id: id,
241
- // lamps: [
242
- // {
243
- // enable: true,
244
- // type: 2,
245
- // nodes: [
246
- // {
247
- // intervalTime: 14,
248
- // changeTime: 14,
249
- // changeType: SceneNodeTransitionMode.Jump,
250
- // hue: 0,
251
- // sat: 0,
252
- // lightness: 0,
253
- // brightness: 100,
254
- // colorTemp: 30,
255
- // },
256
- // {
257
- // intervalTime: 14,
258
- // changeTime: 14,
259
- // changeType: SceneNodeTransitionMode.Jump,
260
- // hue: 0,
261
- // sat: 0,
262
- // lightness: 0,
263
- // brightness: 100,
264
- // colorTemp: 60,
265
- // },
266
- // {
267
- // intervalTime: 14,
268
- // changeTime: 14,
269
- // changeType: SceneNodeTransitionMode.Jump,
270
- // hue: 0,
271
- // sat: 0,
272
- // lightness: 0,
273
- // brightness: 100,
274
- // colorTemp: 90,
275
- // },
276
- // ],
277
- // },
278
- // {
279
- // enable: true,
280
- // type: 3,
281
- // nodes: [
282
- // {
283
- // intervalTime: 14,
284
- // changeTime: 14,
285
- // changeType: SceneNodeTransitionMode.Gradient,
286
- // hue: 330,
287
- // sat: 50,
288
- // lightness: 100,
289
- // brightness: 0,
290
- // colorTemp: 0,
291
- // },
292
- // {
293
- // intervalTime: 14,
294
- // changeTime: 14,
295
- // changeType: SceneNodeTransitionMode.Gradient,
296
- // hue: 270,
297
- // sat: 50,
298
- // lightness: 100,
299
- // brightness: 0,
300
- // colorTemp: 0,
301
- // },
302
- // {
303
- // intervalTime: 14,
304
- // changeTime: 14,
305
- // changeType: SceneNodeTransitionMode.Gradient,
306
- // hue: 210,
307
- // sat: 50,
308
- // lightness: 100,
309
- // brightness: 0,
310
- // colorTemp: 0,
311
- // },
312
- // ],
313
- // },
314
- // ],
315
- // },
316
- // },
317
232
  ]
318
233
  }
319
234
 
@@ -19,7 +19,6 @@ import { stripLightSceneMode, StripNodeInfo, SceneNodeInfo, StripLightSceneMode,
19
19
  import { MixSceneInfo, MixMainLampInfo, MixSceneNodeInfo } from './MixSceneBeans'
20
20
  import TextFieldStyleButton from '@ledvance/base/src/components/TextFieldStyleButton'
21
21
  import { SelectPageParams } from '../../select/SelectPage'
22
- import { showDeleteMoodDialog } from '../tools'
23
22
  import { ui_biz_routerKey } from '../../../navigation/Routers'
24
23
  import { MixMoodPageProps } from '@ledvance/ui-biz-bundle/src/modules/mood/MixMood/MixMoodPage'
25
24
  import Segmented from '@ledvance/base/src/components/Segmented'
@@ -27,6 +26,8 @@ import LdvSwitch from '@ledvance/base/src/components/ldvSwitch'
27
26
  import ColorTempAdjustView from '@ledvance/base/src/components/ColorTempAdjustView'
28
27
  import ColorAdjustView from '@ledvance/base/src/components/ColorAdjustView'
29
28
  import { Result } from '@ledvance/base/src/models/modules/Result'
29
+ import { showDialog } from '@ledvance/base/src/utils/common'
30
+ import { defSecondly } from './AddMixMoodPage'
30
31
  const cx = Utils.RatioUtils.convertX
31
32
 
32
33
  interface MixMoodEditPageState {
@@ -62,8 +63,8 @@ const RgbcMoodEditPage = () => {
62
63
  mood: params.currentMood,
63
64
  mainLamp,
64
65
  secondlyLamp,
65
- currentWhiteNodeIdx: mainLamp.nodes?.length ? mainLamp.nodes.length - 1 : 1,
66
- currentColorNodeIdx: secondlyLamp.nodes?.length ? secondlyLamp.nodes?.length - 1 : 1,
66
+ currentWhiteNodeIdx: mainLamp.nodes?.length ? mainLamp.nodes.length - 1 : 0,
67
+ currentColorNodeIdx: secondlyLamp.nodes?.length ? secondlyLamp.nodes?.length - 1 : 0,
67
68
  paintBucketSelected: false,
68
69
  paintWhiteBucketSelected: false,
69
70
  sceneMode: stripLightSceneMode,
@@ -78,7 +79,7 @@ const RgbcMoodEditPage = () => {
78
79
 
79
80
  const getColorBlockColor = useCallback(() => {
80
81
  if (state.secondlyLamp?.nodes?.length) {
81
- const currentNode = state.secondlyLamp?.nodes[state.currentColorNodeIdx]
82
+ const currentNode = state.secondlyLamp?.nodes?.[state.currentColorNodeIdx]
82
83
  const s = Math.round(mapFloatToRange(currentNode.s / 100, 30, 100))
83
84
  if (currentNode.isColorNode) {
84
85
  return hsv2Hex(currentNode.h, s, 100)
@@ -130,25 +131,26 @@ const RgbcMoodEditPage = () => {
130
131
  return currentOther.label
131
132
  }, [state.secondlyLamp.expand])
132
133
 
133
- const getButtonStatus = () => {
134
+ const checkMoodDataChanged = useMemo(() =>{
134
135
  return isEqual({
135
136
  ...state.mood,
136
137
  mainLamp: state.mainLamp,
137
138
  secondlyLamp: state.secondlyLamp
138
139
  }, params.currentMood)
139
- }
140
+ }, [params.currentMood, state.mood, state.mainLamp, state.secondlyLamp])
140
141
 
141
142
  const nameRepeat = useMemo(() => {
142
143
  return !!find(params.moods, m => ((m.mainLamp.id !== state.mood.mainLamp.id && (params.isStatic ? params.isStatic : m.secondlyLamp.id !== state.mood.secondlyLamp.id)) && m.name === state.mood.name))
143
144
  }, [state.mood.name, params.isStatic])
144
145
 
145
- useEffect(() =>{
146
- console.log(nameRepeat, '< --- anmeRepeat')
147
- }, [nameRepeat])
146
+ const canSaveMoodData = useMemo(() =>{
147
+ return state.mood.name.length > 0 && state.mood.name.length < 33 && !nameRepeat && (params.mode === 'add' || !checkMoodDataChanged)
148
+ }, [nameRepeat, state.mood.name, checkMoodDataChanged, params.mode])
149
+
148
150
  return (
149
151
  <Page
150
152
  backText={I18n.getLang('mesh_device_detail_mode')}
151
- showBackDialog={true}
153
+ showBackDialog={!checkMoodDataChanged}
152
154
  loading={state.loading}
153
155
  backDialogTitle={
154
156
  I18n.getLang(params.mode === 'add' ?
@@ -161,15 +163,14 @@ const RgbcMoodEditPage = () => {
161
163
  'strip_light_static_mood_editor_step_2_dialog_text')
162
164
  }
163
165
  headlineText={state.headline}
164
- rightButtonIcon={getButtonStatus() ? res.ic_uncheck : res.ic_check}
165
- rightButtonDisabled={getButtonStatus()}
166
+ rightButtonIcon={canSaveMoodData ? res.ic_check : res.ic_uncheck}
166
167
  rightButtonIconClick={async () => {
167
- if(state.loading) return
168
+ if(state.loading || !canSaveMoodData) return
168
169
  state.loading = true
169
170
  const res = await params.modDeleteFlag(params.mode, {
170
171
  ...state.mood,
171
172
  mainLamp: state.mainLamp,
172
- secondlyLamp: state.secondlyLamp
173
+ secondlyLamp: params.isStatic ? defSecondly : state.secondlyLamp
173
174
  })
174
175
  state.loading = false
175
176
  if (res.success) {
@@ -515,7 +516,7 @@ const RgbcMoodEditPage = () => {
515
516
  style={styles.nodeAddBtn}
516
517
  onPress={() => {
517
518
  const node = {
518
- ...state.secondlyLamp.nodes[state.currentColorNodeIdx],
519
+ ...state.secondlyLamp?.nodes?.[state.currentColorNodeIdx],
519
520
  }
520
521
  state.secondlyLamp.nodes.push(node)
521
522
  state.currentColorNodeIdx = state.secondlyLamp.nodes.length - 1
@@ -541,9 +542,9 @@ const RgbcMoodEditPage = () => {
541
542
  </View>
542
543
  <Spacer />
543
544
  <ColorAdjustView
544
- h={state.secondlyLamp.nodes[state.currentColorNodeIdx].h}
545
- s={state.secondlyLamp.nodes[state.currentColorNodeIdx].s}
546
- v={state.secondlyLamp.nodes[state.currentColorNodeIdx].v}
545
+ h={state.secondlyLamp.nodes[state.currentColorNodeIdx]?.h}
546
+ s={state.secondlyLamp.nodes[state.currentColorNodeIdx]?.s}
547
+ v={state.secondlyLamp.nodes[state.currentColorNodeIdx]?.v}
547
548
  onHSVChange={() => { }}
548
549
  onHSVChangeComplete={(h, s, v) => {
549
550
  state.secondlyLamp.nodes.forEach((node, idx) => {
@@ -572,9 +573,19 @@ const RgbcMoodEditPage = () => {
572
573
  textStyle={styles.deleteBtnText}
573
574
  text={I18n.getLang('edit_static_mood_button_delete_text')}
574
575
  onPress={() => {
575
- showDeleteMoodDialog(async (_, { close }) => {
576
- close()
577
- params.modDeleteFlag('del', state.mood)
576
+ showDialog({
577
+ method: 'confirm',
578
+ title: I18n.getLang('string_light_pp_dialog_sm_ed_headline_d'),
579
+ subTitle: I18n.getLang('strip_light_static_mood_edit_dialog_text'),
580
+ onConfirm: async (_, { close }) => {
581
+ close()
582
+ state.loading = true
583
+ const res = await params.modDeleteFlag('del', state.mood)
584
+ state.loading = false
585
+ if(res.success){
586
+ navigation.navigate(ui_biz_routerKey.ui_biz_mix_mood)
587
+ }
588
+ }
578
589
  })
579
590
  }} />
580
591
  </View>}
@@ -69,7 +69,7 @@ export function MixMoodColorsLine(props: { mixSubLight: MixMainLampInfo, colorLi
69
69
  <MoodColorsLine
70
70
  nodeStyle={{ borderColor: '#ccc', borderWidth: 1 }}
71
71
  width={cx(264)}
72
- type={'separate'}
72
+ type={!colorLight ? 'separate' : (mixSubLight.mode === 1 ? 'gradient' : 'separate')}
73
73
  colors={lightColors} />
74
74
  <Spacer height={0} width={cx(7)} />
75
75
  <View style={styles.gradientItemIconView}>
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useEffect } from 'react'
1
+ import React, { useCallback, useEffect, useMemo } from 'react'
2
2
  import { FlatList, StyleSheet, View, Platform } from 'react-native'
3
3
  import { Utils } from 'tuya-panel-kit'
4
4
  import Page from '@ledvance/base/src/components/Page'
@@ -49,6 +49,7 @@ export interface MixMoodPageProps {
49
49
  }
50
50
 
51
51
  const MAX_MOOD_COUNT = 256
52
+ let moodTimerId: undefined | number = undefined
52
53
 
53
54
  const MixMoodPage = () => {
54
55
  const routeParams = useRoute().params as MixMoodPageProps
@@ -62,7 +63,7 @@ const MixMoodPage = () => {
62
63
  const [flagMode, setFlagMode] = useFlagMode()
63
64
  const deviceInfo = useDeviceInfo()
64
65
  const navigation = useNavigation()
65
-
66
+ const isMoodMode = useMemo(() => workMode === WORK_MODE.SCENE || rgbcWorkMode === WORK_MODE.SCENE,[workMode, rgbcWorkMode])
66
67
  const state = useReactive<MixMoodPageUIState>({
67
68
  currentScene: undefined,
68
69
  staticTagChecked: true,
@@ -75,7 +76,7 @@ const MixMoodPage = () => {
75
76
  })
76
77
 
77
78
  const getSceneList = useCallback(async (mainId: number, secondlyId: number) => {
78
- setTimeout(async () => {
79
+ moodTimerId = setTimeout(async () => {
79
80
  const res = await getRemoteMixScene(deviceInfo.devId)
80
81
  if (res.success) {
81
82
  state.scenes = res.data || []
@@ -84,7 +85,7 @@ const MixMoodPage = () => {
84
85
  return (mainLamp.id === mainId) && (secondlyLamp.id === secondlyId)
85
86
  })
86
87
  }
87
- }, 400)
88
+ }, 200)
88
89
  }, [])
89
90
 
90
91
  const onAddMoodDialogItemClick = useCallback((isStatic: boolean, _: number) => {
@@ -115,6 +116,9 @@ const MixMoodPage = () => {
115
116
 
116
117
  useEffect(() => {
117
118
  getSceneList(whiteSceneId, fantasyId).then()
119
+ return () =>{
120
+ if (moodTimerId) clearTimeout(moodTimerId)
121
+ }
118
122
  }, [state.flag])
119
123
 
120
124
 
@@ -144,17 +148,18 @@ const MixMoodPage = () => {
144
148
  }
145
149
  }
146
150
 
147
- const checkItemEnable = useCallback((mixMood: MixSceneInfo) => {
148
- const { mainLamp, secondlyLamp } = mixMood
151
+ const checkedCurMoodInAllMoods = useCallback((checkMood: MixSceneInfo, curMood?: MixSceneInfo) =>{
152
+ const { mainLamp, secondlyLamp } = checkMood
153
+ const curWhiteId = curMood ? curMood.mainLamp.id : whiteSceneId
154
+ const curColorId = curMood ? curMood.secondlyLamp.id : fantasyId
149
155
  const isStatic = mainLamp.nodes.length === 1
150
- return (workMode === WORK_MODE.SCENE || rgbcWorkMode === WORK_MODE.SCENE) &&
151
- isStatic ? ((whiteSceneId === mainLamp.id) && mainLamp.id !== -1) :
152
- (((whiteSceneId === mainLamp.id) && mainLamp.id !== -1) && ((fantasyId === secondlyLamp.id) && secondlyLamp.id !== -1))
153
- }, [workMode, rgbcWorkMode, fantasyId, whiteSceneId])
156
+ return isStatic ? ((curWhiteId === mainLamp.id) && mainLamp.id !== -1) :
157
+ (((curWhiteId === mainLamp.id) && mainLamp.id !== -1) && ((curColorId === secondlyLamp.id) && secondlyLamp.id !== -1))
158
+ }, [fantasyId, whiteSceneId])
154
159
 
155
160
  const modDeleteFlag = async (mode: 'add' | 'edit' | 'del', currentMood: MixSceneInfo) => {
156
161
  const list = mode === 'add' ? [currentMood, ...state.scenes] :
157
- mode === 'del' ? state.scenes.filter(mood => (mood.mainLamp.id !== currentMood.mainLamp.id && mood.secondlyLamp.id !== currentMood.secondlyLamp.id)) :
162
+ mode === 'del' ? state.scenes.filter(mood => !checkedCurMoodInAllMoods(currentMood, mood)) :
158
163
  state.scenes.map(mood => {
159
164
  return ((mood.mainLamp.id === currentMood.mainLamp.id) && (mood.secondlyLamp.id === currentMood.secondlyLamp.id)) ? currentMood : mood
160
165
  })
@@ -173,18 +178,25 @@ const MixMoodPage = () => {
173
178
  if (list.length > 0) {
174
179
  const { mainLamp, secondlyLamp } = currentMood
175
180
  if (mode === 'del') {
176
- if (whiteSceneId === mainLamp.id) {
177
- setScene(deviceInfo.devId, getSceneByMix(list[0].mainLamp), params.sceneDpCode, params.workModeDpCode, params.switchLedDpCode, false, false).then()
178
- }
179
- if (fantasyId === secondlyLamp.id) {
180
- setFantasyScene(list[0]?.secondlyLamp).then()
181
+ // 判断当前删除的Mood是否是正在执行的
182
+ if (checkedCurMoodInAllMoods(currentMood) && isMoodMode){
183
+ if(list[0].mainLamp.nodes?.length){
184
+ setScene(deviceInfo.devId, getSceneByMix(list[0].mainLamp), params.sceneDpCode, params.workModeDpCode, params.switchLedDpCode, false, false).then()
185
+ }
186
+ if (list[0].secondlyLamp.nodes?.length){
187
+ setFantasyScene(list[0]?.secondlyLamp).then()
188
+ }else{
189
+ setRgbcWorkMode(WORK_MODE.COLOUR).then()
190
+ }
181
191
  }
182
192
  } else {
183
- if (mainLamp.nodes.length > 0) {
193
+ if (mainLamp.nodes?.length > 0) {
184
194
  setScene(deviceInfo.devId, getSceneByMix(mainLamp), params.sceneDpCode, params.workModeDpCode, params.switchLedDpCode, false, false).then()
185
195
  }
186
- if (secondlyLamp.nodes.length > 0) {
196
+ if (secondlyLamp.nodes?.length > 0) {
187
197
  setFantasyScene(secondlyLamp).then()
198
+ }else{
199
+ setRgbcWorkMode(WORK_MODE.COLOUR).then()
188
200
  }
189
201
  }
190
202
  } else {
@@ -198,9 +210,6 @@ const MixMoodPage = () => {
198
210
  return { success: false }
199
211
  }
200
212
 
201
- useEffect(() => {
202
- console.log(state.filteredMoods, '< --- filterMoods')
203
- }, [JSON.stringify(state.filteredMoods)])
204
213
  return (
205
214
  <>
206
215
  <Page
@@ -243,7 +252,7 @@ const MixMoodPage = () => {
243
252
  renderItem={({ item }) => {
244
253
  return (
245
254
  <MixMoodItem
246
- enable={checkItemEnable(item)}
255
+ enable={checkedCurMoodInAllMoods(item) && isMoodMode}
247
256
  mixMood={item}
248
257
  onPress={() => {
249
258
  navigation.navigate(ui_biz_routerKey.ui_biz_mix_mood_edit, {
@@ -256,7 +265,7 @@ const MixMoodPage = () => {
256
265
  })
257
266
  }}
258
267
  onSwitch={async _ => {
259
- if (checkItemEnable(item)) return
268
+ if (checkedCurMoodInAllMoods(item) && isMoodMode) return
260
269
  state.loading = true
261
270
  await modDeleteFlag('edit', item)
262
271
  state.currentScene = item
@@ -54,6 +54,7 @@ const styles = StyleSheet.create({
54
54
  content: {
55
55
  height: cx(56),
56
56
  marginHorizontal: cx(16),
57
+ width: cx(295)
57
58
  },
58
59
  title: {
59
60
  color: '#000',
@@ -65,4 +66,4 @@ const styles = StyleSheet.create({
65
66
  },
66
67
  })
67
68
 
68
- export default RecommendMixMoodItem
69
+ export default RecommendMixMoodItem
@@ -147,7 +147,7 @@ const MoodSetting = (props: MoodSettingProps) => {
147
147
  ListFooterComponent={() => (<Spacer />)}
148
148
  keyExtractor={item => `${item.name}`} /> :
149
149
  <>
150
- <View style={styles.tagLine}>
150
+ <View style={[styles.tagLine, {marginHorizontal: cx(24)}]}>
151
151
  <Tag
152
152
  checked={state.staticTagChecked}
153
153
  text={I18n.getLang('mood_overview_filter_name_text1')}
@@ -180,7 +180,7 @@ const MoodSetting = (props: MoodSettingProps) => {
180
180
  ListHeaderComponent={() => (<Spacer height={cx(10)} />)}
181
181
  ItemSeparatorComponent={() => (<Spacer />)}
182
182
  ListFooterComponent={() => (
183
- <View style={styles.infoLine}>
183
+ <View style={[styles.infoLine, {marginHorizontal: cx(24)}]}>
184
184
  <Spacer />
185
185
  <InfoText
186
186
  icon={res.ic_info}
@@ -71,7 +71,7 @@ const TimeSchedulePage = () => {
71
71
 
72
72
  const [, setTimeSchedule] = useTimeSchedule()
73
73
 
74
- useEffect(() => {
74
+ useEffect(() => {
75
75
  getTimerScheduleList().then()
76
76
  }, [])
77
77
 
@@ -238,7 +238,7 @@ const TimeSchedulePage = () => {
238
238
  <Text>{I18n.getLang('motion_detection_time_schedule_notifications_warning_text')}</Text>
239
239
  </View>}
240
240
  {showTags() && <View style={styles.categoryList}>
241
- {(props.isCeilingLight ? [...Object.keys(state.filterTags)].reverse() : Object.keys(state.filterTags)).map(tag => {
241
+ {(props.isCeilingLight ? [] : Object.keys(state.filterTags)).map(tag => {
242
242
  return <Tag
243
243
  key={tag}
244
244
  text={getLabelByDp(tag)}
@@ -355,4 +355,4 @@ const styles = StyleSheet.create({
355
355
  },
356
356
  })
357
357
 
358
- export default TimeSchedulePage
358
+ export default TimeSchedulePage