From 3ed9c367ea386bf6ffa2add8f000541bd441c25d Mon Sep 17 00:00:00 2001 From: Guilherme Viana Date: Fri, 19 Apr 2024 16:47:07 -0300 Subject: [PATCH] refactor/sidebar-socials: refactor & adjust code --- src/main/events/index.ts | 2 +- src/main/events/misc/open-external-url.ts | 19 ------ src/main/events/misc/open-external.ts | 9 +++ src/preload.ts | 2 +- src/renderer/components/sidebar/sidebar.tsx | 65 ++++++++++----------- src/renderer/declaration.d.ts | 2 +- 6 files changed, 42 insertions(+), 57 deletions(-) delete mode 100644 src/main/events/misc/open-external-url.ts create mode 100644 src/main/events/misc/open-external.ts diff --git a/src/main/events/index.ts b/src/main/events/index.ts index 0de70377..5eaceff5 100644 --- a/src/main/events/index.ts +++ b/src/main/events/index.ts @@ -18,7 +18,7 @@ import "./library/open-game"; import "./library/open-game-installer"; import "./library/remove-game"; import "./misc/get-or-cache-image"; -import "./misc/open-external-url"; +import "./misc/open-external"; import "./misc/show-open-dialog"; import "./torrenting/cancel-game-download"; import "./torrenting/pause-game-download"; diff --git a/src/main/events/misc/open-external-url.ts b/src/main/events/misc/open-external-url.ts deleted file mode 100644 index 748e580a..00000000 --- a/src/main/events/misc/open-external-url.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { BrowserWindow, app, shell } from "electron"; -import { registerEvent } from "../register-event"; - -let mainWindow: BrowserWindow | null = null; - -app.on("ready", () => { - mainWindow = new BrowserWindow({}); - - mainWindow.loadURL("file://" + __dirname + "/index.html"); -}); - -const openExternalUrl = async ( - _event: Electron.IpcMainInvokeEvent, - url: string -) => shell.openExternal(url); - -registerEvent(openExternalUrl, { - name: "openExternalUrl", -}); \ No newline at end of file diff --git a/src/main/events/misc/open-external.ts b/src/main/events/misc/open-external.ts new file mode 100644 index 00000000..3d693c23 --- /dev/null +++ b/src/main/events/misc/open-external.ts @@ -0,0 +1,9 @@ +import { shell } from "electron"; +import { registerEvent } from "../register-event"; + +const openExternal = async (_event: Electron.IpcMainInvokeEvent, src: string) => + shell.openExternal(src); + +registerEvent(openExternal, { + name: "openExternal", +}); diff --git a/src/preload.ts b/src/preload.ts index 9d1202d0..93acde24 100644 --- a/src/preload.ts +++ b/src/preload.ts @@ -86,7 +86,7 @@ contextBridge.exposeInMainWorld("electron", { ping: () => ipcRenderer.invoke("ping"), getVersion: () => ipcRenderer.invoke("getVersion"), getDefaultDownloadsPath: () => ipcRenderer.invoke("getDefaultDownloadsPath"), - openExternalUrl: (url: string) => ipcRenderer.invoke("openExternalUrl", url), + openExternal: (src: string) => ipcRenderer.invoke("openExternal", src), showOpenDialog: (options: Electron.OpenDialogOptions) => ipcRenderer.invoke("showOpenDialog", options), platform: process.platform, diff --git a/src/renderer/components/sidebar/sidebar.tsx b/src/renderer/components/sidebar/sidebar.tsx index 8c58b78f..4c8ed0e1 100644 --- a/src/renderer/components/sidebar/sidebar.tsx +++ b/src/renderer/components/sidebar/sidebar.tsx @@ -8,12 +8,28 @@ import { AsyncImage, TextField } from "@renderer/components"; import { useDownload, useLibrary } from "@renderer/hooks"; import { SPACING_UNIT } from "@renderer/theme.css"; -import { MarkGithubIcon } from "@primer/octicons-react"; -import DiscordLogo from "../../assets/discord-icon.svg"; -import XLogo from "../../assets/x-icon.svg"; import { routes } from "./routes"; + +import { MarkGithubIcon } from "@primer/octicons-react"; +import DiscordLogo from "@renderer/assets/discord-icon.svg"; +import XLogo from "@renderer/assets/x-icon.svg"; import * as styles from "./sidebar.css"; +const socials = [ + { + url: "https://discord.gg/hydralauncher", + icon: , + }, + { + url: "https://twitter.com/hydralauncher", + icon: , + }, + { + url: "https://github.com/hydralauncher/hydra", + icon: , + }, +]; + const SIDEBAR_MIN_WIDTH = 200; const SIDEBAR_INITIAL_WIDTH = 250; const SIDEBAR_MAX_WIDTH = 450; @@ -220,38 +236,17 @@ export function Sidebar() {
{t("follow_us")}
- - - - - + {socials.map((item, i) => { + return ( + + ); + })} diff --git a/src/renderer/declaration.d.ts b/src/renderer/declaration.d.ts index 86da7fa4..cceed299 100644 --- a/src/renderer/declaration.d.ts +++ b/src/renderer/declaration.d.ts @@ -78,7 +78,7 @@ declare global { /* Misc */ getOrCacheImage: (url: string) => Promise; - openExternalUrl: (url: string) => void; + openExternal: (src: string) => Promise; getVersion: () => Promise; ping: () => string; getDefaultDownloadsPath: () => Promise;