diff --git a/src/renderer/components/maps-playlists-panel/playlists/local-playlists-list-panel.component.tsx b/src/renderer/components/maps-playlists-panel/playlists/local-playlists-list-panel.component.tsx index 96138052..a9b1efa5 100644 --- a/src/renderer/components/maps-playlists-panel/playlists/local-playlists-list-panel.component.tsx +++ b/src/renderer/components/maps-playlists-panel/playlists/local-playlists-list-panel.component.tsx @@ -21,7 +21,6 @@ import { useObservable } from "renderer/hooks/use-observable.hook"; import { PlaylistDownloaderService } from "renderer/services/playlist-downloader.service"; import { NotificationService } from "renderer/services/notification.service"; import { DeletePlaylistModal } from "renderer/components/modal/modal-types/playlist/delete-playlist-modal.component"; -import { OsDiagnosticService } from "renderer/services/os-diagnostic.service"; import { PlaylistItemComponentPropsMapper } from "shared/mappers/playlist/playlist-item-component-props.mapper"; import { VirtualScroll } from "renderer/components/shared/virtual-scroll/virtual-scroll.component"; import { LocalPlaylistFilter, LocalPlaylistSort } from "./local-playlist-filter-panel.component"; @@ -75,10 +74,8 @@ export const LocalPlaylistsListPanel = forwardRef( const playlistDownloader = useService(PlaylistDownloaderService); const modals = useService(ModalService); const ipc = useService(IpcService); - const osDiagnostic = useService(OsDiagnosticService); const notification = useService(NotificationService); - const isOnline = useObservable(() => osDiagnostic.isOnline$, false); const isActiveOnce = useChangeUntilEqual(isActive, { untilEqual: true }); const { maps$, playlists$, setPlaylists, setMaps } = useContext(InstalledMapsContext); @@ -121,7 +118,6 @@ export const LocalPlaylistsListPanel = forwardRef( }, syncPlaylists: async (playlists?: LocalBPList[]) => { - if(!isOnline){ return; } const toSync = playlists ?? (selectedPlaylists$.value?.length ? selectedPlaylists$.value : playlists$.value); if(!toSync.length){ return; } @@ -391,13 +387,13 @@ export const LocalPlaylistsListPanel = forwardRef( }} onClickOpen={() => openPlaylistDetails(playlist.path)} onClickDelete={() => deletePlaylists([playlist])} - onClickSync={(playlist?.songs?.length && isOnline) && (() => handleClickSync(playlist))} + onClickSync={!!playlist?.songs?.length && (() => handleClickSync(playlist))} onClickOpenFile={() => viewPlaylistFile(playlist.path)} onClickCancelDownload={() => playlistDownloader.cancelDownload(playlist.customData?.syncURL ?? playlist.path, version)} onClickEdit={() => editPlaylist(playlist)} /> ); - }, [isOnline, version]); + }, [version]); const filteredPlaylists = useMemo(() => { if(!playlists){ return []; } diff --git a/src/renderer/components/modal/modal-types/download-maps-modal.component.tsx b/src/renderer/components/modal/modal-types/download-maps-modal.component.tsx index eeb7cf57..81e022f3 100644 --- a/src/renderer/components/modal/modal-types/download-maps-modal.component.tsx +++ b/src/renderer/components/modal/modal-types/download-maps-modal.component.tsx @@ -15,7 +15,6 @@ import BeatConflictImg from "../../../../../assets/images/apngs/beat-conflict.pn import equal from "fast-deep-equal/es6"; import { ProgressBarService } from "renderer/services/progress-bar.service"; import { useTranslation } from "renderer/hooks/use-translation.hook"; -import { OsDiagnosticService } from "renderer/services/os-diagnostic.service"; import { BsmLocalMap } from "shared/models/maps/bsm-local-map.interface"; import { useService } from "renderer/hooks/use-service.hook"; import { useConstant } from "renderer/hooks/use-constant.hook"; @@ -29,7 +28,6 @@ export const DownloadMapsModal: ModalComponent mapsDownloader.currentMapDownload$); const mapsInQueue = useObservable(() => mapsDownloader.mapsInQueue$); @@ -41,7 +39,6 @@ export const DownloadMapsModal: ModalComponent([]); const [ownedMapHashs, setOwnedMapHashs] = useState(ownedMaps?.map(map => map.hash) ?? []); const [loading, setLoading] = useState(false); - const isOnline = useObservable(() => os.isOnline$); const [searchParams, setSearchParams] = useState({ sortOrder: config.get("map-sort-order"), filter, @@ -256,10 +253,7 @@ export const DownloadMapsModal: ModalComponent diff --git a/src/renderer/components/modal/modal-types/models/download-models-modal.component.tsx b/src/renderer/components/modal/modal-types/models/download-models-modal.component.tsx index 05c11fc9..c15f621b 100644 --- a/src/renderer/components/modal/modal-types/models/download-models-modal.component.tsx +++ b/src/renderer/components/modal/modal-types/models/download-models-modal.component.tsx @@ -12,7 +12,6 @@ import { ModelDownload, ModelsDownloaderService } from "renderer/services/models import { ModelSaberService } from "renderer/services/thrird-partys/model-saber.service"; import { useBehaviorSubject } from "renderer/hooks/use-behavior-subject.hook"; import { useTranslation } from "renderer/hooks/use-translation.hook"; -import { OsDiagnosticService } from "renderer/services/os-diagnostic.service"; import { useObservable } from "renderer/hooks/use-observable.hook"; import { useConstant } from "renderer/hooks/use-constant.hook"; import { MODEL_TYPES, MS_GET_QUERY_SORTS } from "shared/models/models/constants"; @@ -26,7 +25,6 @@ import { VirtualScroll } from "renderer/components/shared/virtual-scroll/virtual export const DownloadModelsModal: ModalComponent = ({ options: {data: { version, type, owned }} }) => { const modelsDownloader = useService(ModelsDownloaderService); const modelSaber = useService(ModelSaberService); - const os = useService(OsDiagnosticService); const t = useTranslation(); @@ -48,7 +46,6 @@ export const DownloadModelsModal: ModalComponent modelsDownloader.getQueue$(), []); const [msModels, msModels$] = useBehaviorSubject([]); const [renderableModels, setRenderableModels] = useState([]); - const isOnline = useObservable(() => os.isOnline$, true); const [error, error$] = useBehaviorSubject(false); const [isLoading, isLoading$] = useBehaviorSubject(false); const [ownedModels, setOwnedModels] = useState(owned ?? []); @@ -197,13 +194,7 @@ export const DownloadModelsModal: ModalComponent{t("models.panel.grid.loading")}; } - if (isOnline) { - return {t("models.modals.download-models.no-models")}; - } - if (!isOnline) { - return {t("models.modals.download-models.no-internet")}; - } - return {t("models.modals.download-models.error-occured")}; + return {t("models.modals.download-models.no-models")}; }; return ( diff --git a/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx b/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx index d8ac7b6b..9a0f6cbb 100644 --- a/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx +++ b/src/renderer/components/version-viewer/slides/mods/mods-slide.component.tsx @@ -7,13 +7,11 @@ import { ConfigurationService } from "renderer/services/configuration.service"; import { BsmButton } from "renderer/components/shared/bsm-button.component"; import BeatWaitingImg from "../../../../../../assets/images/apngs/beat-waiting.png"; import BeatConflictImg from "../../../../../../assets/images/apngs/beat-conflict.png"; -import { useObservable } from "renderer/hooks/use-observable.hook"; import { lastValueFrom } from "rxjs"; import { useTranslationV2 } from "renderer/hooks/use-translation.hook"; import { LinkOpenerService } from "renderer/services/link-opener.service"; import { ModalExitCode, ModalService } from "renderer/services/modale.service"; import { ModsDisclaimerModal } from "renderer/components/modal/modal-types/mods-disclaimer-modal.component"; -import { OsDiagnosticService } from "renderer/services/os-diagnostic.service"; import { lt } from "semver"; import { useService } from "renderer/hooks/use-service.hook"; import { NotificationService } from "renderer/services/notification.service"; @@ -42,7 +40,6 @@ export const ModsSlide = forwardRef(({ version, isActive, o const notification = useService(NotificationService); const linkOpener = useService(LinkOpenerService); const modals = useService(ModalService); - const os = useService(OsDiagnosticService); const progress = useService(ProgressBarService); const [gridStatus, setGridStatus] = useState(ModsGridStatus.OK); @@ -51,7 +48,6 @@ export const ModsSlide = forwardRef(({ version, isActive, o const [modsSelected, setModsSelected] = useState([] as BbmFullMod[]); const [moreInfoMod, setMoreInfoMod] = useState(null as BbmFullMod); const [reinstallAllMods, setReinstallAllMods] = useState(false); - const isOnline = useObservable(() => os.isOnline$); const [installing, setInstalling] = useState(false); const [uninstalling, setUninstalling] = useState(false); const [modsDropZoneOpen, setModsDropZoneOpen] = useState(false); @@ -205,7 +201,7 @@ export const ModsSlide = forwardRef(({ version, isActive, o } const loadMods = async (): Promise => { - if (os.isOffline || gridStatus !== ModsGridStatus.OK) { + if (gridStatus !== ModsGridStatus.OK) { return Promise.resolve(); } @@ -224,7 +220,7 @@ export const ModsSlide = forwardRef(({ version, isActive, o useEffect(() => { - if(!isActive || !isOnline){ + if(!isActive){ return noop(); } @@ -245,7 +241,7 @@ export const ModsSlide = forwardRef(({ version, isActive, o setModsInstalled(null); setGridStatus(ModsGridStatus.OK); }; - }, [isActive, isOnline, version]); + }, [isActive, version]); useEffect(() => { // Center the progress bar between buttons @@ -289,9 +285,6 @@ export const ModsSlide = forwardRef(({ version, isActive, o } const renderContent = () => { - if (!isOnline) { - return ; - } if (gridStatus !== ModsGridStatus.OK) { return renderStatus(); } diff --git a/src/renderer/services/maps-downloader.service.ts b/src/renderer/services/maps-downloader.service.ts index 32218cb7..51e7a118 100644 --- a/src/renderer/services/maps-downloader.service.ts +++ b/src/renderer/services/maps-downloader.service.ts @@ -7,7 +7,6 @@ import { ProgressBarService } from "./progress-bar.service"; import { ProgressionInterface } from "shared/models/progress-bar"; import { BsvMapDetail } from "shared/models/maps"; import { IpcService } from "./ipc.service"; -import { OsDiagnosticService } from "./os-diagnostic.service"; import equal from "fast-deep-equal/es6"; import { CSSProperties } from "react"; import { BsmLocalMap } from "shared/models/maps/bsm-local-map.interface"; @@ -25,7 +24,6 @@ export class MapsDownloaderService { private readonly modals: ModalService; private readonly progressBar: ProgressBarService; private readonly ipc: IpcService; - private readonly os: OsDiagnosticService; private readonly mapsQueue$: BehaviorSubject = new BehaviorSubject([]); private readonly currentDownload$: BehaviorSubject = new BehaviorSubject(null); @@ -38,7 +36,6 @@ export class MapsDownloaderService { this.modals = ModalService.getInstance(); this.progressBar = ProgressBarService.getInstance(); this.ipc = IpcService.getInstance(); - this.os = OsDiagnosticService.getInstance(); this.mapsQueue$.pipe(filter(queue => queue.length === 1 && !this.isDownloading)).subscribe(() => this.startDownloadMaps()); this.mapsQueue$.pipe(filter(queue => queue.length === 0)).subscribe(() => { @@ -68,9 +65,6 @@ export class MapsDownloaderService { } private downloadMap(map: BsvMapDetail, version: BSVersion): Observable { - if (this.os.isOffline) { - return null; - } return this.ipc.sendV2("bs-maps.download-map", { map, version }); } diff --git a/src/renderer/services/os-diagnostic.service.ts b/src/renderer/services/os-diagnostic.service.ts deleted file mode 100644 index 1688fd03..00000000 --- a/src/renderer/services/os-diagnostic.service.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BehaviorSubject } from "rxjs"; - -export class OsDiagnosticService { - private static instance: OsDiagnosticService; - - public static getInstance(): OsDiagnosticService { - if (!OsDiagnosticService.instance) { - OsDiagnosticService.instance = new OsDiagnosticService(); - } - return OsDiagnosticService.instance; - } - - private _isOnline$ = new BehaviorSubject(navigator.onLine); - - private constructor() { - window.addEventListener("online", () => this._isOnline$.next(true)); - window.addEventListener("offline", () => this._isOnline$.next(false)); - } - - public get isOnline() { - return this._isOnline$.value; - } - public get isOffline() { - return !this._isOnline$.value; - } - public get isOnline$() { - return this._isOnline$.asObservable(); - } -} diff --git a/src/renderer/windows/App.tsx b/src/renderer/windows/App.tsx index e49e56e7..30e26843 100644 --- a/src/renderer/windows/App.tsx +++ b/src/renderer/windows/App.tsx @@ -20,7 +20,6 @@ import { ModelsManagerService } from "renderer/services/models-management/models import { NotificationService } from "renderer/services/notification.service"; import { timer } from "rxjs"; import { ConfigurationService } from "renderer/services/configuration.service"; -import { OsDiagnosticService } from "renderer/services/os-diagnostic.service"; import { useService } from "renderer/hooks/use-service.hook"; import { SetupService } from "renderer/services/setup.service"; import { StaticConfigurationService } from "renderer/services/static-configuration.service"; @@ -28,7 +27,6 @@ import { BSVersionManagerService } from "renderer/services/bs-version-manager.se export default function App() { - useService(OsDiagnosticService); const pageState = useService(PageStateService); const maps = useService(MapsManagerService); const playlists = useService(PlaylistsManagerService);