From d1c5dc3f16d3c37bb1cc2c71fb28444e8b1427af Mon Sep 17 00:00:00 2001 From: Sawyerf Date: Mon, 20 Jan 2025 21:50:25 +0100 Subject: [PATCH] Fix: maskable icon PWA & fullscreen --- .github/workflows/deploy.yml | 2 - app/components/bar/TabBar.js | 11 +-- app/components/player/BoxDesktopPlayer.js | 6 +- app/components/player/BoxPlayer.js | 4 +- .../player/FullScreenHorizontalPlayer.js | 6 +- app/components/player/FullScreenPlayer.js | 6 +- app/components/player/Player.js | 15 +-- assets/adaptative-icon.png | Bin 0 -> 32372 bytes assets/icon.svg | 86 +++++++++--------- web/manifest.json | 34 ++----- webpack.config.js | 16 ++++ 11 files changed, 86 insertions(+), 100 deletions(-) create mode 100644 assets/adaptative-icon.png diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a244522..d8cbe42 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -36,8 +36,6 @@ jobs: run: npm ci - name: Export Project run: npm run export:web - - name: Copy icon.png - run: cp ./assets/icon.png ./web-build/pwa/icon.png - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: diff --git a/app/components/bar/TabBar.js b/app/components/bar/TabBar.js index c2c34a2..a30c3b4 100755 --- a/app/components/bar/TabBar.js +++ b/app/components/bar/TabBar.js @@ -9,7 +9,6 @@ import SideBar from '~/components/bar/SideBar'; const TabBar = ({ state, descriptors, navigation }) => { const config = React.useContext(ConfigContext) const settings = React.useContext(SettingsContext) - const [isFullScreen, setIsFullScreen] = React.useState(false) React.useEffect(() => { if (config.query === null) { @@ -20,13 +19,11 @@ const TabBar = ({ state, descriptors, navigation }) => { return ( <> { - !isFullScreen ? - settings.isDesktop ? - - : - : null + settings.isDesktop ? + + : } - + ); } diff --git a/app/components/player/BoxDesktopPlayer.js b/app/components/player/BoxDesktopPlayer.js index b39c2ce..397e5f2 100644 --- a/app/components/player/BoxDesktopPlayer.js +++ b/app/components/player/BoxDesktopPlayer.js @@ -14,7 +14,7 @@ import FavoritedButton from '~/components/button/FavoritedButton'; import size from '~/styles/size'; import PlayButton from '~/components/button/PlayButton'; -const BoxDesktopPlayer = ({ fullscreen }) => { +const BoxDesktopPlayer = ({ setFullScreen }) => { const song = React.useContext(SongContext) const songDispatch = React.useContext(SongDispatchContext) const config = React.useContext(ConfigContext) @@ -27,7 +27,7 @@ const BoxDesktopPlayer = ({ fullscreen }) => { fullscreen.set(true)} + onPress={() => setFullScreen(true)} style={{ flexDirection: 'row', flex: 1 }} > { size={17} style={{ padding: 5, paddingHorizontal: 8, marginStart: 15, borderRadius: 4 }} color={theme.primaryLight} - onPress={() => fullscreen.set(true)} + onPress={() => setFullScreen(true)} /> diff --git a/app/components/player/BoxPlayer.js b/app/components/player/BoxPlayer.js index 64fa146..df702ef 100644 --- a/app/components/player/BoxPlayer.js +++ b/app/components/player/BoxPlayer.js @@ -14,7 +14,7 @@ import ImageError from '~/components/ImageError'; import size from '~/styles/size'; import useKeyboardIsOpen from '~/utils/useKeyboardIsOpen'; -const BoxPlayer = ({ fullscreen }) => { +const BoxPlayer = ({ setFullScreen }) => { const song = React.useContext(SongContext) const songDispatch = React.useContext(SongDispatchContext) const config = React.useContext(ConfigContext) @@ -24,7 +24,7 @@ const BoxPlayer = ({ fullscreen }) => { return ( fullscreen.set(true)} + onPress={() => setFullScreen(true)} style={{ position: 'absolute', bottom: (insets.bottom ? insets.bottom : 15) + 53, diff --git a/app/components/player/FullScreenHorizontalPlayer.js b/app/components/player/FullScreenHorizontalPlayer.js index 0b84de1..b009bbb 100644 --- a/app/components/player/FullScreenHorizontalPlayer.js +++ b/app/components/player/FullScreenHorizontalPlayer.js @@ -29,7 +29,7 @@ const color = { secondary: '#c6c6c6' } -const FullScreenHorizontalPlayer = ({ fullscreen }) => { +const FullScreenHorizontalPlayer = ({ setFullScreen }) => { const [isPreview, setIsPreview] = React.useState(preview.COVER) const config = React.useContext(ConfigContext) const insets = useSafeAreaInsets() @@ -49,7 +49,7 @@ const FullScreenHorizontalPlayer = ({ fullscreen }) => { return ( { size={17} style={{ padding: 5, paddingHorizontal: 8, marginStart: 15, borderRadius: 4 }} color={color.primary} - onPress={() => fullscreen.set(false)} + onPress={() => setFullScreen(false)} /> diff --git a/app/components/player/FullScreenPlayer.js b/app/components/player/FullScreenPlayer.js index cf1c8ca..3bbebeb 100644 --- a/app/components/player/FullScreenPlayer.js +++ b/app/components/player/FullScreenPlayer.js @@ -24,7 +24,7 @@ const preview = { LYRICS: 2 } -const FullScreenPlayer = ({ fullscreen }) => { +const FullScreenPlayer = ({ setFullScreen }) => { const [isPreview, setIsPreview] = React.useState(preview.COVER) const song = React.useContext(SongContext) const songDispatch = React.useContext(SongDispatchContext) @@ -42,7 +42,7 @@ const FullScreenPlayer = ({ fullscreen }) => { return ( fullscreen.set(false)} + onRequestClose={() => setFullScreen(false)} > { }} icon="chevron-down" color={theme.primaryLight} - onPress={() => fullscreen.set(false)} /> + onPress={() => setFullScreen(false)} /> { isPreview == preview.COVER && diff --git a/app/components/player/Player.js b/app/components/player/Player.js index 927ffea..8093706 100644 --- a/app/components/player/Player.js +++ b/app/components/player/Player.js @@ -8,22 +8,23 @@ import BoxPlayer from '~/components/player/BoxPlayer' import FullScreenHorizontalPlayer from '~/components/player/FullScreenHorizontalPlayer' import FullScreenPlayer from '~/components/player/FullScreenPlayer' -const Player = ({ state, fullscreen }) => { +const Player = ({ state }) => { const song = React.useContext(SongContext) const settings = React.useContext(SettingsContext) const { height, width } = useWindowDimensions() + const [fullScreen, setFullScreen] = React.useState(false) React.useEffect(() => { - fullscreen.set(false) + setFullScreen(false) }, [state.index]) if (!song?.songInfo) return null - else if (fullscreen.value) { - if (width <= height) return - else return + else if (fullScreen) { + if (width <= height) return + else return } - else if (settings.isDesktop) return - return + else if (settings.isDesktop) return + return } export default Player \ No newline at end of file diff --git a/assets/adaptative-icon.png b/assets/adaptative-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..741b371eb7663af581aaab8c1c053e81b0eee928 GIT binary patch literal 32372 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 - - + + - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + - - - + + + + + + + - - - - - - - + + - - + + + - - - - - - - - + + + + \ No newline at end of file diff --git a/web/manifest.json b/web/manifest.json index 6d89ade..9e53390 100644 --- a/web/manifest.json +++ b/web/manifest.json @@ -5,43 +5,21 @@ "lang": "en", "display": "standalone", "orientation": "portrait", - "background_color": "#121212", + "background_color": "#660000", "theme_color": "#121212", "start_url": "./index.html", "icons": [ { - "src": "./pwa/icon.png", - "sizes": "1024x1024", - "type": "image/png", + "src": "./pwa/icon.svg", + "sizes": "any", + "type": "image/svg+xml", "purpose": "any" }, { - "src": "./pwa/icon.png", + "src": "./pwa/adaptative-icon.png", "sizes": "1024x1024", "type": "image/png", "purpose": "maskable" - }, - { - "src": "./pwa/apple-touch-icon/apple-touch-icon-180.png", - "sizes": "180x180", - "type": "image/png", - "purpose": "any" - }, - { - "src": "./pwa/apple-touch-icon/apple-touch-icon-180.png", - "sizes": "180x180", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "./favicon-32.png", - "sizes": "32x32", - "type": "image/png" - }, - { - "src": "./favicon-16.png", - "sizes": "16x16", - "type": "image/png" } ] -} \ No newline at end of file +} diff --git a/webpack.config.js b/webpack.config.js index b109134..2614b13 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,7 @@ const createExpoWebpackConfigAsync = require("@expo/webpack-config"); const path = require("path"); const WorkboxWebpackPlugin = require("workbox-webpack-plugin"); +const CopyWebpackPlugin = require("copy-webpack-plugin"); // const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); module.exports = async function (env, argv) { @@ -26,6 +27,21 @@ module.exports = async function (env, argv) { }) ); + config.plugins.push( + new CopyWebpackPlugin({ + patterns: [ + { + from: path.resolve(__dirname, "assets/icon.svg"), + to: path.resolve(__dirname, "web-build/pwa/icon.svg"), + }, + { + from: path.resolve(__dirname, "assets/adaptative-icon.png"), + to: path.resolve(__dirname, "web-build/pwa/adaptative-icon.png"), + }, + ], + }), + ) + // Uncomment to analyze bundle size // config.plugins.push( // new BundleAnalyzerPlugin({