@@ -158,9 +158,9 @@ import type { MenuItem } from '@/types/menu.js';
158158import { i18n } from ' @/i18n.js' ;
159159import { confirm , popupMenu } from ' @/os.js' ;
160160import { defaultStore } from ' @/store.js' ;
161- import { isFullscreenNotSupported } from ' @/scripts/device-kind.js' ;
162161import { type Keymap } from ' @/scripts/hotkey.js' ;
163162import hasAudio from ' @/scripts/media-has-audio.js' ;
163+ import { exitFullscreen , requestFullscreen } from ' @/scripts/tms/fullscreen.js' ;
164164import { getMediaMenu } from ' @/scripts/tms/get-media-menu.js' ;
165165import { useReactiveDriveFile } from ' @/scripts/tms/use-reactive-drive-file.js' ;
166166import bytes from ' @/filters/bytes.js' ;
@@ -359,26 +359,21 @@ function togglePlayPause() {
359359}
360360
361361function 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 ;
382377 }
383378}
384379
@@ -479,8 +474,10 @@ watch(loop, (to) => {
479474});
480475
481476watch (hideRef , (to ) => {
482- if (to && isFullscreen .value ) {
483- document .exitFullscreen ();
477+ if (videoEl .value && to && isFullscreen .value ) {
478+ exitFullscreen ({
479+ videoEl: videoEl .value ,
480+ });
484481 isFullscreen .value = false ;
485482 }
486483});
0 commit comments