-
-
-
+
+
+
+ {loading && (
+
+
+
+ )}
+ {showEmbeddedCheckout ? (
+
+
+
+ ) : (
+
-
- )}
+ )}
+
+
-
);
};
diff --git a/apps/readest-app/src/components/Dialog.tsx b/apps/readest-app/src/components/Dialog.tsx
index 50de3413..19d70ee1 100644
--- a/apps/readest-app/src/components/Dialog.tsx
+++ b/apps/readest-app/src/components/Dialog.tsx
@@ -160,7 +160,11 @@ const Dialog: React.FC
= ({
dir={isRtl ? 'rtl' : undefined}
>
{
const _ = useTranslation();
const { token, user } = useAuth();
const [quotas, setQuotas] = useState([]);
- const [userPlan, setUserPlan] = useState('free');
+ const [userPlan, setUserPlan] = useState(undefined);
useEffect(() => {
if (!user || !token) return;
diff --git a/apps/readest-app/src/services/nativeAppService.ts b/apps/readest-app/src/services/nativeAppService.ts
index 72260ea4..0fa61d44 100644
--- a/apps/readest-app/src/services/nativeAppService.ts
+++ b/apps/readest-app/src/services/nativeAppService.ts
@@ -220,7 +220,7 @@ export class NativeAppService extends BaseAppService {
override hasWindow = !(OS_TYPE === 'ios' || OS_TYPE === 'android');
override hasWindowBar = !(OS_TYPE === 'ios' || OS_TYPE === 'android');
override hasContextMenu = !(OS_TYPE === 'ios' || OS_TYPE === 'android');
- override hasRoundedWindow = !(OS_TYPE === 'ios' || OS_TYPE === 'android') && !!window.IS_ROUNDED;
+ override hasRoundedWindow = OS_TYPE === 'linux';
override hasSafeAreaInset = OS_TYPE === 'ios' || OS_TYPE === 'android';
override hasHaptics = OS_TYPE === 'ios' || OS_TYPE === 'android';
override hasUpdater =
diff --git a/apps/readest-app/src/styles/globals.css b/apps/readest-app/src/styles/globals.css
index 82c70997..0e3ba5c9 100644
--- a/apps/readest-app/src/styles/globals.css
+++ b/apps/readest-app/src/styles/globals.css
@@ -6,6 +6,7 @@
border-radius: 10px;
scrollbar-gutter: auto !important;
overscroll-behavior: none;
+ background-color: transparent;
--safe-area-inset-top: env(safe-area-inset-top);
--safe-area-inset-right: env(safe-area-inset-right);
@@ -97,6 +98,25 @@ foliate-view {
border-bottom-right-radius: 10px;
}
+.window-border {
+ border-radius: 10px;
+ z-index: 999;
+ position: relative;
+}
+
+.window-border::before {
+ content: '';
+ z-index: 1000;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ border: 1px solid theme('colors.base-300');
+ border-radius: 10px;
+ pointer-events: none;
+}
+
.dropdown-content {
position: relative;
@apply bg-base-100;