@@ -158,9 +158,9 @@ import type { MenuItem } from '@/types/menu.js';
158
158
import { i18n } from '@/i18n.js';
159
159
import { confirm, popupMenu } from '@/os.js';
160
160
import { defaultStore } from '@/store.js';
161
- import { isFullscreenNotSupported } from '@/scripts/device-kind.js';
162
161
import { type Keymap } from '@/scripts/hotkey.js';
163
162
import hasAudio from '@/scripts/media-has-audio.js';
163
+ import { exitFullscreen, requestFullscreen } from '@/scripts/tms/fullscreen.js';
164
164
import { getMediaMenu } from '@/scripts/tms/get-media-menu.js';
165
165
import { useReactiveDriveFile } from '@/scripts/tms/use-reactive-drive-file.js';
166
166
import bytes from '@/filters/bytes.js';
@@ -359,26 +359,21 @@ function togglePlayPause() {
359
359
}
360
360
361
361
function toggleFullscreen() {
362
- if (isFullscreenNotSupported && videoEl.value) {
363
- if (isFullscreen.value) {
364
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
365
- //@ts-ignore
366
- videoEl.value.webkitExitFullscreen();
367
- isFullscreen.value = false;
368
- } else {
369
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
370
- //@ts-ignore
371
- videoEl.value.webkitEnterFullscreen();
372
- isFullscreen.value = true;
373
- }
374
- } else if (playerEl.value) {
375
- if (isFullscreen.value) {
376
- document.exitFullscreen();
377
- isFullscreen.value = false;
378
- } else {
379
- playerEl.value.requestFullscreen({ navigationUI: 'hide' });
380
- isFullscreen.value = true;
381
- }
362
+ if (playerEl.value == null || videoEl.value == null) return;
363
+ if (isFullscreen.value) {
364
+ exitFullscreen({
365
+ videoEl: videoEl.value,
366
+ });
367
+ isFullscreen.value = false;
368
+ } else {
369
+ requestFullscreen({
370
+ videoEl: videoEl.value,
371
+ playerEl: playerEl.value,
372
+ options: {
373
+ navigationUI: 'hide',
374
+ },
375
+ });
376
+ isFullscreen.value = true;
382
377
}
383
378
}
384
379
@@ -479,8 +474,10 @@ watch(loop, (to) => {
479
474
});
480
475
481
476
watch(hideRef, (to) => {
482
- if (to && isFullscreen.value) {
483
- document.exitFullscreen();
477
+ if (videoEl.value && to && isFullscreen.value) {
478
+ exitFullscreen({
479
+ videoEl: videoEl.value,
480
+ });
484
481
isFullscreen.value = false;
485
482
}
486
483
});
0 commit comments