fix recover flow caused leading user to gallery even if he is on auth app

This commit is contained in:
Abhinav 2023-04-14 12:18:39 +05:30
parent ac0bece019
commit 1b10204c58
4 changed files with 24 additions and 16 deletions

View file

@ -19,7 +19,6 @@ export interface SetPasswordFormProps {
) => void
) => Promise<void>;
buttonText: string;
back: () => void;
}
export interface SetPasswordFormValues {
passphrase: string;

View file

@ -19,6 +19,7 @@ export const ALLOWED_APP_PAGES = new Map([
PAGES.VERIFY,
PAGES.CREDENTIALS,
PAGES.RECOVER,
PAGES.CHANGE_PASSWORD,
PAGES.GENERATE,
PAGES.AUTH,
PAGES.TWO_FACTOR_VERIFY,

View file

@ -21,6 +21,7 @@ import FormPaper from 'components/Form/FormPaper';
import FormPaperFooter from 'components/Form/FormPaper/Footer';
import FormPaperTitle from 'components/Form/FormPaper/Title';
import ComlinkCryptoWorker from 'utils/comlink/ComlinkCryptoWorker';
import { APPS, getAppName } from 'constants/apps';
export default function ChangePassword() {
const [token, setToken] = useState<string>();
@ -74,12 +75,17 @@ export default function ChangePassword() {
);
await saveKeyInSessionStore(SESSION_KEYS.ENCRYPTION_KEY, key);
redirectToGallery();
redirectToAppHome();
};
const redirectToGallery = () => {
const redirectToAppHome = () => {
setData(LS_KEYS.SHOW_BACK_BUTTON, { value: true });
router.push(PAGES.GALLERY);
const appName = getAppName();
if (appName === APPS.AUTH) {
router.push(PAGES.AUTH);
} else {
router.push(PAGES.GALLERY);
}
};
return (
@ -90,18 +96,14 @@ export default function ChangePassword() {
userEmail={user?.email}
callback={onSubmit}
buttonText={t('CHANGE_PASSWORD')}
back={
getData(LS_KEYS.SHOW_BACK_BUTTON)?.value
? redirectToGallery
: null
}
/>
<FormPaperFooter>
<LinkButton onClick={router.back}>
{t('GO_BACK')}
</LinkButton>
</FormPaperFooter>
{getData(LS_KEYS.SHOW_BACK_BUTTON)?.value && (
<FormPaperFooter>
<LinkButton onClick={router.back}>
{t('GO_BACK')}
</LinkButton>
</FormPaperFooter>
)}
</FormPaper>
</VerticallyCentered>
);

View file

@ -23,6 +23,8 @@ import FormContainer from 'components/Form/FormContainer';
import FormPaper from 'components/Form/FormPaper';
import FormTitle from 'components/Form/FormPaper/Title';
import { APPS, getAppName } from 'constants/apps';
import FormPaperFooter from 'components/Form/FormPaper/Footer';
import LinkButton from 'components/pages/gallery/LinkButton';
export default function Generate() {
const [token, setToken] = useState<string>();
@ -117,8 +119,12 @@ export default function Generate() {
userEmail={user?.email}
callback={onSubmit}
buttonText={t('SET_PASSPHRASE')}
back={logoutUser}
/>
<FormPaperFooter>
<LinkButton onClick={logoutUser}>
{t('GO_BACK')}
</LinkButton>
</FormPaperFooter>
</FormPaper>
</FormContainer>
)}