Merge pull request #616 from hydralauncher/feature/sign-out-modal

feature: clear games on sign out
This commit is contained in:
Zamitto 2024-06-20 20:57:50 -03:00 committed by GitHub
commit 92e6dfabff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 25 additions and 11 deletions

View file

@ -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?"
}
}

View file

@ -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?"
}
}

View file

@ -1,10 +1,11 @@
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<void> => {
await Promise.all([
userAuthRepository.delete({ id: 1 }),
gameRepository.delete({}),
HydraApi.post("/auth/logout").catch(),
]);
};

View file

@ -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";

View file

@ -22,15 +22,18 @@ export const UserSignOutModal = ({
title={t("sign_out_modal_title")}
onClose={onClose}
>
<div className={styles.signOutModalContent}>
<p style={{ fontFamily: "Fira Sans" }}>{t("sign_out_modal_text")}</p>
<div className={styles.signOutModalButtonsContainer}>
<Button onClick={onConfirm} theme="outline">
{t("signout")}
<Button onClick={onConfirm} theme="danger">
{t("sign_out")}
</Button>
<Button onClick={onClose} theme="primary">
{t("cancel")}
</Button>
</div>
</div>
</Modal>
</>
);

View file

@ -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`,
});