mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-24 08:20:31 +08:00
Refactor to renderLink()
This commit is contained in:
parent
304643736b
commit
52b692c8ad
@ -761,57 +761,70 @@ export function goToLogin(ths, application) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function JumpLink({url, children, onClick}) {
|
function renderLink(url, text, onClick) {
|
||||||
if (url === null) {
|
if (url === null) {
|
||||||
return <Link style={{float: "right"}} onClick={onClick} to={""}>{children}</Link>;
|
return null;
|
||||||
}
|
}
|
||||||
if (url.startsWith("/")) {
|
|
||||||
return <Link to={url} style={{float: "right"}} onClick={onClick}>{children}</Link>;
|
|
||||||
} else if (url.startsWith("http")) {
|
|
||||||
return <a href={url} target="_blank" rel="noopener noreferrer" style={{float: "right"}} onClick={onClick}>{children}</a>;
|
|
||||||
} else {
|
|
||||||
return <Link style={{float: "right"}} onClick={onClick} to={""}>{children}</Link>;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function storeSigninUrl() {
|
if (url.startsWith("/")) {
|
||||||
sessionStorage.setItem("signinUrl", window.location.href);
|
return (
|
||||||
|
<Link style={{float: "right"}} to={url} onClick={() => {
|
||||||
|
if (onClick !== null) {
|
||||||
|
onClick();
|
||||||
|
}
|
||||||
|
}}>{text}</Link>
|
||||||
|
);
|
||||||
|
} else if (url.startsWith("http")) {
|
||||||
|
return (
|
||||||
|
<a target="_blank" rel="noopener noreferrer" style={{float: "right"}} href={url} onClick={() => {
|
||||||
|
if (onClick !== null) {
|
||||||
|
onClick();
|
||||||
|
}
|
||||||
|
}}>{text}</a>
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function renderSignupLink(application, text) {
|
export function renderSignupLink(application, text) {
|
||||||
let link;
|
let url;
|
||||||
|
|
||||||
if (application === null) {
|
if (application === null) {
|
||||||
link = null;
|
url = null;
|
||||||
} else if (!application.enablePassword && window.location.pathname.includes("/login/oauth/authorize")) {
|
} else if (!application.enablePassword && window.location.pathname.includes("/login/oauth/authorize")) {
|
||||||
link = window.location.href.replace("/login/oauth/authorize", "/auto-signup/oauth/authorize");
|
url = window.location.href.replace("/login/oauth/authorize", "/auto-signup/oauth/authorize");
|
||||||
} else if (authConfig.appName === application.name) {
|
} else if (authConfig.appName === application.name) {
|
||||||
link = "/signup";
|
url = "/signup";
|
||||||
} else {
|
} else {
|
||||||
if (application.signupUrl === "") {
|
if (application.signupUrl === "") {
|
||||||
link = `/signup/${application.name}`;
|
url = `/signup/${application.name}`;
|
||||||
} else {
|
} else {
|
||||||
link = application.signupUrl;
|
url = application.signupUrl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return <JumpLink url={link} onClick={storeSigninUrl}>{text}</JumpLink>;
|
const storeSigninUrl = () => {
|
||||||
|
sessionStorage.setItem("signinUrl", window.location.href);
|
||||||
|
};
|
||||||
|
|
||||||
|
return renderLink(url, text, storeSigninUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function renderForgetLink(application, text) {
|
export function renderForgetLink(application, text) {
|
||||||
let link;
|
let url;
|
||||||
if (application === null) {
|
if (application === null) {
|
||||||
link = null;
|
url = null;
|
||||||
} else if (authConfig.appName === application.name) {
|
} else if (authConfig.appName === application.name) {
|
||||||
link = "/forget";
|
url = "/forget";
|
||||||
} else {
|
} else {
|
||||||
if (application.forgetUrl === "") {
|
if (application.forgetUrl === "") {
|
||||||
link = `/forget/${application.name}`;
|
url = `/forget/${application.name}`;
|
||||||
} else {
|
} else {
|
||||||
link = application.forgetUrl;
|
url = application.forgetUrl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return <JumpLink url={link}>{text}</JumpLink>;
|
|
||||||
|
return renderLink(url, text, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function renderHelmet(application) {
|
export function renderHelmet(application) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user