From 5ae90bda9142ee6c3c2d6995757ad70935a3f21f Mon Sep 17 00:00:00 2001
From: kKaskak <117831817+kKaskak@users.noreply.github.com>
Date: Fri, 17 Nov 2023 14:41:54 +0200
Subject: [PATCH 1/3] fix: fullscreen visible only if not using PWA
---
.../HorizontalNavBar/HorizontalNavBar.js | 4 +++-
.../NavMenu/NavMenuContent.js | 19 +++++++++++++------
src/common/usePWA.js | 16 ++++++++++++++++
3 files changed, 32 insertions(+), 7 deletions(-)
create mode 100644 src/common/usePWA.js
diff --git a/src/common/NavBar/HorizontalNavBar/HorizontalNavBar.js b/src/common/NavBar/HorizontalNavBar/HorizontalNavBar.js
index 376291700..6cef15482 100644
--- a/src/common/NavBar/HorizontalNavBar/HorizontalNavBar.js
+++ b/src/common/NavBar/HorizontalNavBar/HorizontalNavBar.js
@@ -7,6 +7,7 @@ const { default: Icon } = require('@stremio/stremio-icons/react');
const Button = require('stremio/common/Button');
const Image = require('stremio/common/Image');
const useFullscreen = require('stremio/common/useFullscreen');
+const usePWA = require('stremio/common/usePWA');
const SearchBar = require('./SearchBar');
const NavMenu = require('./NavMenu');
const styles = require('./styles');
@@ -17,6 +18,7 @@ const HorizontalNavBar = React.memo(({ className, route, query, title, backButto
window.history.back();
}, []);
const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();
+ const isPWA = usePWA();
const renderNavMenuLabel = React.useCallback(({ ref, className, onClick, children, }) => (
-
-
-
- {fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')}
-
-
+ {
+ !isPWA ?
+
+
+
+ {fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')}
+
+
+ :
+ null
+ }
diff --git a/src/common/usePWA.js b/src/common/usePWA.js
new file mode 100644
index 000000000..6a47782d0
--- /dev/null
+++ b/src/common/usePWA.js
@@ -0,0 +1,16 @@
+const React = require('react');
+
+const usePWA = () => {
+ const [isPWA, setIsPWA] = React.useState(false);
+
+ React.useEffect(() => {
+ const isIOSPWA = window.navigator.standalone;
+ const isAndroidPWA = window.matchMedia('(display-mode: standalone)').matches;
+ if (isIOSPWA || isAndroidPWA) {
+ setIsPWA(true);
+ }
+ }, []);
+ return isPWA;
+};
+
+module.exports = usePWA;
From e955bc12900735c1c69be9475d3de6dfaabc31b9 Mon Sep 17 00:00:00 2001
From: kKaskak <117831817+kKaskak@users.noreply.github.com>
Date: Fri, 17 Nov 2023 14:46:48 +0200
Subject: [PATCH 2/3] refactor: add copyright
---
src/common/usePWA.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/usePWA.js b/src/common/usePWA.js
index 6a47782d0..20a26e249 100644
--- a/src/common/usePWA.js
+++ b/src/common/usePWA.js
@@ -1,3 +1,5 @@
+// Copyright (C) 2017-2023 Smart code 203358507
+
const React = require('react');
const usePWA = () => {
From fc85c18a8ef43cd3a001a6f3bfecabd465de3ac6 Mon Sep 17 00:00:00 2001
From: kKaskak <117831817+kKaskak@users.noreply.github.com>
Date: Fri, 17 Nov 2023 15:09:21 +0200
Subject: [PATCH 3/3] refactor: usePWA to use useMemo instead
---
src/common/usePWA.js | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/common/usePWA.js b/src/common/usePWA.js
index 20a26e249..a3c3b23a1 100644
--- a/src/common/usePWA.js
+++ b/src/common/usePWA.js
@@ -3,14 +3,10 @@
const React = require('react');
const usePWA = () => {
- const [isPWA, setIsPWA] = React.useState(false);
-
- React.useEffect(() => {
+ const isPWA = React.useMemo(() => {
const isIOSPWA = window.navigator.standalone;
const isAndroidPWA = window.matchMedia('(display-mode: standalone)').matches;
- if (isIOSPWA || isAndroidPWA) {
- setIsPWA(true);
- }
+ return isIOSPWA || isAndroidPWA;
}, []);
return isPWA;
};