mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-02-13 03:32:13 +00:00
Merge pull request #616 from hydralauncher/feature/sign-out-modal
feature: clear games on sign out
This commit is contained in:
commit
92e6dfabff
6 changed files with 25 additions and 11 deletions
|
@ -248,6 +248,7 @@
|
||||||
"cancel": "Cancel",
|
"cancel": "Cancel",
|
||||||
"successfully_signed_out": "Successfully signed out",
|
"successfully_signed_out": "Successfully signed out",
|
||||||
"sign_out": "Sign 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?"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,6 +248,7 @@
|
||||||
"successfully_signed_out": "Deslogado com sucesso",
|
"successfully_signed_out": "Deslogado com sucesso",
|
||||||
"sign_out": "Sair da conta",
|
"sign_out": "Sair da conta",
|
||||||
"sign_out_modal_title": "Tem certeza?",
|
"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?"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
import { userAuthRepository } from "@main/repository";
|
import { gameRepository, userAuthRepository } from "@main/repository";
|
||||||
import { registerEvent } from "../register-event";
|
import { registerEvent } from "../register-event";
|
||||||
import { HydraApi } from "@main/services/hydra-api";
|
import { HydraApi } from "@main/services/hydra-api";
|
||||||
|
|
||||||
const signOut = async (_event: Electron.IpcMainInvokeEvent): Promise<void> => {
|
const signOut = async (_event: Electron.IpcMainInvokeEvent): Promise<void> => {
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
userAuthRepository.delete({ id: 1 }),
|
userAuthRepository.delete({ id: 1 }),
|
||||||
|
gameRepository.delete({}),
|
||||||
HydraApi.post("/auth/logout").catch(),
|
HydraApi.post("/auth/logout").catch(),
|
||||||
]);
|
]);
|
||||||
};
|
};
|
|
@ -40,7 +40,7 @@ import "./download-sources/validate-download-source";
|
||||||
import "./download-sources/add-download-source";
|
import "./download-sources/add-download-source";
|
||||||
import "./download-sources/remove-download-source";
|
import "./download-sources/remove-download-source";
|
||||||
import "./download-sources/sync-download-sources";
|
import "./download-sources/sync-download-sources";
|
||||||
import "./auth/signout";
|
import "./auth/sign-out";
|
||||||
import "./auth/open-auth-window";
|
import "./auth/open-auth-window";
|
||||||
import "./user/get-user";
|
import "./user/get-user";
|
||||||
import "./profile/get-me";
|
import "./profile/get-me";
|
||||||
|
|
|
@ -22,14 +22,17 @@ export const UserSignOutModal = ({
|
||||||
title={t("sign_out_modal_title")}
|
title={t("sign_out_modal_title")}
|
||||||
onClose={onClose}
|
onClose={onClose}
|
||||||
>
|
>
|
||||||
<div className={styles.signOutModalButtonsContainer}>
|
<div className={styles.signOutModalContent}>
|
||||||
<Button onClick={onConfirm} theme="outline">
|
<p style={{ fontFamily: "Fira Sans" }}>{t("sign_out_modal_text")}</p>
|
||||||
{t("signout")}
|
<div className={styles.signOutModalButtonsContainer}>
|
||||||
</Button>
|
<Button onClick={onConfirm} theme="danger">
|
||||||
|
{t("sign_out")}
|
||||||
|
</Button>
|
||||||
|
|
||||||
<Button onClick={onClose} theme="primary">
|
<Button onClick={onClose} theme="primary">
|
||||||
{t("cancel")}
|
{t("cancel")}
|
||||||
</Button>
|
</Button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -190,10 +190,18 @@ export const noDownloads = style({
|
||||||
gap: `${SPACING_UNIT}px`,
|
gap: `${SPACING_UNIT}px`,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const signOutModalContent = style({
|
||||||
|
display: "flex",
|
||||||
|
width: "100%",
|
||||||
|
flexDirection: "column",
|
||||||
|
gap: `${SPACING_UNIT}px`,
|
||||||
|
});
|
||||||
|
|
||||||
export const signOutModalButtonsContainer = style({
|
export const signOutModalButtonsContainer = style({
|
||||||
display: "flex",
|
display: "flex",
|
||||||
width: "100%",
|
width: "100%",
|
||||||
justifyContent: "end",
|
justifyContent: "end",
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
gap: `${SPACING_UNIT}px`,
|
gap: `${SPACING_UNIT}px`,
|
||||||
|
paddingTop: `${SPACING_UNIT}px`,
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue