From cdd18a8ce26e949bc4fd43669e3c30c85fbe5300 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sun, 26 May 2024 21:49:32 -0300 Subject: [PATCH 1/3] feat: remove splash and add new subheader to request user to restart and install update --- .../events/autoupdater/check-for-updates.ts | 22 +-- .../autoupdater/continue-to-main-window.ts | 12 -- .../autoupdater/restart-and-install-update.ts | 5 +- src/main/events/index.ts | 1 - src/main/index.ts | 2 +- src/main/services/window-manager.ts | 52 +----- src/preload/index.ts | 3 +- .../src/components/header/header.css.ts | 18 +++ src/renderer/src/components/header/header.tsx | 151 ++++++++++++------ src/renderer/src/declaration.d.ts | 3 +- src/renderer/src/main.tsx | 2 - src/renderer/src/pages/splash/splash.css.ts | 49 ------ src/renderer/src/pages/splash/splash.tsx | 82 ---------- src/types/index.ts | 9 +- 14 files changed, 131 insertions(+), 280 deletions(-) delete mode 100644 src/main/events/autoupdater/continue-to-main-window.ts delete mode 100644 src/renderer/src/pages/splash/splash.css.ts delete mode 100644 src/renderer/src/pages/splash/splash.tsx diff --git a/src/main/events/autoupdater/check-for-updates.ts b/src/main/events/autoupdater/check-for-updates.ts index aa63575f..b6487f47 100644 --- a/src/main/events/autoupdater/check-for-updates.ts +++ b/src/main/events/autoupdater/check-for-updates.ts @@ -1,41 +1,27 @@ import { AppUpdaterEvents } from "@types"; import { registerEvent } from "../register-event"; -import updater, { ProgressInfo, UpdateInfo } from "electron-updater"; +import updater, { UpdateInfo } from "electron-updater"; import { WindowManager } from "@main/services"; import { app } from "electron"; const { autoUpdater } = updater; const sendEvent = (event: AppUpdaterEvents) => { - WindowManager.splashWindow?.webContents.send("autoUpdaterEvent", event); + WindowManager.mainWindow?.webContents.send("autoUpdaterEvent", event); }; const mockValuesForDebug = async () => { - sendEvent({ type: "update-downloaded" }); + sendEvent({ type: "update-available", info: { version: "1.3.0" } }); + // sendEvent({ type: "update-downloaded" }); }; const checkForUpdates = async (_event: Electron.IpcMainInvokeEvent) => { autoUpdater - .addListener("error", () => { - sendEvent({ type: "error" }); - }) - .addListener("checking-for-update", () => { - sendEvent({ type: "checking-for-updates" }); - }) - .addListener("update-not-available", () => { - sendEvent({ type: "update-not-available" }); - }) .addListener("update-available", (info: UpdateInfo) => { sendEvent({ type: "update-available", info }); }) .addListener("update-downloaded", () => { sendEvent({ type: "update-downloaded" }); - }) - .addListener("download-progress", (info: ProgressInfo) => { - sendEvent({ type: "download-progress", info }); - }) - .addListener("update-cancelled", () => { - sendEvent({ type: "update-cancelled" }); }); if (app.isPackaged) { diff --git a/src/main/events/autoupdater/continue-to-main-window.ts b/src/main/events/autoupdater/continue-to-main-window.ts deleted file mode 100644 index 6a8965f9..00000000 --- a/src/main/events/autoupdater/continue-to-main-window.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { WindowManager } from "@main/services"; -import { registerEvent } from "../register-event"; -import updater from "electron-updater"; - -const { autoUpdater } = updater; - -const continueToMainWindow = async (_event: Electron.IpcMainInvokeEvent) => { - autoUpdater.removeAllListeners(); - WindowManager.prepareMainWindowAndCloseSplash(); -}; - -registerEvent("continueToMainWindow", continueToMainWindow); diff --git a/src/main/events/autoupdater/restart-and-install-update.ts b/src/main/events/autoupdater/restart-and-install-update.ts index be301c18..2dbef98f 100644 --- a/src/main/events/autoupdater/restart-and-install-update.ts +++ b/src/main/events/autoupdater/restart-and-install-update.ts @@ -1,16 +1,13 @@ import { app } from "electron"; import { registerEvent } from "../register-event"; import updater from "electron-updater"; -import { WindowManager } from "@main/services"; const { autoUpdater } = updater; const restartAndInstallUpdate = async (_event: Electron.IpcMainInvokeEvent) => { + autoUpdater.removeAllListeners(); if (app.isPackaged) { autoUpdater.quitAndInstall(true, true); - } else { - autoUpdater.removeAllListeners(); - WindowManager.prepareMainWindowAndCloseSplash(); } }; diff --git a/src/main/events/index.ts b/src/main/events/index.ts index debca0e4..ae29d7b8 100644 --- a/src/main/events/index.ts +++ b/src/main/events/index.ts @@ -29,7 +29,6 @@ import "./user-preferences/update-user-preferences"; import "./user-preferences/auto-launch"; import "./autoupdater/check-for-updates"; import "./autoupdater/restart-and-install-update"; -import "./autoupdater/continue-to-main-window"; ipcMain.handle("ping", () => "pong"); ipcMain.handle("getVersion", () => app.getVersion()); diff --git a/src/main/index.ts b/src/main/index.ts index 22c13388..c56903dd 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -64,7 +64,7 @@ app.whenReady().then(() => { where: { id: 1 }, }); - WindowManager.createSplashScreen(); + WindowManager.createMainWindow(); WindowManager.createSystemTray(userPreferences?.language || "en"); }); }); diff --git a/src/main/services/window-manager.ts b/src/main/services/window-manager.ts index 7b2c87b7..1c46ebce 100644 --- a/src/main/services/window-manager.ts +++ b/src/main/services/window-manager.ts @@ -17,9 +17,6 @@ import { IsNull, Not } from "typeorm"; export class WindowManager { public static mainWindow: Electron.BrowserWindow | null = null; - public static splashWindow: Electron.BrowserWindow | null = null; - public static isReadyToShowMainWindow = false; - private static isMainMaximized = false; private static loadURL(hash = "") { // HMR for renderer base on electron-vite cli. @@ -38,48 +35,8 @@ export class WindowManager { } } - private static loadSplashURL() { - // HMR for renderer base on electron-vite cli. - // Load the remote URL for development or the local html file for production. - if (is.dev && process.env["ELECTRON_RENDERER_URL"]) { - this.splashWindow?.loadURL( - `${process.env["ELECTRON_RENDERER_URL"]}#/splash` - ); - } else { - this.splashWindow?.loadFile( - path.join(__dirname, "../renderer/index.html"), - { - hash: "splash", - } - ); - } - } - - public static createSplashScreen() { - if (this.splashWindow) return; - - this.splashWindow = new BrowserWindow({ - width: 380, - height: 380, - frame: false, - resizable: false, - backgroundColor: "#1c1c1c", - webPreferences: { - preload: path.join(__dirname, "../preload/index.mjs"), - sandbox: false, - }, - }); - - this.loadSplashURL(); - this.splashWindow.removeMenu(); - if (this.splashWindow?.isMaximized()) { - this.splashWindow?.unmaximize(); - this.isMainMaximized = true; - } - } - public static createMainWindow() { - if (this.mainWindow || !this.isReadyToShowMainWindow) return; + if (this.mainWindow) return; this.mainWindow = new BrowserWindow({ width: 1200, @@ -104,7 +61,6 @@ export class WindowManager { this.loadURL(); this.mainWindow.removeMenu(); - if (this.isMainMaximized) this.mainWindow?.maximize(); this.mainWindow.on("ready-to-show", () => { if (!app.isPackaged) WindowManager.mainWindow?.webContents.openDevTools(); @@ -123,12 +79,6 @@ export class WindowManager { }); } - public static prepareMainWindowAndCloseSplash() { - this.isReadyToShowMainWindow = true; - this.splashWindow?.close(); - this.createMainWindow(); - } - public static redirect(hash: string) { if (!this.mainWindow) this.createMainWindow(); this.loadURL(hash); diff --git a/src/preload/index.ts b/src/preload/index.ts index 4ddf5009..90a753a8 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -114,7 +114,7 @@ contextBridge.exposeInMainWorld("electron", { ipcRenderer.invoke("showOpenDialog", options), platform: process.platform, - /* Splash */ + /* Auto update */ onAutoUpdaterEvent: (cb: (value: AppUpdaterEvents) => void) => { const listener = ( _event: Electron.IpcRendererEvent, @@ -129,5 +129,4 @@ contextBridge.exposeInMainWorld("electron", { }, checkForUpdates: () => ipcRenderer.invoke("checkForUpdates"), restartAndInstallUpdate: () => ipcRenderer.invoke("restartAndInstallUpdate"), - continueToMainWindow: () => ipcRenderer.invoke("continueToMainWindow"), }); diff --git a/src/renderer/src/components/header/header.css.ts b/src/renderer/src/components/header/header.css.ts index 705b533e..b6b65182 100644 --- a/src/renderer/src/components/header/header.css.ts +++ b/src/renderer/src/components/header/header.css.ts @@ -145,3 +145,21 @@ export const title = recipe({ }, }, }); + +export const subheader = style({ + borderBottom: `solid 1px ${vars.color.border}`, + padding: `${SPACING_UNIT / 2}px ${SPACING_UNIT * 3}px`, +}); + +export const newVersionButton = style({ + display: "flex", + alignItems: "center", + justifyContent: "center", + gap: `${SPACING_UNIT}px`, + color: vars.color.bodyText, + borderBottom: "1px solid transparent", + ":hover": { + borderBottom: `1px solid ${vars.color.bodyText}`, + cursor: "pointer", + }, +}); diff --git a/src/renderer/src/components/header/header.tsx b/src/renderer/src/components/header/header.tsx index ea363c00..ca596854 100644 --- a/src/renderer/src/components/header/header.tsx +++ b/src/renderer/src/components/header/header.tsx @@ -1,12 +1,19 @@ import { useTranslation } from "react-i18next"; import { useEffect, useMemo, useRef, useState } from "react"; import { useLocation, useNavigate } from "react-router-dom"; -import { ArrowLeftIcon, SearchIcon, XIcon } from "@primer/octicons-react"; +import { + ArrowLeftIcon, + SearchIcon, + SyncIcon, + XIcon, +} from "@primer/octicons-react"; import { useAppDispatch, useAppSelector } from "@renderer/hooks"; import * as styles from "./header.css"; import { clearSearch } from "@renderer/features"; +import { Button } from "../button/button"; +import { AppUpdaterEvents } from "@types"; export interface HeaderProps { onSearch: (query: string) => void; @@ -34,6 +41,9 @@ export function Header({ onSearch, onClear, search }: HeaderProps) { const [isFocused, setIsFocused] = useState(false); + const [showUpdateSubheader, setShowUpdateSubheader] = useState(false); + const [newVersion, setNewVersion] = useState(""); + const { t } = useTranslation("header"); const title = useMemo(() => { @@ -49,6 +59,30 @@ export function Header({ onSearch, onClear, search }: HeaderProps) { } }, [location.pathname, search, dispatch]); + const handleClickRestartAndUpdate = () => { + window.electron.restartAndInstallUpdate(); + }; + + useEffect(() => { + const unsubscribe = window.electron.onAutoUpdaterEvent( + (event: AppUpdaterEvents) => { + if (event.type == "update-available") { + setNewVersion(event.info.version || ""); + } + + if (event.type == "update-downloaded") { + setShowUpdateSubheader(true); + } + } + ); + + window.electron.checkForUpdates(); + + return () => { + unsubscribe(); + }; + }); + const focusInput = () => { setIsFocused(true); inputRef.current?.focus(); @@ -63,64 +97,83 @@ export function Header({ onSearch, onClear, search }: HeaderProps) { }; return ( -
-
- - -

- {title} -

-
- -
-
+ <> +
+
- onSearch(event.target.value)} - onFocus={() => setIsFocused(true)} - onBlur={handleBlur} - /> +

+ {title} +

+
- {search && ( +
+
- )} -
-
-
+ + onSearch(event.target.value)} + onFocus={() => setIsFocused(true)} + onBlur={handleBlur} + /> + + {search && ( + + )} +
+
+
+ {showUpdateSubheader && ( +
+ +
+ )} + ); } diff --git a/src/renderer/src/declaration.d.ts b/src/renderer/src/declaration.d.ts index 608f21a0..727f993d 100644 --- a/src/renderer/src/declaration.d.ts +++ b/src/renderer/src/declaration.d.ts @@ -92,13 +92,12 @@ declare global { ) => Promise; platform: NodeJS.Platform; - /* Splash */ + /* Auto update */ onAutoUpdaterEvent: ( cb: (event: AppUpdaterEvents) => void ) => () => Electron.IpcRenderer; checkForUpdates: () => Promise; restartAndInstallUpdate: () => Promise; - continueToMainWindow: () => Promise; } interface Window { diff --git a/src/renderer/src/main.tsx b/src/renderer/src/main.tsx index 3608af8d..a457592e 100644 --- a/src/renderer/src/main.tsx +++ b/src/renderer/src/main.tsx @@ -27,7 +27,6 @@ import { import { store } from "./store"; import * as resources from "@locales"; -import Splash from "./pages/splash/splash"; i18n .use(LanguageDetector) @@ -48,7 +47,6 @@ ReactDOM.createRoot(document.getElementById("root")!).render( - }> diff --git a/src/renderer/src/pages/splash/splash.css.ts b/src/renderer/src/pages/splash/splash.css.ts deleted file mode 100644 index 36aacfff..00000000 --- a/src/renderer/src/pages/splash/splash.css.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { style } from "@vanilla-extract/css"; -import { SPACING_UNIT, vars } from "../../theme.css"; - -export const main = style({ - width: "100%", - height: "100%", - display: "flex", - flexDirection: "column", - padding: `${SPACING_UNIT * 3}px`, - flex: "1", - overflowY: "auto", - alignItems: "center", -}); - -export const splashIcon = style({ - width: "75%", -}); - -export const updateInfoSection = style({ - width: "100%", - display: "flex", - flexDirection: "column", - gap: `${SPACING_UNIT * 2}px`, - flex: "1", - overflowY: "auto", - alignItems: "center", - justifyContent: "center", -}); - -export const progressBar = style({ - WebkitAppearance: "none", - appearance: "none", - borderRadius: "4px", - width: "100%", - border: `solid 1px ${vars.color.border}`, - overflow: "hidden", - height: "18px", - "::-webkit-progress-value": { - backgroundColor: vars.color.muted, - transition: "width 0.2s", - }, - "::-webkit-progress-bar": { - backgroundColor: vars.color.darkBackground, - }, -}); - -export const progressBarText = style({ - zIndex: 2, -}); diff --git a/src/renderer/src/pages/splash/splash.tsx b/src/renderer/src/pages/splash/splash.tsx deleted file mode 100644 index dec308c4..00000000 --- a/src/renderer/src/pages/splash/splash.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import icon from "@renderer/assets/icon.png"; -import * as styles from "./splash.css"; -import { themeClass } from "../../theme.css"; - -import "../../app.css"; -import { useEffect, useState } from "react"; -import { AppUpdaterEvents } from "@types"; -import { useTranslation } from "react-i18next"; - -document.body.classList.add(themeClass); - -export default function Splash() { - const [status, setStatus] = useState(null); - const [newVersion, setNewVersion] = useState(""); - - const { t } = useTranslation("splash"); - - useEffect(() => { - const unsubscribe = window.electron.onAutoUpdaterEvent( - (event: AppUpdaterEvents) => { - setStatus(event); - - switch (event.type) { - case "error": - window.electron.continueToMainWindow(); - break; - case "update-available": - setNewVersion(event.info.version); - break; - case "update-cancelled": - window.electron.continueToMainWindow(); - break; - case "update-downloaded": - window.electron.restartAndInstallUpdate(); - break; - case "update-not-available": - window.electron.continueToMainWindow(); - break; - } - } - ); - - window.electron.checkForUpdates(); - - return () => { - unsubscribe(); - }; - }, []); - - const renderUpdateInfo = () => { - switch (status?.type) { - case "download-progress": - return ( - <> -

{t("downloading_version", { version: newVersion })}

- - - ); - case "checking-for-updates": - return

{t("searching_updates")}

; - case "update-available": - return

{t("update_found", { version: newVersion })}

; - case "update-downloaded": - return

{t("restarting_and_applying")}

; - default: - return <>; - } - }; - - return ( -
- Hydra Launcher Logo -
- {renderUpdateInfo()} -
-
- ); -} diff --git a/src/types/index.ts b/src/types/index.ts index 0abce31f..19ff2c75 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -146,10 +146,5 @@ export interface SteamGame { } export type AppUpdaterEvents = - | { type: "error" } - | { type: "checking-for-updates" } - | { type: "update-not-available" } - | { type: "update-available"; info: UpdateInfo } - | { type: "update-downloaded" } - | { type: "download-progress"; info: ProgressInfo } - | { type: "update-cancelled" }; + | { type: "update-available"; info: Partial } + | { type: "update-downloaded" }; From 1299eecc12e138072fc8db041ac16467db926f91 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sun, 26 May 2024 22:06:59 -0300 Subject: [PATCH 2/3] remove unused import --- src/renderer/src/components/header/header.tsx | 3 +-- src/types/index.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/components/header/header.tsx b/src/renderer/src/components/header/header.tsx index ca596854..19ce89a9 100644 --- a/src/renderer/src/components/header/header.tsx +++ b/src/renderer/src/components/header/header.tsx @@ -12,7 +12,6 @@ import { useAppDispatch, useAppSelector } from "@renderer/hooks"; import * as styles from "./header.css"; import { clearSearch } from "@renderer/features"; -import { Button } from "../button/button"; import { AppUpdaterEvents } from "@types"; export interface HeaderProps { @@ -166,7 +165,7 @@ export function Header({ onSearch, onClear, search }: HeaderProps) { className={styles.newVersionButton} onClick={handleClickRestartAndUpdate} > - + New version {newVersion} available. Click here to restart and install diff --git a/src/types/index.ts b/src/types/index.ts index 19ff2c75..958708f2 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,5 +1,5 @@ import type { Downloader, GameStatus } from "@shared"; -import { ProgressInfo, UpdateInfo } from "electron-updater"; +import { UpdateInfo } from "electron-updater"; export type GameShop = "steam" | "epic"; export type CatalogueCategory = "recently_added" | "trending"; From bd9b4d3385d7767c146b81491ba1ef2dc49aee2e Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sun, 26 May 2024 22:25:09 -0300 Subject: [PATCH 3/3] update locales --- src/locales/en/translation.json | 9 ++------- src/locales/es/translation.json | 6 ------ src/locales/it/translation.json | 6 ------ src/locales/pt/translation.json | 3 ++- src/locales/ru/translation.json | 6 ------ src/locales/zh/translation.json | 6 ------ src/renderer/src/assets/icon.png | Bin 60066 -> 0 bytes src/renderer/src/components/header/header.tsx | 5 +---- 8 files changed, 5 insertions(+), 36 deletions(-) delete mode 100644 src/renderer/src/assets/icon.png diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 1c948ba8..525d7803 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -29,7 +29,8 @@ "catalogue": "Catalogue", "downloads": "Downloads", "search_results": "Search results", - "settings": "Settings" + "settings": "Settings", + "version_available": "Version {{version}} available. Click here to restart and install." }, "bottom_panel": { "no_downloads_in_progress": "No downloads in progress", @@ -176,11 +177,5 @@ }, "modal": { "close": "Close button" - }, - "splash": { - "downloading_version": "Downloading version {{version}}", - "searching_updates": "Searching for updates", - "update_found": "Update {{version}} found", - "restarting_and_applying": "Restarting and applying update" } } diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 3a8f3343..b2e21889 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -176,11 +176,5 @@ }, "modal": { "close": "Botón de cierre" - }, - "splash": { - "downloading_version": "Descargando versión {{version}}", - "searching_updates": "Buscando actualizaciones", - "update_found": "Actualización {{version}} encontrada", - "restarting_and_applying": "Reiniciando y aplicando actualización" } } diff --git a/src/locales/it/translation.json b/src/locales/it/translation.json index dc385156..e7c14f8c 100644 --- a/src/locales/it/translation.json +++ b/src/locales/it/translation.json @@ -176,11 +176,5 @@ }, "modal": { "close": "Pulsante Chiudi" - }, - "splash": { - "downloading_version": "Scaricando la versione {{version}}", - "searching_updates": "Ricerca di aggiornamenti", - "update_found": "Trovato aggiornamento {{version}}", - "restarting_and_applying": "Riavvio e applico l'aggiornamento" } } diff --git a/src/locales/pt/translation.json b/src/locales/pt/translation.json index 6894fb7c..7124f726 100644 --- a/src/locales/pt/translation.json +++ b/src/locales/pt/translation.json @@ -29,7 +29,8 @@ "downloads": "Downloads", "search_results": "Resultados da busca", "settings": "Configurações", - "home": "Início" + "home": "Início", + "version_available": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar." }, "bottom_panel": { "no_downloads_in_progress": "Sem downloads em andamento", diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index 6094cb21..f7a80771 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -176,11 +176,5 @@ }, "modal": { "close": "Закрыть" - }, - "splash": { - "downloading_version": "Загрузка версии {{version}}", - "searching_updates": "Поиск обновлений", - "update_found": "Найдена новая версия {{version}}", - "restarting_and_applying": "Перезапуск и внесение изменений" } } diff --git a/src/locales/zh/translation.json b/src/locales/zh/translation.json index 8481362a..134e83a1 100644 --- a/src/locales/zh/translation.json +++ b/src/locales/zh/translation.json @@ -174,11 +174,5 @@ }, "modal": { "close": "关闭按钮" - }, - "splash": { - "downloading_version": "正在下载新版本 {{version}}", - "searching_updates": "检查更新...", - "update_found": "有新版本 {{version}} 可用", - "restarting_and_applying": "重启并应用更新" } } diff --git a/src/renderer/src/assets/icon.png b/src/renderer/src/assets/icon.png deleted file mode 100644 index 9254a8fb57e30b8718d1fabf78cb311d01909174..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60066 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≫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 - - New version {newVersion} available. Click here to restart and - install - + {t("version_available", { version: newVersion })} )}