diff --git a/src/main/ipcs/window-manager-ipcs.ts b/src/main/ipcs/window-manager-ipcs.ts index b0551ddc..c94ae72c 100644 --- a/src/main/ipcs/window-manager-ipcs.ts +++ b/src/main/ipcs/window-manager-ipcs.ts @@ -9,4 +9,9 @@ ipcMain.on("open-window-then-close-all", async (event, request: IpcRequest { windowManager.closeAllWindows(request.args); }); +}); + +ipcMain.on("close-all-windows", async (event, request: IpcRequest) => { + const windowManager = WindowManagerService.getInstance(); + windowManager.closeAllWindows(request.args); }); \ No newline at end of file diff --git a/src/main/main.ts b/src/main/main.ts index a52dba5f..46270993 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -17,7 +17,6 @@ import { WindowManagerService } from './services/window-manager.service'; import { DeepLinkService } from './services/deep-link.service'; import { AppWindow } from 'shared/models/window-manager/app-window.model'; import { LocalMapsManagerService } from './services/maps/local-maps-manager.service'; -import { argv } from 'process'; export const PRELOAD_PATH = app.isPackaged ? path.join(__dirname, 'preload.js') : path.join(__dirname, '../../.erb/dll/preload.js') @@ -89,7 +88,7 @@ else{ app.whenReady().then(() => { - //process.argv.push("beatsaver://2d133"); + process.argv.push("web+bsmap://BDE6A1F8FC7008247443CF3F810BBD8E910DD839"); initServicesMustBeInitialized(); diff --git a/src/main/services/maps/local-maps-manager.service.ts b/src/main/services/maps/local-maps-manager.service.ts index 02499b9f..21c0a4a4 100644 --- a/src/main/services/maps/local-maps-manager.service.ts +++ b/src/main/services/maps/local-maps-manager.service.ts @@ -141,8 +141,6 @@ export class LocalMapsManagerService { this.windows.openWindow("oneclick-download-map.html"); - console.log("oui"); - ipcMain.once("one-click-map-info", async (event, req: IpcRequest) => { this.utils.ipcSend(req.responceChannel, {success: true, data: {id: mapId, isHash}}); }); diff --git a/src/renderer/components/shared/bsm-image.component.tsx b/src/renderer/components/shared/bsm-image.component.tsx index 719c212a..a4c606e5 100644 --- a/src/renderer/components/shared/bsm-image.component.tsx +++ b/src/renderer/components/shared/bsm-image.component.tsx @@ -16,10 +16,11 @@ export const BsmImage = forwardRef(({className, image, errorImage, placeholder, const [isLoaded, setIsLoaded] = useState(false); const styles: CSSProperties = (() => { - return { + return placeholder && { ...style, ...(!isLoaded && {backgroundImage: `url(${placeholder})`}), - ...(!isLoaded && {backgroundSize: "cover"}) + ...(!isLoaded && {backgroundSize: "cover"}), + ...(!isLoaded && {backgroundPosition: "center"}), } })(); diff --git a/src/renderer/index.css b/src/renderer/index.css index 083c99d9..bd9e9681 100644 --- a/src/renderer/index.css +++ b/src/renderer/index.css @@ -9,7 +9,7 @@ html, body{ margin: 0; padding: 0; - box-sizing: border-box; + } html.dark{ diff --git a/src/renderer/services/window-manager.service.ts b/src/renderer/services/window-manager.service.ts index 81101bf0..ca9126f3 100644 --- a/src/renderer/services/window-manager.service.ts +++ b/src/renderer/services/window-manager.service.ts @@ -20,6 +20,8 @@ export class WindowManagerService{ this.ipcService.sendLazy("open-window-then-close-all", {args: window}); } - + public closeAll(except?: AppWindow){ + this.ipcService.sendLazy("close-all-windows", {args: except}); + } } \ No newline at end of file diff --git a/src/renderer/windows/OneClick/OneClickDownloadMap.tsx b/src/renderer/windows/OneClick/OneClickDownloadMap.tsx index 1dc70546..34508dd3 100644 --- a/src/renderer/windows/OneClick/OneClickDownloadMap.tsx +++ b/src/renderer/windows/OneClick/OneClickDownloadMap.tsx @@ -7,6 +7,7 @@ import { MapsDownloaderService } from "renderer/services/maps-downloader.service import { ProgressBarService } from "renderer/services/progress-bar.service"; import { ThemeService } from "renderer/services/theme.service"; import { BeatSaverService } from "renderer/services/thrird-partys/beat-saver.service"; +import { WindowManagerService } from "renderer/services/window-manager.service"; import { BsvMapDetail } from "shared/models/maps"; import defaultImage from '../../../../assets/images/default-version-img.jpg' @@ -17,6 +18,7 @@ export default function OneClickDownloadMap() { const mapsDownloader = MapsDownloaderService.getInstance(); const themeService = ThemeService.getInstance(); const progressBar = ProgressBarService.getInstance(); + const windows = WindowManagerService.getInstance(); const [mapInfo, setMapInfo] = useState(null); @@ -30,25 +32,30 @@ export default function OneClickDownloadMap() { }); progressBar.open(); - - ipc.send<{id: string, isHash: boolean}>("one-click-map-info").then(res => { - console.log(res); - - if(res.data.isHash){ - return bsv.getMapDetailsFromHashs([res.data.id]).then(res => setMapInfo(() => res.at(0))); - } - - bsv.getMapDetailsById(res.data.id).then(async map => { + const promise = new Promise(async (resolve, reject) => { + + try{ + const ipcRes = await ipc.send<{id: string, isHash: boolean}>("one-click-map-info"); + + if(!ipcRes.success){ return reject(ipcRes.error); } + + const mapDetails = ipcRes.data.isHash ? (await bsv.getMapDetailsFromHashs([ipcRes.data.id])).at(0) : await bsv.getMapDetailsById(ipcRes.data.id); - setMapInfo(() => map); + setMapInfo(() => mapDetails); + + await mapsDownloader.oneClickInstallMap(mapDetails); - mapsDownloader.oneClickInstallMap(map).finally(() => ipc.sendLazy('window.close')); - - }); - + resolve(); + } + catch(e){ + reject(e); + } + }); + promise.finally(() => {}); + return () => { sub.unsubscribe(); } @@ -60,12 +67,10 @@ export default function OneClickDownloadMap() { return (
-
- -
-
+ +
- +

{mapInfo?.name ?? "Chargement de la map..."}