summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/reader/Reader.svelte
diff options
context:
space:
mode:
authorWolfgang Müller2025-02-19 16:50:43 +0100
committerWolfgang Müller2025-02-19 17:45:19 +0100
commitf90f3604cf161a82336ed1f81967933adedfeb96 (patch)
treeb8c78a359236fbd11658cd458efd47a312420bca /frontend/src/lib/reader/Reader.svelte
parent6b6a4d7b9aa9f8057b0ce7d5426dc549fff3a50f (diff)
downloadhircine-f90f3604cf161a82336ed1f81967933adedfeb96.tar.gz
frontend: Add fullscreen toggle in the reader
Diffstat (limited to 'frontend/src/lib/reader/Reader.svelte')
-rw-r--r--frontend/src/lib/reader/Reader.svelte19
1 files changed, 14 insertions, 5 deletions
diff --git a/frontend/src/lib/reader/Reader.svelte b/frontend/src/lib/reader/Reader.svelte
index 2e7e851..0665698 100644
--- a/frontend/src/lib/reader/Reader.svelte
+++ b/frontend/src/lib/reader/Reader.svelte
@@ -6,10 +6,13 @@
import { fade, slide } from 'svelte/transition';
import CloseReaderButton from './components/CloseReaderButton.svelte';
import ReaderMenuButton from './components/ReaderMenuButton.svelte';
+ import ToggleFullscreenButton from './components/ToggleFullscreenButton.svelte';
let { sidebar, children }: { sidebar?: Snippet; children?: Snippet } = $props();
const reader = getReaderContext();
+
+ let dialog: HTMLDivElement | undefined = $state();
</script>
{#if reader.visible}
@@ -18,6 +21,7 @@
class="fixed top-0 right-0 bottom-0 left-0 z-10 flex h-full w-full bg-black"
transition:fade={fadeDefault}
use:trapFocus
+ bind:this={dialog}
>
{#if sidebar && reader.sidebar}
<aside class="w-[36rem] shrink-0 bg-slate-800" transition:slide={slideXDefault}>
@@ -27,11 +31,16 @@
</aside>
{/if}
<main class="relative flex grow">
- <div class="absolute flex w-full p-1 text-lg [&>*:last-child]:ml-auto">
- {#if sidebar}
- <ReaderMenuButton />
- {/if}
- <CloseReaderButton />
+ <div class="absolute flex w-full p-1 text-lg">
+ <div class="flex flex-col gap-1">
+ {#if sidebar}
+ <ReaderMenuButton />
+ {/if}
+ </div>
+ <div class="ml-auto flex flex-col gap-1">
+ <CloseReaderButton />
+ <ToggleFullscreenButton {dialog} />
+ </div>
</div>
{@render children?.()}