Skip to content

Commit

Permalink
MOSIP-32077 MOSIP-32832 MOSIP-32131 showing popup message when clicki…
Browse files Browse the repository at this point in the history
…ng back or reload in browser

Signed-off-by: MadhuMosip <madhu@mosip.io>
  • Loading branch information
MadhuMosip committed Jun 3, 2024
1 parent 610f569 commit 3043d89
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ export default function LoginResetPassword(props: PageProps<Extract<KcContext, {
const { url, realm, auth } = kcContext;

const { msg, msgStr } = i18n;

const [isReloadBtn, setReloadBtn] = useState(false);

window.onbeforeunload = function() {
if(!isReloadBtn){
return 'Do you want to leave this page?'
}
}
console.log(kcContext)

return (
Expand All @@ -30,7 +38,7 @@ export default function LoginResetPassword(props: PageProps<Extract<KcContext, {
<div id="kc-form-options">
<div className={getClassName("kcFormOptionsWrapperClass")}>
<span>
<button> <a href={url.loginUrl} className="flex flex-row items-center text-hLinkColor font-bold text-xl"> <img alt="arrow" src={arrow} />{msg("backToLogin")}</a></button>
<button onClick={() => setReloadBtn(true)}> <a href={url.loginUrl} className="flex flex-row items-center text-hLinkColor font-bold text-xl"> <img alt="arrow" src={arrow} />{msg("backToLogin")}</a></button>
</span>
</div>
</div>
Expand Down Expand Up @@ -82,6 +90,7 @@ export default function LoginResetPassword(props: PageProps<Extract<KcContext, {
getClassName("kcButtonLargeClass")
)}
type="submit"
onClick={() => setReloadBtn(true)}
value={msgStr("resetPassword")}
disabled={!email}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ export default function LoginUpdatePassword(props: PageProps<Extract<KcContext,
}
}
const { msg, msgStr } = i18n;
const [isReloadBtn, setReloadBtn] = useState(false);

window.onbeforeunload = function() {
if(!isReloadBtn){
return 'Do you want to leave this page?'
}
}

const { url, messagesPerField, isAppInitiatedAction, username, message } = kcContext;

Expand Down Expand Up @@ -168,6 +175,7 @@ export default function LoginUpdatePassword(props: PageProps<Extract<KcContext,
getClassName("kcButtonLargeClass")
)}
type="submit"
onClick={() => setReloadBtn(true)}
value={msgStr("doSubmit")}
/>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,18 @@ import SuccessMsgIcon from '../assets/success_message_icon.svg'
export default function LoginVerifyEmail(props: PageProps<Extract<KcContext, { pageId: "login-verify-email.ftl" }>, I18n>) {
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;

// const [isReloadBtn, setReloadBtn] = useState(false);

const { msg } = i18n;

const { url } = kcContext;

window.onbeforeunload = function () {
// if(!isReloadBtn){
return "jdhbfdjbdhbchb"
// }
}

return (
<Template {...{ kcContext, i18n, doUseDefaultCss, classes }} displayMessage={false} headerNode={
<div className="flex flex-col justify-center items-center">
Expand All @@ -19,7 +27,7 @@ export default function LoginVerifyEmail(props: PageProps<Extract<KcContext, { p
}>
<div className="text-center">
<span className="text-[#666666]">{msg("emailVerifyText")}</span>
<hr className="my-8 text-[#000000]"/>
<hr className="my-8 text-[#000000]" />
<span className="text-[#666666]">{msg("notReceviedText")}</span>
<h4 className="my-2 font-bold text-[#1447B2]"> <a href={url.loginAction}>{msg('resentEmail')}</a></h4>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export default function Register(props: PageProps<Extract<KcContext, { pageId: "
const [invalidPhoneNo, checkInvalidPhoneNo] = useState(false);
const [ConfPasswordMatch, checkConfPasswordMatch] = useState(false);
const [orgData, setOrgData] = useState(organisationData ? organisationData.slice() : undefined);
const [isReloadBtn, setReloadBtn] = useState(false);

const inputRef = useRef<HTMLInputElement>(null);
const menuRef = useRef<HTMLDivElement>(null);
Expand Down Expand Up @@ -171,14 +172,20 @@ export default function Register(props: PageProps<Extract<KcContext, { pageId: "
}
})

window.onbeforeunload = function() {
if(!isReloadBtn){
return 'Do you want to leave this page?'
}
}

const { msg, msgStr } = i18n;
return (
<Template {...{ kcContext, i18n, doUseDefaultCss, classes }} headerNode={
<>
<div id="kc-form-options">
<div className={getClassName("kcFormOptionsWrapperClass")}>
<span>
<button> <a href={url.loginUrl} className="flex flex-row items-center text-hLinkColor font-bold text-xl"> <img alt="arrow" src={arrow} />{msg("backToLogin")}</a></button>
<button onClick={() => setReloadBtn(true)}> <a href={url.loginUrl} className="flex flex-row items-center text-hLinkColor font-bold text-xl"> <img alt="arrow" src={arrow} />{msg("backToLogin")}</a></button>
</span>
</div>
</div>
Expand Down Expand Up @@ -540,6 +547,7 @@ export default function Register(props: PageProps<Extract<KcContext, { pageId: "
)}
type="submit"
value={msgStr("doRegister")}
onClick={() => setReloadBtn(true)}
disabled={!dummyFormData.firstName || !dummyFormData.lastName || !dummyFormData.address || !dummyFormData.email || !dummyFormData.orgName || !dummyFormData.partnerType || !dummyFormData["password-confirm"] || !dummyFormData.password || !dummyFormData.phoneNumber || (recaptchaRequired && !dummyFormData["g-recaptcha-response"]) || invalidEmail || invalidPhoneNo || ConfPasswordMatch}
/>
</div>
Expand All @@ -548,7 +556,7 @@ export default function Register(props: PageProps<Extract<KcContext, { pageId: "
<div className={(getClassName("kcFormOptionsWrapperClass"), 'text-center')}>
<span>
<span>{msg('alreadyMember')}</span>
<a href={url.loginUrl} className="text-hLinkColor font-bold text-xl"> {msg("doLogIn")}</a>
<a href={url.loginUrl} className="text-hLinkColor font-bold text-xl" onClick={() => setReloadBtn(true)}> {msg("doLogIn")}</a>
</span>
</div>
</div>
Expand Down

0 comments on commit 3043d89

Please sign in to comment.