diff --git a/apps/readest-app/src-tauri/src/lib.rs b/apps/readest-app/src-tauri/src/lib.rs
index 595f458a..e2a475be 100644
--- a/apps/readest-app/src-tauri/src/lib.rs
+++ b/apps/readest-app/src-tauri/src/lib.rs
@@ -271,6 +271,7 @@ pub fn run() {
.initialization_script(
r#"
window.addEventListener('DOMContentLoaded', function() {
+ document.documentElement.classList.add('edge-to-edge');
const isTauriLocal = window.location.protocol === 'tauri:' ||
window.location.protocol === 'about:' ||
window.location.hostname === 'tauri.localhost';
diff --git a/apps/readest-app/src/app/auth/page.tsx b/apps/readest-app/src/app/auth/page.tsx
index 2329b8be..3df0449a 100644
--- a/apps/readest-app/src/app/auth/page.tsx
+++ b/apps/readest-app/src/app/auth/page.tsx
@@ -344,7 +344,7 @@ export default function AuthPage() {
return isTauriAppPlatform() ? (
diff --git a/apps/readest-app/src/app/library/page.tsx b/apps/readest-app/src/app/library/page.tsx
index f77952aa..e461d2dd 100644
--- a/apps/readest-app/src/app/library/page.tsx
+++ b/apps/readest-app/src/app/library/page.tsx
@@ -629,7 +629,7 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP
};
if (!appService || !insets || checkOpenWithBooks || checkLastOpenBooks) {
- return
;
+ return
;
}
const showBookshelf = libraryLoaded || libraryBooks.length > 0;
@@ -639,7 +639,7 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP
ref={pageRef}
aria-label='Your Library'
className={clsx(
- 'library-page text-base-content flex h-[100vh] select-none flex-col overflow-hidden',
+ 'library-page text-base-content full-height flex select-none flex-col overflow-hidden',
viewSettings?.isEink ? 'bg-base-100' : 'bg-base-200',
appService?.hasRoundedWindow && isRoundedWindow && 'window-border rounded-window',
)}
@@ -793,7 +793,7 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP
const LibraryPage = () => {
return (
-
}>
+
}>
);
diff --git a/apps/readest-app/src/app/reader/components/Reader.tsx b/apps/readest-app/src/app/reader/components/Reader.tsx
index 1f0ea494..137f5bba 100644
--- a/apps/readest-app/src/app/reader/components/Reader.tsx
+++ b/apps/readest-app/src/app/reader/components/Reader.tsx
@@ -129,11 +129,11 @@ const Reader: React.FC<{ ids?: string }> = ({ ids }) => {
return libraryLoaded && settings.globalReadSettings ? (
-
}>
+
}>
+
)
@@ -208,7 +208,7 @@ const ReaderContent: React.FC<{ ids?: string; settings: SystemSettings }> = ({ i
}
return (
-
+
diff --git a/apps/readest-app/src/app/reader/components/notebook/Notebook.tsx b/apps/readest-app/src/app/reader/components/notebook/Notebook.tsx
index 7a0b114a..f65d2a59 100644
--- a/apps/readest-app/src/app/reader/components/notebook/Notebook.tsx
+++ b/apps/readest-app/src/app/reader/components/notebook/Notebook.tsx
@@ -219,9 +219,8 @@ const Notebook: React.FC = ({}) => {
{
return (
diff --git a/apps/readest-app/src/styles/globals.css b/apps/readest-app/src/styles/globals.css
index 988855f0..81ea8f0f 100644
--- a/apps/readest-app/src/styles/globals.css
+++ b/apps/readest-app/src/styles/globals.css
@@ -53,6 +53,20 @@ body {
}
}
+.full-height {
+ height: -webkit-fill-available;
+}
+
+@supports (height: 100dvh) {
+ .full-height {
+ height: 100dvh;
+ }
+}
+
+:root.edge-to-edge .full-height {
+ height: 100vh !important;
+}
+
foliate-view {
display: block;
width: 100%;