@ledvance/group-ui-biz-bundle 1.0.37 → 1.0.39

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.
Files changed (124) hide show
  1. package/package.json +1 -1
  2. package/src/modules/biorhythm/BiorhythmActions.ts +216 -0
  3. package/src/modules/biorhythm/BiorhythmBean.ts +230 -0
  4. package/src/modules/biorhythm/BiorhythmDetailPage.tsx +261 -0
  5. package/src/modules/biorhythm/BiorhythmPage.tsx +706 -0
  6. package/src/modules/biorhythm/IconSelect.tsx +84 -0
  7. package/src/modules/biorhythm/circular/ItemIcon.d.ts +22 -0
  8. package/src/modules/biorhythm/circular/ItemIcon.tsx +173 -0
  9. package/src/modules/biorhythm/circular/Progress.d.ts +24 -0
  10. package/src/modules/biorhythm/circular/Progress.tsx +412 -0
  11. package/src/modules/biorhythm/circular/TimeCircular.d.ts +11 -0
  12. package/src/modules/biorhythm/circular/TimeCircular.tsx +70 -0
  13. package/src/modules/biorhythm/circular/biorhythm_plantimer.png +0 -0
  14. package/src/modules/biorhythm/circular/rhythm_icon.png +0 -0
  15. package/src/modules/biorhythm/iconListData.ts +30 -0
  16. package/src/modules/biorhythm/pIdList.ts +36 -0
  17. package/src/modules/biorhythm/res/BiologicalRes.d.ts +43 -0
  18. package/src/modules/biorhythm/res/BiologicalRes.ts +42 -0
  19. package/src/modules/biorhythm/res/Biological_Rhythm.png +0 -0
  20. package/src/modules/biorhythm/res/Biological_Rhythm_12.png +0 -0
  21. package/src/modules/biorhythm/res/Biological_Rhythm_new.png +0 -0
  22. package/src/modules/biorhythm/res/Biological_Rhythm_new_12.png +0 -0
  23. package/src/modules/biorhythm/res/iconsMaterialOutlinedAccountGroups.png +0 -0
  24. package/src/modules/biorhythm/res/iconsMaterialOutlinedAccountGroups@2x.png +0 -0
  25. package/src/modules/biorhythm/res/iconsMaterialOutlinedAccountGroups@3x.png +0 -0
  26. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavAdd.png +0 -0
  27. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavAdd@2x.png +0 -0
  28. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavAdd@3x.png +0 -0
  29. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavArrowForwardIos.png +0 -0
  30. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavArrowForwardIos@2x.png +0 -0
  31. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavArrowForwardIos@3x.png +0 -0
  32. package/src/modules/biorhythm/res/iconsMaterialOutlinedBuildingsHome.png +0 -0
  33. package/src/modules/biorhythm/res/iconsMaterialOutlinedBuildingsHome@2x.png +0 -0
  34. package/src/modules/biorhythm/res/iconsMaterialOutlinedBuildingsHome@3x.png +0 -0
  35. package/src/modules/biorhythm/res/iconsMaterialOutlinedEditorFavoriteBorder.png +0 -0
  36. package/src/modules/biorhythm/res/iconsMaterialOutlinedEditorFavoriteBorder@2x.png +0 -0
  37. package/src/modules/biorhythm/res/iconsMaterialOutlinedEditorFavoriteBorder@3x.png +0 -0
  38. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBed.png +0 -0
  39. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBed@2x.png +0 -0
  40. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBed@3x.png +0 -0
  41. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBusinessCenter.png +0 -0
  42. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBusinessCenter@2x.png +0 -0
  43. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBusinessCenter@3x.png +0 -0
  44. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherChair.png +0 -0
  45. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherChair@2x.png +0 -0
  46. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherChair@3x.png +0 -0
  47. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherCoffee.png +0 -0
  48. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherCoffee@2x.png +0 -0
  49. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherCoffee@3x.png +0 -0
  50. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherDirectionsCar.png +0 -0
  51. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherDirectionsCar@2x.png +0 -0
  52. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherDirectionsCar@3x.png +0 -0
  53. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherFitnessCenter.png +0 -0
  54. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherFitnessCenter@2x.png +0 -0
  55. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherFitnessCenter@3x.png +0 -0
  56. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherHeadphones.png +0 -0
  57. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherHeadphones@2x.png +0 -0
  58. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherHeadphones@3x.png +0 -0
  59. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMenuBook.png +0 -0
  60. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMenuBook@2x.png +0 -0
  61. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMenuBook@3x.png +0 -0
  62. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMusicNote.png +0 -0
  63. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMusicNote@2x.png +0 -0
  64. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMusicNote@3x.png +0 -0
  65. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherNotificationsNone.png +0 -0
  66. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherNotificationsNone@2x.png +0 -0
  67. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherNotificationsNone@3x.png +0 -0
  68. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherPottedPlant.png +0 -0
  69. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherPottedPlant@2x.png +0 -0
  70. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherPottedPlant@3x.png +0 -0
  71. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherRestaurant.png +0 -0
  72. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherRestaurant@2x.png +0 -0
  73. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherRestaurant@3x.png +0 -0
  74. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSentimentSatisfied.png +0 -0
  75. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSentimentSatisfied@2x.png +0 -0
  76. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSentimentSatisfied@3x.png +0 -0
  77. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSportsEsports.png +0 -0
  78. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSportsEsports@2x.png +0 -0
  79. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSportsEsports@3x.png +0 -0
  80. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherTv.png +0 -0
  81. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherTv@2x.png +0 -0
  82. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherTv@3x.png +0 -0
  83. package/src/modules/biorhythm/res/iconsMaterialOutlinedTimeAccessAlarm.png +0 -0
  84. package/src/modules/biorhythm/res/iconsMaterialOutlinedTimeAccessAlarm@2x.png +0 -0
  85. package/src/modules/biorhythm/res/iconsMaterialOutlinedTimeAccessAlarm@3x.png +0 -0
  86. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherBedtime.png +0 -0
  87. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherBedtime@2x.png +0 -0
  88. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherBedtime@3x.png +0 -0
  89. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherPartlyCloudyDay.png +0 -0
  90. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherPartlyCloudyDay@2x.png +0 -0
  91. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherPartlyCloudyDay@3x.png +0 -0
  92. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherStarOutline.png +0 -0
  93. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherStarOutline@2x.png +0 -0
  94. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherStarOutline@3x.png +0 -0
  95. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbSunny.png +0 -0
  96. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbSunny@2x.png +0 -0
  97. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbSunny@3x.png +0 -0
  98. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbTwilight.png +0 -0
  99. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbTwilight@2x.png +0 -0
  100. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbTwilight@3x.png +0 -0
  101. package/src/modules/music/MusicActions.ts +61 -0
  102. package/src/modules/music/MusicDataBean.ts +292 -0
  103. package/src/modules/music/MusicManager.ts +206 -0
  104. package/src/modules/music/MusicPage.tsx +206 -0
  105. package/src/modules/music/res/app_music_ball@2x.png +0 -0
  106. package/src/modules/music/res/app_music_ball@3x.png +0 -0
  107. package/src/modules/music/res/app_music_game@2x.png +0 -0
  108. package/src/modules/music/res/app_music_game@3x.png +0 -0
  109. package/src/modules/music/res/app_music_music@2x.png +0 -0
  110. package/src/modules/music/res/app_music_music@3x.png +0 -0
  111. package/src/modules/music/res/app_music_romantic@2x.png +0 -0
  112. package/src/modules/music/res/app_music_romantic@3x.png +0 -0
  113. package/src/modules/music/res/iconsMaterialOutlinedArrowsNavCheck.png +0 -0
  114. package/src/modules/music/res/iconsMaterialOutlinedArrowsNavCheck@2x.png +0 -0
  115. package/src/modules/music/res/iconsMaterialOutlinedArrowsNavCheck@3x.png +0 -0
  116. package/src/modules/music/res/illustrationsFeaturesMusic.png +0 -0
  117. package/src/modules/music/res/illustrationsFeaturesMusic@2x.png +0 -0
  118. package/src/modules/music/res/illustrationsFeaturesMusic@3x.png +0 -0
  119. package/src/modules/music/res/illustrationsFeaturesMusicDisabled.png +0 -0
  120. package/src/modules/music/res/illustrationsFeaturesMusicDisabled@2x.png +0 -0
  121. package/src/modules/music/res/illustrationsFeaturesMusicDisabled@3x.png +0 -0
  122. package/src/modules/music/res/index.d.ts +10 -0
  123. package/src/modules/music/res/index.ts +9 -0
  124. package/src/navigation/Routers.ts +46 -0
@@ -0,0 +1,61 @@
1
+ import { useFeatureHook } from '@ledvance/base/src/models/modules/NativePropsSlice'
2
+ import { Formatter } from '@tuya/tuya-panel-lamp-sdk'
3
+ import { DreamLightMicMusicUIState, defMusicData, dreamMusicData } from './MusicDataBean'
4
+ import { WorkMode } from '@ledvance/base/src/utils/interface'
5
+ import { MusicPageParams } from '@ledvance/group-ui-biz-bundle/src/modules/music/MusicPage'
6
+ const DreamMusicFormatter = new Formatter.DreamLightMicMusicFormatter()
7
+
8
+ interface MusicConfig {
9
+ lastWorkMode: WorkMode
10
+ deviceGenreMode: number
11
+ phoneGenreMode: number
12
+ deviceMusicData: DreamLightMicMusicUIState[]
13
+ phoneMusicData: any[]
14
+ musicType: number
15
+ musicSwitch: boolean
16
+ phoneDpData: string
17
+ }
18
+
19
+ const defMusicConfig: MusicConfig = {
20
+ lastWorkMode: WorkMode.Colour,
21
+ deviceGenreMode: 0,
22
+ phoneGenreMode: 0,
23
+ deviceMusicData: dreamMusicData,
24
+ phoneMusicData: defMusicData,
25
+ musicType: 0,
26
+ musicSwitch: false,
27
+ phoneDpData: ''
28
+ }
29
+
30
+ interface LightConfig {
31
+ musicConfig?: MusicConfig
32
+ musicData: string
33
+ }
34
+
35
+ export const useDreamMusicData = (musicOption: MusicPageParams) => {
36
+ return useFeatureHook<LightConfig, MusicConfig>('musicConfig', defMusicConfig, undefined,
37
+ (v) => {
38
+ const dps = {}
39
+ if(v.musicSwitch){
40
+ if(v.musicType === 0 && musicOption.dreamMusicDp){
41
+ const curMusic = v.deviceMusicData[v.deviceGenreMode]
42
+ dps[musicOption.dreamMusicDp] = DreamMusicFormatter.format(curMusic)
43
+ }else{
44
+ dps[musicOption.musicDataDp] = v.phoneDpData
45
+ }
46
+ dps[musicOption.workModeDp] = WorkMode.Music
47
+ }else{
48
+ dps[musicOption.workModeDp] = v.lastWorkMode
49
+ }
50
+ return dps
51
+ },
52
+ (v) => {
53
+ return { workMode: v.musicSwitch ? WorkMode.Music : v.lastWorkMode, switchLed: true}
54
+ })
55
+ }
56
+
57
+ export const useMusciData = () =>{
58
+ return useFeatureHook<LightConfig, string>('musicData', '',)
59
+ }
60
+
61
+
@@ -0,0 +1,292 @@
1
+ import Strings from '@ledvance/base/src/i18n'
2
+ import res from './res'
3
+
4
+ export interface AppleMusicColorAreaType {
5
+ area: number[];
6
+ hue: number;
7
+ saturation: number;
8
+ value: number;
9
+ }
10
+
11
+ export interface AppleMusicDataType {
12
+ mode: number;
13
+ hue: number;
14
+ saturation: number;
15
+ value: number;
16
+ brightness: number;
17
+ temperature: number;
18
+ }
19
+ export interface AppMusicListItemType {
20
+ id: number;
21
+ mode: number;
22
+ title: string;
23
+ colorArea?: AppleMusicColorAreaType[];
24
+ }
25
+
26
+ export interface OpenMusicOptions {
27
+ isColourExist?: boolean;
28
+ isTempExist?: boolean;
29
+ }
30
+
31
+ interface DreamLightMicMusicColor {
32
+ hue: number;
33
+ saturation: number;
34
+ }
35
+ export interface DreamLightMicMusicData {
36
+ v: number;
37
+ power: boolean;
38
+ id: number;
39
+ isLight: number;
40
+ mode: number;
41
+ speed: number;
42
+ sensitivity: number;
43
+ a: number;
44
+ b: number;
45
+ c: number;
46
+ brightness: number;
47
+ colors: DreamLightMicMusicColor[];
48
+ }
49
+
50
+ export interface DreamLightMicMusicUIState extends DreamLightMicMusicData {
51
+ title: string
52
+ }
53
+
54
+ export type MusicCallback = (data: AppleMusicDataType, i: number) => void;
55
+ export const defMusicData = [
56
+ {
57
+ id: 0,
58
+ mode: 1,
59
+ title: Strings.getLang('devicemusic_music_text'),
60
+ icon: res.app_music_music,
61
+ lable: Strings.getLang('devicemusic_music_text'),
62
+ value: Strings.getLang('devicemusic_music_text')
63
+ },
64
+ {
65
+ id: 1,
66
+ mode: 0,
67
+ title: Strings.getLang('devicemusic_ball_game_text'),
68
+ icon: res.app_music_ball,
69
+ lable: Strings.getLang('devicemusic_ball_game_text'),
70
+ value: Strings.getLang('devicemusic_ball_game_text')
71
+ },
72
+ {
73
+ id: 2,
74
+ mode: 0,
75
+ title: Strings.getLang('devicemusic_game_text'),
76
+ icon: res.app_music_game,
77
+ colorArea: [
78
+ {
79
+ area: [0, 2],
80
+ hue: 350,
81
+ saturation: 400,
82
+ value: 1000,
83
+ },
84
+ {
85
+ area: [3, 5],
86
+ hue: 50,
87
+ saturation: 600,
88
+ value: 1000,
89
+ },
90
+ {
91
+ area: [6, 9],
92
+ hue: 160,
93
+ saturation: 600,
94
+ value: 1000,
95
+ },
96
+ ],
97
+ lable: Strings.getLang('devicemusic_game_text'),
98
+ value: Strings.getLang('devicemusic_game_text')
99
+ },
100
+ {
101
+ id: 3,
102
+ mode: 1,
103
+ title: Strings.getLang('devicemusic_romantic_text'),
104
+ icon: res.app_music_romantic,
105
+ colorArea: [
106
+ {
107
+ area: [0, 2],
108
+ hue: 20,
109
+ saturation: 100,
110
+ value: 1000,
111
+ },
112
+ {
113
+ area: [3, 4],
114
+ hue: 0,
115
+ saturation: 1000,
116
+ value: 1000,
117
+ },
118
+ {
119
+ area: [5, 6],
120
+ hue: 350,
121
+ saturation: 400,
122
+ value: 1000,
123
+ },
124
+ {
125
+ area: [7, 9],
126
+ hue: 300,
127
+ saturation: 1000,
128
+ value: 1000,
129
+ },
130
+ ],
131
+ lable: Strings.getLang('devicemusic_romantic_text'),
132
+ value: Strings.getLang('devicemusic_romantic_text')
133
+ },
134
+ ]
135
+
136
+ export type DreamMusicDataType = {
137
+ id: number
138
+ mode: number
139
+ title: string
140
+ value: string
141
+ }
142
+
143
+ export const dreamMusicData: DreamLightMicMusicUIState[] = [
144
+ {
145
+ id: 0,
146
+ mode: 3,
147
+ title: Strings.getLang('devicemusic_music_text'),
148
+ a: 0,
149
+ b: 0,
150
+ brightness: 100,
151
+ c: 0,
152
+ isLight: 0,
153
+ power: true,
154
+ sensitivity: 50,
155
+ speed: 100,
156
+ v: 1,
157
+ colors: [
158
+ { hue: 0, saturation: 100 },
159
+ { hue: 120, saturation: 100 },
160
+ { hue: 240, saturation: 100 },
161
+ { hue: 60, saturation: 100 },
162
+ { hue: 180, saturation: 100 },
163
+ { hue: 300, saturation: 100 },
164
+ { hue: 0, saturation: 0 },
165
+ ]
166
+ },
167
+ {
168
+ id: 1,
169
+ mode: 2,
170
+ title: Strings.getLang('devicemusic_ball_game_text'),
171
+ a: 0,
172
+ b: 0,
173
+ brightness: 100,
174
+ c: 0,
175
+ isLight: 0,
176
+ power: true,
177
+ sensitivity: 50,
178
+ speed: 100,
179
+ v: 1,
180
+ colors: [
181
+ { hue: 0, saturation: 80 },
182
+ { hue: 120, saturation: 80 },
183
+ { hue: 240, saturation: 80 },
184
+ { hue: 60, saturation: 80 },
185
+ { hue: 180, saturation: 80 },
186
+ { hue: 300, saturation: 80 },
187
+ { hue: 0, saturation: 0 },
188
+ ]
189
+ },
190
+ {
191
+ id: 2,
192
+ mode: 2,
193
+ title: Strings.getLang('devicemusic_game_text'),
194
+ a: 0,
195
+ b: 0,
196
+ brightness: 100,
197
+ c: 0,
198
+ isLight: 0,
199
+ power: true,
200
+ sensitivity: 50,
201
+ speed: 100,
202
+ v: 1,
203
+ colors: [
204
+ { hue: 0, saturation: 100 },
205
+ { hue: 120, saturation: 100 },
206
+ { hue: 240, saturation: 100 },
207
+ { hue: 60, saturation: 100 },
208
+ { hue: 180, saturation: 100 },
209
+ { hue: 300, saturation: 100 },
210
+ { hue: 0, saturation: 0 },
211
+ ]
212
+ },
213
+ {
214
+ id: 3,
215
+ mode: 2,
216
+ title: Strings.getLang('devicemusic_romantic_text'),
217
+ a: 1,
218
+ b: 0,
219
+ brightness: 100,
220
+ c: 0,
221
+ isLight: 0,
222
+ power: true,
223
+ sensitivity: 50,
224
+ speed: 100,
225
+ v: 1,
226
+ colors: [
227
+ { hue: 0, saturation: 100 },
228
+ { hue: 120, saturation: 100 },
229
+ { hue: 240, saturation: 100 },
230
+ { hue: 60, saturation: 100 },
231
+ { hue: 180, saturation: 100 },
232
+ { hue: 300, saturation: 100 },
233
+ { hue: 0, saturation: 0 },
234
+ ]
235
+ },
236
+ {
237
+ id: 4,
238
+ mode: 0,
239
+ title: Strings.getLang('devicemusic_classical_text'),
240
+ a: 0,
241
+ b: 0,
242
+ brightness: 100,
243
+ c: 0,
244
+ isLight: 0,
245
+ power: true,
246
+ sensitivity: 50,
247
+ speed: 100,
248
+ v: 1,
249
+ colors: [
250
+ { hue: 0, saturation: 100 },
251
+ { hue: 120, saturation: 100 },
252
+ { hue: 240, saturation: 100 },
253
+ { hue: 60, saturation: 100 },
254
+ { hue: 180, saturation: 100 },
255
+ { hue: 300, saturation: 100 },
256
+ ]
257
+ },
258
+ {
259
+ id: 5,
260
+ mode: 0,
261
+ title: Strings.getLang('devicemusic_techno_text'),
262
+ a: 1,
263
+ b: 0,
264
+ brightness: 100,
265
+ c: 0,
266
+ isLight: 1,
267
+ power: true,
268
+ sensitivity: 50,
269
+ speed: 100,
270
+ v: 1,
271
+ colors: [
272
+ { hue: 0, saturation: 100 },
273
+ { hue: 120, saturation: 100 },
274
+ { hue: 240, saturation: 100 },
275
+ { hue: 60, saturation: 100 },
276
+ { hue: 180, saturation: 100 },
277
+ { hue: 300, saturation: 100 },
278
+ { hue: 0, saturation: 0 },
279
+ ]
280
+ }
281
+ ]
282
+
283
+ export const musicTabs = [
284
+ {
285
+ key: 0,
286
+ title: Strings.getLang('devicemusic_switch_tab_device')
287
+ },
288
+ {
289
+ key: 1,
290
+ title: Strings.getLang('devicemusic_switch_tab_smartphone')
291
+ }
292
+ ]