@christianriedl/media 1.0.53 → 1.0.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/media",
3
- "version": "1.0.53",
3
+ "version": "1.0.55",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -18,7 +18,7 @@
18
18
  "author": "Christian Riedl",
19
19
  "license": "ISC",
20
20
  "dependencies": {
21
- "@christianriedl/utils": "^1.0.77",
21
+ "@christianriedl/utils": "^1.0.79",
22
22
  "@christianriedl/rest": "^1.0.47",
23
23
  "@christianriedl/epg": "^1.0.26"
24
24
  },
@@ -122,13 +122,21 @@
122
122
  }
123
123
  });
124
124
  }
125
- function onDblClick(ev: Event) {
125
+ function onClick() {
126
126
  keyDialog.value = true;
127
127
  }
128
128
  async function onKey(ev: KeyboardEvent) {
129
129
  switch (ev.code) {
130
130
  case "Escape":
131
- infoDialog.value = false;
131
+ if (appState.fullScreeen.value) {
132
+ await appState.exitFullScreen();
133
+ infoDialog.value = false;
134
+ return;
135
+ }
136
+ if (infoDialog.value) {
137
+ infoDialog.value = false;
138
+ return;
139
+ }
132
140
  router.back();
133
141
  break;
134
142
  case "ArrowLeft":
@@ -158,29 +166,11 @@
158
166
  case "KeyF": // Fullscreen
159
167
  infoDialog.value = false;
160
168
  if (appState.fullScreen.value) {
161
- if (window.document.exitFullscreen) {
162
- await window.document.exitFullscreen();
163
- appState.fullScreen.value = !!window.document.fullscreenElement;
164
- }
165
- else if ((window.document as any).webkitExitFullscreen) {
166
- (window.document as any).webkitExitFullscreen();
167
- appState.fullScreen.value = false;
168
- }
169
- else
170
- appState.fullScreen.value = false;
169
+ await appState.exitFullScreen();
171
170
  }
172
171
  else {
173
172
  const mainEle = window.document.getElementsByTagName('main')[0];
174
- if (mainEle.requestFullscreen) {
175
- await mainEle.requestFullscreen();
176
- appState.fullScreen.value = !!window.document.fullscreenElement;
177
- }
178
- else if ((mainEle as any).webkitRequestFullScreen) {
179
- (mainEle as any).webkitRequestFullScreen();
180
- appState.fullScreen.value = true;
181
- }
182
- else
183
- appState.fullScreen.value = true;
173
+ await appState.setFullScreen(mainEle);
184
174
  }
185
175
  break;
186
176
  case "KeyP":
@@ -321,13 +311,13 @@
321
311
  <v-container fluid :style="heightStyle" class="bg-grey-darken-3 pa-0">
322
312
  <v-carousel hide-delimiters :show-arrows="false" v-model="index"
323
313
  :width="width" :height="height" :cycle="cycle" :interval="interval"
324
- @dblclick="onDblClick" @update:modelValue="infoDialog = false">
314
+ @click="onClick" @update:modelValue="infoDialog = false">
325
315
  <v-carousel-item v-for="item in items" :key="item.DLNAID">
326
316
  <img :src="getUrl(item)" :alt="item.Name" :width="getWidth(item)" :height="getHeight(item)" />
327
317
  </v-carousel-item>
328
318
  </v-carousel>
329
319
  <v-dialog v-model="infoDialog" :fullscreen="isMobile" >
330
- <v-card v-if="infoDialog" width="600">
320
+ <v-card v-if="infoDialog" width="600" v-click-outside="infoDialog = false">
331
321
  <v-card-title class="headline">Metadata</v-card-title>
332
322
  <v-card-text>
333
323
  <v-container>
@@ -350,8 +340,8 @@
350
340
  </v-card-actions>
351
341
  </v-card>
352
342
  </v-dialog>
353
- <v-dialog v-model="keyDialog" :fullscreen="isMobile" >
354
- <v-card v-if="keyDialog" width="400">
343
+ <v-dialog v-model="keyDialog" :fullscreen="isMobile" >
344
+ <v-card v-if="keyDialog" width="400" v-click-outside="keyDialog = false">
355
345
  <v-card-text>
356
346
  <v-container>
357
347
  <v-row dense>