From 1fbdfe725c353704f1dbd5b4a3ffd43ddaa6a275 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Sun, 25 Dec 2022 01:25:46 -0800 Subject: [PATCH] Add conditional for preload functions --- .../features/action-required/components/mpv-required.tsx | 2 +- .../features/action-required/routes/action-required-route.tsx | 2 +- .../now-playing/components/play-queue-list-controls.tsx | 3 ++- src/renderer/features/now-playing/components/play-queue.tsx | 3 ++- .../features/player/hooks/use-handle-playqueue-add.ts | 3 ++- src/renderer/features/player/hooks/use-right-controls.ts | 2 +- src/renderer/features/settings/components/playback-tab.tsx | 4 ++-- .../features/window-controls/components/window-controls.tsx | 2 +- src/renderer/router/app-outlet.tsx | 2 +- 9 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/renderer/features/action-required/components/mpv-required.tsx b/src/renderer/features/action-required/components/mpv-required.tsx index d97c4d45..14bf9b32 100644 --- a/src/renderer/features/action-required/components/mpv-required.tsx +++ b/src/renderer/features/action-required/components/mpv-required.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'; import isElectron from 'is-electron'; import { FileInput, Text, Button } from '/@/renderer/components'; -const localSettings = window.electron.localSettings; +const localSettings = isElectron() ? window.electron.localSettings : null; export const MpvRequired = () => { const [mpvPath, setMpvPath] = useState(''); diff --git a/src/renderer/features/action-required/routes/action-required-route.tsx b/src/renderer/features/action-required/routes/action-required-route.tsx index 7a50e4e1..6f6bf197 100644 --- a/src/renderer/features/action-required/routes/action-required-route.tsx +++ b/src/renderer/features/action-required/routes/action-required-route.tsx @@ -12,7 +12,7 @@ import { AnimatedPage } from '/@/renderer/features/shared'; import { AppRoute } from '/@/renderer/router/routes'; import { useCurrentServer } from '/@/renderer/store'; -const localSettings = window.electron.localSettings; +const localSettings = isElectron() ? window.electron.localSettings : null; const ActionRequiredRoute = () => { const currentServer = useCurrentServer(); diff --git a/src/renderer/features/now-playing/components/play-queue-list-controls.tsx b/src/renderer/features/now-playing/components/play-queue-list-controls.tsx index 3ff30732..18228254 100644 --- a/src/renderer/features/now-playing/components/play-queue-list-controls.tsx +++ b/src/renderer/features/now-playing/components/play-queue-list-controls.tsx @@ -2,6 +2,7 @@ import type { MutableRefObject } from 'react'; import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact'; import { Group } from '@mantine/core'; import { Button, Popover, TableConfigDropdown } from '/@/renderer/components'; +import isElectron from 'is-electron'; import { RiArrowDownLine, RiArrowUpLine, @@ -14,7 +15,7 @@ import { Song } from '/@/renderer/api/types'; import { useQueueControls } from '/@/renderer/store'; import { TableType } from '/@/renderer/types'; -const mpvPlayer = window.electron.mpvPlayer; +const mpvPlayer = isElectron() ? window.electron.mpvPlayer : null; interface PlayQueueListOptionsProps { tableRef: MutableRefObject<{ grid: AgGridReactType } | null>; diff --git a/src/renderer/features/now-playing/components/play-queue.tsx b/src/renderer/features/now-playing/components/play-queue.tsx index 07437a7c..6e669405 100644 --- a/src/renderer/features/now-playing/components/play-queue.tsx +++ b/src/renderer/features/now-playing/components/play-queue.tsx @@ -27,13 +27,14 @@ import { useTableSettings, } from '/@/renderer/store/settings.store'; import { useMergedRef } from '@mantine/hooks'; +import isElectron from 'is-electron'; import { ErrorBoundary } from 'react-error-boundary'; import { VirtualTable } from '/@/renderer/components/virtual-table'; import { ErrorFallback } from '/@/renderer/features/action-required'; import { TableType } from '/@/renderer/types'; import { QueueSong } from '/@/renderer/api/types'; -const mpvPlayer = window.electron.mpvPlayer; +const mpvPlayer = isElectron() ? window.electron.mpvPlayer : null; type QueueProps = { type: TableType; diff --git a/src/renderer/features/player/hooks/use-handle-playqueue-add.ts b/src/renderer/features/player/hooks/use-handle-playqueue-add.ts index 2a010461..cf322f74 100644 --- a/src/renderer/features/player/hooks/use-handle-playqueue-add.ts +++ b/src/renderer/features/player/hooks/use-handle-playqueue-add.ts @@ -9,8 +9,9 @@ import { useAuthStore, usePlayerStore } from '/@/renderer/store'; import { useSettingsStore } from '/@/renderer/store/settings.store'; import { PlayQueueAddOptions, LibraryItem, Play, PlaybackType } from '/@/renderer/types'; import { toast } from '/@/renderer/components/toast'; +import isElectron from 'is-electron'; -const mpvPlayer = window.electron.mpvPlayer; +const mpvPlayer = isElectron() ? window.electron.mpvPlayer : null; export const useHandlePlayQueueAdd = () => { const queryClient = useQueryClient(); diff --git a/src/renderer/features/player/hooks/use-right-controls.ts b/src/renderer/features/player/hooks/use-right-controls.ts index c5737955..6829e91f 100644 --- a/src/renderer/features/player/hooks/use-right-controls.ts +++ b/src/renderer/features/player/hooks/use-right-controls.ts @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import isElectron from 'is-electron'; import { useMuted, usePlayerControls, useVolume } from '/@/renderer/store'; -const mpvPlayer = window.electron.mpvPlayer; +const mpvPlayer = isElectron() ? window.electron.mpvPlayer : null; export const useRightControls = () => { const { setVolume, setMuted } = usePlayerControls(); diff --git a/src/renderer/features/settings/components/playback-tab.tsx b/src/renderer/features/settings/components/playback-tab.tsx index 6596e69d..01a54e15 100644 --- a/src/renderer/features/settings/components/playback-tab.tsx +++ b/src/renderer/features/settings/components/playback-tab.tsx @@ -18,8 +18,8 @@ import { useCurrentStatus, usePlayerStore } from '/@/renderer/store'; import { useSettingsStore, useSettingsStoreActions } from '/@/renderer/store/settings.store'; import { PlaybackType, PlayerStatus, PlaybackStyle, CrossfadeStyle, Play } from '/@/renderer/types'; -const localSettings = window.electron.localSettings; -const mpvPlayer = window.electron.mpvPlayer; +const localSettings = isElectron() ? window.electron.localSettings : null; +const mpvPlayer = isElectron() ? window.electron.mpvPlayer : null; const getAudioDevice = async () => { const devices = await navigator.mediaDevices.enumerateDevices(); diff --git a/src/renderer/features/window-controls/components/window-controls.tsx b/src/renderer/features/window-controls/components/window-controls.tsx index f1e9fc0b..fcd12292 100644 --- a/src/renderer/features/window-controls/components/window-controls.tsx +++ b/src/renderer/features/window-controls/components/window-controls.tsx @@ -3,7 +3,7 @@ import isElectron from 'is-electron'; import { RiCheckboxBlankLine, RiCloseLine, RiSubtractLine } from 'react-icons/ri'; import styled from 'styled-components'; -const browser = window.electron.browser; +const browser = isElectron() ? window.electron.browser : null; interface WindowControlsProps { style?: 'macos' | 'windows' | 'linux'; diff --git a/src/renderer/router/app-outlet.tsx b/src/renderer/router/app-outlet.tsx index 7533ba11..f7f20f14 100644 --- a/src/renderer/router/app-outlet.tsx +++ b/src/renderer/router/app-outlet.tsx @@ -4,7 +4,7 @@ import { Navigate, Outlet, useLocation } from 'react-router-dom'; import { AppRoute } from '/@/renderer/router/routes'; import { useCurrentServer } from '/@/renderer/store'; -const localSettings = window.electron.localSettings; +const localSettings = isElectron() ? window.electron.localSettings : null; export const AppOutlet = () => { const location = useLocation();