@christianriedl/media 1.0.51 → 1.0.53

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.51",
3
+ "version": "1.0.53",
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.76",
21
+ "@christianriedl/utils": "^1.0.77",
22
22
  "@christianriedl/rest": "^1.0.47",
23
23
  "@christianriedl/epg": "^1.0.26"
24
24
  },
@@ -128,32 +128,59 @@
128
128
  async function onKey(ev: KeyboardEvent) {
129
129
  switch (ev.code) {
130
130
  case "Escape":
131
+ infoDialog.value = false;
131
132
  router.back();
132
133
  break;
133
134
  case "ArrowLeft":
134
135
  if (index.value > 0)
135
136
  index.value--;
137
+ infoDialog.value = false;
136
138
  break;
137
139
  case "ArrowRight":
138
140
  if (index.value < items.length - 1)
139
141
  index.value++;
142
+ infoDialog.value = false;
140
143
  break;
141
144
  case "KeyI": // Info
142
- const item = items[index.value];
143
- const exif = await mediaService.getExifInfo(item.DLNAParentID, item.DLNAID);
144
- setMetaData(exif, item);
145
- infoDialog.value = true;
145
+ if (infoDialog.value) {
146
+ infoDialog.value = false;
147
+ }
148
+ else {
149
+ const item = items[index.value];
150
+ const exif = await mediaService.getExifInfo(item.DLNAParentID, item.DLNAID);
151
+ setMetaData(exif, item);
152
+ infoDialog.value = true;
153
+ }
146
154
  break;
147
155
  case "KeyC": // Continue
148
156
  cycle.value = true;
149
157
  break;
150
158
  case "KeyF": // Fullscreen
151
- if (window.document.fullscreen) {
152
- await window.document.exitFullscreen();
159
+ infoDialog.value = false;
160
+ 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;
153
171
  }
154
172
  else {
155
173
  const mainEle = window.document.getElementsByTagName('main')[0];
156
- await mainEle.requestFullscreen();
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;
157
184
  }
158
185
  break;
159
186
  case "KeyP":