diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 48407b32..ffc468fe 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -248,6 +248,7 @@ "cancel": "Cancel", "successfully_signed_out": "Successfully signed out", "sign_out": "Sign out", - "playing_for": "Playing for {{amount}}" + "playing_for": "Playing for {{amount}}", + "sign_out_modal_text": "Your library is linked with your current account. When signing out, your library will not be visible anymore, and any progress will not be saved. Continue with sign out?" } } diff --git a/src/locales/pt/translation.json b/src/locales/pt/translation.json index 739c573c..f51f89f9 100644 --- a/src/locales/pt/translation.json +++ b/src/locales/pt/translation.json @@ -248,6 +248,7 @@ "successfully_signed_out": "Deslogado com sucesso", "sign_out": "Sair da conta", "sign_out_modal_title": "Tem certeza?", - "playing_for": "Jogando por {{amount}}" + "playing_for": "Jogando por {{amount}}", + "sign_out_modal_text": "Sua biblioteca de jogos está associada com a sua conta atual. Ao sair, sua biblioteca não aparecerá mais no Hydra e qualquer progresso não será salvo. Deseja continuar?" } } diff --git a/src/main/events/auth/signout.ts b/src/main/events/auth/sign-out.ts similarity index 66% rename from src/main/events/auth/signout.ts rename to src/main/events/auth/sign-out.ts index 4525fdb2..dafce7ad 100644 --- a/src/main/events/auth/signout.ts +++ b/src/main/events/auth/sign-out.ts @@ -1,11 +1,12 @@ -import { userAuthRepository } from "@main/repository"; +import { gameRepository, userAuthRepository } from "@main/repository"; import { registerEvent } from "../register-event"; import { HydraApi } from "@main/services/hydra-api"; const signOut = async (_event: Electron.IpcMainInvokeEvent): Promise => { await Promise.all([ userAuthRepository.delete({ id: 1 }), - HydraApi.post("/auth/logout"), + gameRepository.delete({}), + HydraApi.post("/auth/logout").catch(), ]); }; diff --git a/src/main/events/index.ts b/src/main/events/index.ts index 32c9243c..01e73636 100644 --- a/src/main/events/index.ts +++ b/src/main/events/index.ts @@ -40,7 +40,7 @@ import "./download-sources/validate-download-source"; import "./download-sources/add-download-source"; import "./download-sources/remove-download-source"; import "./download-sources/sync-download-sources"; -import "./auth/signout"; +import "./auth/sign-out"; import "./auth/open-auth-window"; import "./user/get-user"; import "./profile/get-me"; diff --git a/src/renderer/src/pages/user/user-signout-modal.tsx b/src/renderer/src/pages/user/user-signout-modal.tsx index 5e05a61e..a91e8c9d 100644 --- a/src/renderer/src/pages/user/user-signout-modal.tsx +++ b/src/renderer/src/pages/user/user-signout-modal.tsx @@ -22,14 +22,17 @@ export const UserSignOutModal = ({ title={t("sign_out_modal_title")} onClose={onClose} > -
- +
+

{t("sign_out_modal_text")}

+
+ - + +
diff --git a/src/renderer/src/pages/user/user.css.ts b/src/renderer/src/pages/user/user.css.ts index 6ec28b94..63871c26 100644 --- a/src/renderer/src/pages/user/user.css.ts +++ b/src/renderer/src/pages/user/user.css.ts @@ -190,10 +190,18 @@ export const noDownloads = style({ gap: `${SPACING_UNIT}px`, }); +export const signOutModalContent = style({ + display: "flex", + width: "100%", + flexDirection: "column", + gap: `${SPACING_UNIT}px`, +}); + export const signOutModalButtonsContainer = style({ display: "flex", width: "100%", justifyContent: "end", alignItems: "center", gap: `${SPACING_UNIT}px`, + paddingTop: `${SPACING_UNIT}px`, });