diff --git a/apps/OpenSign/src/App.js b/apps/OpenSign/src/App.js
index 3e0119d85..deb9b19f6 100644
--- a/apps/OpenSign/src/App.js
+++ b/apps/OpenSign/src/App.js
@@ -7,7 +7,7 @@ import Signup from "./routes/Signup";
import Form from "./routes/Form";
import Report from "./routes/Report";
import Dashboard from "./routes/Dashboard";
-import PlanSubscriptions from "./routes/PlanSubscriptions";
+import Subscriptions from "./routes/PlanSubscriptions";
import HomeLayout from "./layout/HomeLayout";
import UserProfile from "./routes/UserProfile";
import PageNotFound from "./routes/PageNotFound";
@@ -60,112 +60,30 @@ function App() {
) : (
-
-
-
- }
- />
-
-
-
- }
- />
+ }>
+ } />
+ } />
+
} />
} />
{process.env.REACT_APP_ENABLE_SUBSCRIPTION && (
<>
} />
- }
- />
+ } />
>
)}
-
-
-
- }
- />
-
-
-
- }
- />
-
-
-
- }
- />
-
-
-
- }
- />
-
-
-
- }
- />
-
-
-
- }
- />
-
-
-
- }
- />
-
-
-
-
- }
- />
-
-
-
- }
- />
+ }>
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
} />
- {/* } /> */}
)}
diff --git a/apps/OpenSign/src/layout/HomeLayout.js b/apps/OpenSign/src/layout/HomeLayout.js
index a0ca72170..5fbf2f84f 100644
--- a/apps/OpenSign/src/layout/HomeLayout.js
+++ b/apps/OpenSign/src/layout/HomeLayout.js
@@ -8,15 +8,16 @@ import axios from "axios";
import { useSelector } from "react-redux";
import Parse from "parse";
import ModalUi from "../primitives/ModalUi";
-import { useNavigate } from "react-router-dom";
+import { useNavigate, useLocation, Outlet } from "react-router-dom";
-const HomeLayout = ({ children }) => {
+const HomeLayout = () => {
const navigate = useNavigate();
+ const location = useLocation();
const { width } = useWindowSize();
const [isOpen, setIsOpen] = useState(true);
const arr = useSelector((state) => state.TourSteps);
const [isUserValid, setIsUserValid] = useState(true);
-
+ const [isLoader, setIsLoader] = useState(true);
useEffect(() => {
(async () => {
try {
@@ -27,6 +28,7 @@ const HomeLayout = ({ children }) => {
});
if (user) {
setIsUserValid(true);
+ setIsLoader(false);
} else {
setIsUserValid(false);
}
@@ -184,7 +186,7 @@ const HomeLayout = ({ children }) => {
console.log("err ", err);
} finally {
localStorage.removeItem("accesstoken");
- navigate("/", { replace: true });
+ navigate("/", { replace: true, state: { from: location } });
}
};
return (
@@ -194,27 +196,48 @@ const HomeLayout = ({ children }) => {
{isUserValid ? (
<>
-
-
-
-
-
{children}
-
-
-
+ {isLoader ? (
+
-
-
+ ) : (
+ <>
+
+
+ >
+ )}
>
) : (
diff --git a/apps/OpenSign/src/primitives/ValidateRoute.js b/apps/OpenSign/src/primitives/ValidateRoute.js
index 62202dfe6..9c4f01e07 100644
--- a/apps/OpenSign/src/primitives/ValidateRoute.js
+++ b/apps/OpenSign/src/primitives/ValidateRoute.js
@@ -1,7 +1,7 @@
import React, { useEffect } from "react";
import Parse from "parse";
-
-const ValidateRoute = ({ children }) => {
+import { Outlet } from "react-router-dom";
+const ValidateRoute = () => {
useEffect(() => {
(async () => {
try {
@@ -28,7 +28,7 @@ const ValidateRoute = ({ children }) => {
localStorage.removeItem("accesstoken");
}
};
- return {children}
;
+ return {}
;
};
export default ValidateRoute;
diff --git a/apps/OpenSign/src/routes/Dashboard.js b/apps/OpenSign/src/routes/Dashboard.js
index 2bc3d9bc7..e381cf364 100644
--- a/apps/OpenSign/src/routes/Dashboard.js
+++ b/apps/OpenSign/src/routes/Dashboard.js
@@ -24,7 +24,7 @@ const Dashboard = (props) => {
getDashboard(localStorage.getItem("PageLanding"));
}
} else {
- navigate("/", { replace: true });
+ navigate("/", { replace: true, state: { from: location } });
}
// eslint-disable-next-line
}, [id]);
diff --git a/apps/OpenSign/src/routes/Login.js b/apps/OpenSign/src/routes/Login.js
index b9584b243..53d349211 100644
--- a/apps/OpenSign/src/routes/Login.js
+++ b/apps/OpenSign/src/routes/Login.js
@@ -8,12 +8,13 @@ import axios from "axios";
import Title from "../components/Title";
import GoogleSignInBtn from "../components/LoginGoogle";
// import LoginFacebook from "../components/LoginFacebook";
-import { NavLink, useNavigate } from "react-router-dom";
+import { NavLink, useNavigate, useLocation } from "react-router-dom";
import login_img from "../assets/images/login_img.svg";
import { useWindowSize } from "../hook/useWindowSize";
function Login(props) {
const navigate = useNavigate();
+ const location = useLocation();
const { width } = useWindowSize();
const [state, setState] = useState({
email: "",
@@ -132,6 +133,9 @@ function Login(props) {
`${localStorage.getItem("_appName")}_appeditor`
) {
userSettings.forEach(async (element) => {
+ const redirectUrl =
+ location?.state?.from ||
+ `/${element.pageType}/${element.pageId}`;
if (element.role === _currentRole) {
let _role = _currentRole.replace(
`${localStorage.getItem("_appName")}_`,
@@ -260,9 +264,8 @@ function Login(props) {
localStorage.removeItem(
"userDetails"
);
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ // Redirect to the appropriate URL after successful login
+ navigate(redirectUrl);
} else {
navigate(`/subscription`, {
replace: true
@@ -274,9 +277,8 @@ function Login(props) {
});
}
} else {
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ // Redirect to the appropriate URL after successful login
+ navigate(redirectUrl);
}
}
} else {
@@ -313,9 +315,8 @@ function Login(props) {
});
}
} else {
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ // Redirect to the appropriate URL after successful login
+ navigate(redirectUrl);
}
}
},
@@ -462,6 +463,9 @@ function Login(props) {
`${localStorage.getItem("_appName")}_appeditor`
) {
userSettings.forEach(async (element) => {
+ const redirectUrl =
+ location?.state?.from ||
+ `/${element.pageType}/${element.pageId}`;
if (element.role === _currentRole) {
let _role = _currentRole.replace(
`${localStorage.getItem("_appName")}_`,
@@ -569,9 +573,7 @@ function Login(props) {
if (billingDate) {
if (billingDate > new Date()) {
localStorage.removeItem("userDetails");
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ navigate(redirectUrl);
} else {
navigate(`/subscription`, {
replace: true
@@ -581,9 +583,7 @@ function Login(props) {
navigate(`/subscription`, { replace: true });
}
} else {
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ navigate(redirectUrl);
}
}
} else {
@@ -599,9 +599,8 @@ function Login(props) {
if (billingDate) {
if (billingDate > new Date()) {
localStorage.removeItem("userDetails");
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ // Redirect to the appropriate URL after successful login
+ navigate(redirectUrl);
} else {
navigate(`/subscription`, { replace: true });
}
@@ -609,9 +608,7 @@ function Login(props) {
navigate(`/subscription`, { replace: true });
}
} else {
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ navigate(redirectUrl);
}
}
},
diff --git a/apps/OpenSign/src/routes/Pgsignup.js b/apps/OpenSign/src/routes/Pgsignup.js
index af4cc0108..f3d12437d 100644
--- a/apps/OpenSign/src/routes/Pgsignup.js
+++ b/apps/OpenSign/src/routes/Pgsignup.js
@@ -5,7 +5,7 @@ import axios from "axios";
import { fetchAppInfo, showTenantName } from "../redux/actions/index";
import { connect } from "react-redux";
import Title from "../components/Title";
-import { useNavigate } from "react-router-dom";
+import { useNavigate, useLocation } from "react-router-dom";
const appId = localStorage.getItem("AppID12");
const server = localStorage.getItem("BaseUrl12");
@@ -13,6 +13,7 @@ Parse.serverURL = server;
Parse.initialize(appId);
const PgSignUp = (props) => {
const navigate = useNavigate();
+ const location = useLocation();
const [parseBaseUrl] = useState(localStorage.getItem("BaseUrl12"));
const [parseAppId] = useState(localStorage.getItem("AppID12"));
const [formData, setFormData] = useState({
@@ -187,7 +188,7 @@ const PgSignUp = (props) => {
console.log("err ", error);
if (error.message === "Account already exists for this username.") {
alert("Account already exists!");
- navigate("/");
+ navigate("/", { replace: true });
} else {
setIsLoader(false);
alert("Something went wrong, please try again later!");
@@ -351,7 +352,7 @@ const PgSignUp = (props) => {
element.pageType
);
setIsLoader(false);
- navigate("/");
+ navigate("/", { replace: true });
} else {
extendedInfo.forEach((x) => {
if (x.TenantId) {
@@ -389,9 +390,12 @@ const PgSignUp = (props) => {
);
setIsLoader(false);
alert("Registered user successfully");
- navigate(
- `/${element.pageType}/${element.pageId}`
- );
+ const redirectUrl =
+ location?.state?.from ||
+ `/${element.pageType}/${element.pageId}`;
+
+ // Redirect to the appropriate URL after successful login
+ navigate(redirectUrl);
}
} else {
alert("Registered user successfully");
@@ -402,7 +406,12 @@ const PgSignUp = (props) => {
);
localStorage.setItem("pageType", element.pageType);
setIsLoader(false);
- navigate(`/${element.pageType}/${element.pageId}`);
+ const redirectUrl =
+ location?.state?.from ||
+ `/${element.pageType}/${element.pageId}`;
+
+ // Redirect to the appropriate URL after successful login
+ navigate(redirectUrl);
}
},
(error) => {
diff --git a/apps/OpenSign/src/routes/PlanSubscriptions.js b/apps/OpenSign/src/routes/PlanSubscriptions.js
index 00ad2fa62..ceb764a3f 100644
--- a/apps/OpenSign/src/routes/PlanSubscriptions.js
+++ b/apps/OpenSign/src/routes/PlanSubscriptions.js
@@ -39,7 +39,7 @@ const PlanSubscriptions = () => {
setIsLoader(false);
setYearlyVisible(false);
} else {
- navigate("/");
+ navigate("/", { replace: true });
}
// eslint-disable-next-line
}, []);
@@ -78,31 +78,6 @@ const PlanSubscriptions = () => {
id="monthlyPlans"
className={`${yearlyVisible ? "none" : "block my-2"}`}
>
- {/*
-
- -
-
-
- -
-
-
-
-
*/}
{plansArr.map((item) => (