diff --git a/src/main/events/library/open-game-installer.ts b/src/main/events/library/open-game-installer.ts index ed473481..9cf1d978 100644 --- a/src/main/events/library/open-game-installer.ts +++ b/src/main/events/library/open-game-installer.ts @@ -34,7 +34,7 @@ const openGameInstaller = async ( const gamePath = path.join( download.downloadPath ?? (await getDownloadsPath()), - download.folderName! + download.folderName ); if (!fs.existsSync(gamePath)) { diff --git a/src/main/services/download/download-manager.ts b/src/main/services/download/download-manager.ts index 184cc80d..8c7395e5 100644 --- a/src/main/services/download/download-manager.ts +++ b/src/main/services/download/download-manager.ts @@ -256,7 +256,7 @@ export class DownloadManager { switch (download.downloader) { case Downloader.Gofile: { - const id = download.uri!.split("/").pop(); + const id = download.uri.split("/").pop(); const token = await GofileApi.authorize(); const downloadLink = await GofileApi.getDownloadLink(id!); @@ -264,53 +264,51 @@ export class DownloadManager { action: "start", game_id: downloadId, url: downloadLink, - save_path: download.downloadPath!, + save_path: download.downloadPath, header: `Cookie: accountToken=${token}`, }; } case Downloader.PixelDrain: { - const id = download.uri!.split("/").pop(); + const id = download.uri.split("/").pop(); return { action: "start", game_id: downloadId, url: `https://pixeldrain.com/api/file/${id}?download`, - save_path: download.downloadPath!, + save_path: download.downloadPath, }; } case Downloader.Qiwi: { - const downloadUrl = await QiwiApi.getDownloadUrl(download.uri!); + const downloadUrl = await QiwiApi.getDownloadUrl(download.uri); return { action: "start", game_id: downloadId, url: downloadUrl, - save_path: download.downloadPath!, + save_path: download.downloadPath, }; } case Downloader.Datanodes: { - const downloadUrl = await DatanodesApi.getDownloadUrl(download.uri!); + const downloadUrl = await DatanodesApi.getDownloadUrl(download.uri); return { action: "start", game_id: downloadId, url: downloadUrl, - save_path: download.downloadPath!, + save_path: download.downloadPath, }; } case Downloader.Torrent: return { action: "start", game_id: downloadId, - url: download.uri!, - save_path: download.downloadPath!, + url: download.uri, + save_path: download.downloadPath, }; case Downloader.RealDebrid: { - const downloadUrl = await RealDebridClient.getDownloadUrl( - download.uri! - ); + const downloadUrl = await RealDebridClient.getDownloadUrl(download.uri); return { action: "start", game_id: downloadId, - url: downloadUrl!, - save_path: download.downloadPath!, + url: downloadUrl, + save_path: download.downloadPath, }; } } diff --git a/src/renderer/src/components/dropdown-menu/dropdown-menu.tsx b/src/renderer/src/components/dropdown-menu/dropdown-menu.tsx index 14531868..79446e72 100644 --- a/src/renderer/src/components/dropdown-menu/dropdown-menu.tsx +++ b/src/renderer/src/components/dropdown-menu/dropdown-menu.tsx @@ -6,7 +6,7 @@ export interface DropdownMenuItem { label: string; disabled?: boolean; show?: boolean; - onClick?: () => void; + onClick?: () => void | Promise; } interface DropdownMenuProps { diff --git a/src/renderer/src/context/game-details/game-details.context.tsx b/src/renderer/src/context/game-details/game-details.context.tsx index d9429327..da7fd1e8 100644 --- a/src/renderer/src/context/game-details/game-details.context.tsx +++ b/src/renderer/src/context/game-details/game-details.context.tsx @@ -68,7 +68,7 @@ export function GameDetailsContextProvider({ objectId, gameTitle, shop, -}: GameDetailsContextProps) { +}: Readonly) { const [shopDetails, setShopDetails] = useState(null); const [achievements, setAchievements] = useState( null @@ -101,7 +101,7 @@ export function GameDetailsContextProvider({ const updateGame = useCallback(async () => { return window.electron - .getGameByObjectId(shop, objectId!) + .getGameByObjectId(shop, objectId) .then((result) => setGame(result)); }, [setGame, shop, objectId]); @@ -194,7 +194,7 @@ export function GameDetailsContextProvider({ const lastDownloadedOption = useMemo(() => { if (game?.download) { const repack = repacks.find((repack) => - repack.uris.some((uri) => uri.includes(game.download!.uri!)) + repack.uris.some((uri) => uri.includes(game.download!.uri)) ); if (!repack) return null; @@ -252,7 +252,7 @@ export function GameDetailsContextProvider({ value={{ game, shopDetails, - shop: shop as GameShop, + shop, repacks, gameTitle, isGameRunning, diff --git a/src/renderer/src/pages/downloads/download-group.tsx b/src/renderer/src/pages/downloads/download-group.tsx index 87440856..147451b6 100644 --- a/src/renderer/src/pages/downloads/download-group.tsx +++ b/src/renderer/src/pages/downloads/download-group.tsx @@ -45,7 +45,7 @@ export function DownloadGroup({ openDeleteGameModal, openGameInstaller, seedingStatus, -}: DownloadGroupProps) { +}: Readonly) { const navigate = useNavigate(); const { t } = useTranslation("downloads");