From 5f6cc3f90f55deb5f294fe1aa3a801828c6fa097 Mon Sep 17 00:00:00 2001 From: Fornax Date: Thu, 11 Apr 2024 19:33:26 +0200 Subject: [PATCH] Add fullscreen buttons to file viewer and filesystem --- svelte/src/file_viewer/FileViewer.svelte | 31 +++++++++++++++++++++++- svelte/src/filesystem/Filesystem.svelte | 4 ++- svelte/src/filesystem/Toolbar.svelte | 29 ++++++++++++++++++++++ 3 files changed, 62 insertions(+), 2 deletions(-) diff --git a/svelte/src/file_viewer/FileViewer.svelte b/svelte/src/file_viewer/FileViewer.svelte index f753924..12a42ba 100644 --- a/svelte/src/file_viewer/FileViewer.svelte +++ b/svelte/src/file_viewer/FileViewer.svelte @@ -31,10 +31,12 @@ let file = file_struct let list = list_struct let is_list = false let list_downloadable = false +let file_viewer let file_preview let list_navigator let sharebar let sharebar_visible = false +let fullscreen = false let toggle_sharebar = () => { if (navigator.share) { let name = file.name @@ -221,6 +223,20 @@ const toggle_gallery = () => { } } +const toggle_fullscreen = () => { + if (fullscreen || document.fullscreenElement) { + try { + document.exitFullscreen() + } catch (err) { + console.debug("Failed to exit fullscreen", err) + } + fullscreen = false + } else { + file_viewer.requestFullscreen() + fullscreen = true + } +} + // Premium page customizations. In the gallery view we will use the // customizations for the first file in the list, else we simply use the // selected file. In most cases they are all the same so the user won't notice @@ -365,7 +381,7 @@ const keyboard_event = evt => { -
+
{#if !disable_menu} + + {#if view === "file"} {/if} + +