feat: manage account buttons

This commit is contained in:
Zamitto
2025-01-15 15:49:11 -03:00
parent d4be5b8c66
commit af4fcb8f06
12 changed files with 286 additions and 149 deletions

View File

@@ -30,6 +30,7 @@ import "./library/remove-game-from-library";
import "./library/select-game-wine-prefix";
import "./library/reset-game-achievements";
import "./misc/open-checkout";
import "./misc/open-manage-account";
import "./misc/open-external";
import "./misc/show-open-dialog";
import "./misc/get-features";

View File

@@ -0,0 +1,25 @@
import { shell } from "electron";
import { registerEvent } from "../register-event";
import { HydraApi, logger } from "@main/services";
import { ManageAccountPage } from "@types";
const openManageAccount = async (
_event: Electron.IpcMainInvokeEvent,
page: ManageAccountPage
) => {
try {
const { accessToken } = await HydraApi.refreshToken();
const params = new URLSearchParams({
token: accessToken,
});
shell.openExternal(
`${import.meta.env.MAIN_VITE_AUTH_URL}/${page}?${params.toString()}`
);
} catch (err) {
logger.error("Failed to open manage account", err);
}
};
registerEvent("openManageAccount", openManageAccount);