Fixed an issue where SSO URL was not being parsed on the login page

This commit is contained in:
Frikky
2025-03-05 14:09:13 +01:00
parent 6a2355c6f6
commit 6598fe7cfe
4 changed files with 39 additions and 7 deletions
+9 -4
View File
@@ -1,14 +1,15 @@
import { createContext, useState, useEffect } from 'react';
import React, { createContext, useState, useEffect } from 'react';
export const Context = createContext();
export const AppContext =(props) => {
export const AppContext = (props) => {
const { serverside } = props
const currentLocation = window?.location?.pathname;
const currentLocation = serverside === true ? "" : window?.location?.pathname;
// Left side bar global states
const [searchBarModalOpen, setSearchBarModalOpen] = useState(false);
const [leftSideBarOpenByClick, setLeftSideBarOpenByClick] = useState(currentLocation?.includes('/workflows/') ? false : true)
const [windowWidth, setWindowWidth] = useState(window.innerWidth);
const [windowWidth, setWindowWidth] = useState(serverside === true ? 100 : window.innerWidth);
useEffect(() => {
if (currentLocation?.includes('/workflows/') && leftSideBarOpenByClick === true) {
@@ -18,6 +19,10 @@ export const AppContext =(props) => {
//Calculate window width
useEffect(() => {
if (serverside === true) {
return
}
const handleResize = () => {
setWindowWidth(window?.innerWidth);
};
+1 -2
View File
@@ -694,8 +694,7 @@ const Docs = (defaultprops) => {
<LinkIcon />
</Link>
</div>
{extraInfo && userdata?.support}
{isArticlePage ? (userdata?.support ? extraInfo : "") : extraInfo}
</Typography>
)
}
+28
View File
@@ -282,6 +282,8 @@ const LoginPage = props => {
const [register, setRegister] = useState(inregister);
const [checkboxClicked, setCheckboxClicked] = useState(false);
const [loginWithSSO, setLoginWithSSO] = useState(false)
const [ssoUrl, setSSOUrl] = useState("");
const isCloud = window.location.host === "localhost:3002" || window.location.host === "shuffler.io" || window.location.host === "migration.shuffler.io";
const parsedsearch = serverside === true ? "" : window.location.search
@@ -438,6 +440,9 @@ const LoginPage = props => {
if (responseJson["success"] === false) {
setLoginInfo(responseJson["reason"]);
} else {
if (responseJson.sso_url !== undefined && responseJson.sso_url !== null) {
setSSOUrl(responseJson.sso_url);
}
// Stay = 0 users
// Redirect = >1 user
@@ -901,6 +906,29 @@ const LoginPage = props => {
<div style={{ marginTop: "10px", color: "white" }}>
{loginInfo}
</div>
{ssoUrl !== undefined && ssoUrl !== null && ssoUrl.length > 0 ? (
<div>
<Typography style={{ textAlign: "center" }}>Or</Typography>
<div style={{ textAlign: "center", margin: 10 }}>
<Button
fullWidth
id="sso_button"
color="secondary"
variant="outlined"
type="button"
style={{ flex: "1", marginTop: 5 }}
onClick={() => {
//console.log("CLICK SSO");
window.location.href = ssoUrl
//navigate(ssoUrl)
}}
>
Use SSO
</Button>
</div>
</div>
) : null}
</form>
</Paper>
+1 -1
View File
@@ -498,7 +498,7 @@ const LoginDialog = (props) => {
<div style={{ textAlign: "center", margin: 10 }}>
<Button
fullWidth
id="sso_button"
id="sso_button"
color="secondary"
variant="outlined"
type="button"