Skip to content

Commit

Permalink
fix: remove workaround for Safari's iOS fullscreen
Browse files Browse the repository at this point in the history
* After the merge of vueuse/vueuse#2822, this is implemented upstream
  • Loading branch information
ferferga committed Mar 20, 2023
1 parent 58f18e8 commit 345f38a
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 42 deletions.
5 changes: 3 additions & 2 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@
},
"dependencies": {
"@jellyfin/sdk": "0.0.0-unstable.202301101857",
"@vueuse/components": "9.12.0",
"@vueuse/core": "9.12.0",
"@vueuse/components": "10.0.0-beta.0",
"@vueuse/core": "10.0.0-beta.0",
"@vueuse/integrations": "10.0.0-beta.0",
"all-iso-language-codes": "1.0.12",
"axios": "0.27.2",
"blurhash": "1.1.5",
Expand Down
24 changes: 2 additions & 22 deletions frontend/src/pages/playback/video/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
class="align-self-center"
:tooltip="{ text: $t('fullScreen'), location: 'top' }"
:btn="{ icon: true }"
@click="toggleFullscreen">
@click="fullscreen.toggle">
<v-icon>
<i-mdi-fullscreen v-if="fullscreen.isFullscreen" />
<i-mdi-fullscreen-exit v-else />
Expand Down Expand Up @@ -167,26 +167,6 @@ function handleMouseMove(): void {
timeout.start();
}

/**
* Toggles the fullscreen view, based on browsers supporting it or not (basically iOS or the others)
*/
function toggleFullscreen(): void {
if (fullscreen.isSupported.value) {
fullscreen.toggle();
} else if (
!fullscreen.isSupported.value &&
// @ts-expect-error - Property 'webkitEnterFullScreen' does not exist on type 'HTMLMediaElement'
mediaElementRef.value?.webkitEnterFullScreen
) {
/**
* Use case for iOS where the fullscreen methods on non <video> elements aren't supported
*/
// TODO - if entering FS this way, SSA subs won't display. So we should trigger a new encode
// @ts-expect-error - Property 'webkitEnterFullScreen' does not exist on type 'HTMLMediaElement'
mediaElementRef.value?.webkitEnterFullScreen();
}
}

onBeforeUnmount(() => {
if (fullscreen.isFullscreen.value) {
fullscreen.exit();
Expand All @@ -213,7 +193,7 @@ whenever(keys.right, playbackManager.skipForward);
whenever(keys.l, playbackManager.skipForward);
whenever(keys.left, playbackManager.skipBackward);
whenever(keys.j, playbackManager.skipBackward);
whenever(keys.f, toggleFullscreen);
whenever(keys.f, fullscreen.toggle);
whenever(keys.m, playbackManager.toggleMute);

watch(staticOverlay, (val) => {
Expand Down
127 changes: 109 additions & 18 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 345f38a

Please sign in to comment.