diff --git a/apps/OpenSign/package-lock.json b/apps/OpenSign/package-lock.json index fd8283e31..c9de1b9a3 100644 --- a/apps/OpenSign/package-lock.json +++ b/apps/OpenSign/package-lock.json @@ -22,6 +22,7 @@ "radix-ui": "^1.0.1", "react": "^18.2.0", "react-bootstrap": "^2.10.2", + "react-cookie": "^7.1.4", "react-datepicker": "^6.4.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", @@ -6054,6 +6055,11 @@ "@types/node": "*" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, "node_modules/@types/eslint": { "version": "8.44.4", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.4.tgz", @@ -6108,11 +6114,9 @@ } }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.3.tgz", - "integrity": "sha512-Wny3a2UXn5FEA1l7gc6BbpoV5mD1XijZqgkp4TRgDCDL5r3B5ieOFGUX5h3n78Tr1MEG7BfvoM8qeztdvNU0fw==", - "optional": true, - "peer": true, + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -19354,6 +19358,19 @@ "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-cookie": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/react-cookie/-/react-cookie-7.1.4.tgz", + "integrity": "sha512-wDxxa/HYaSXSMlyWJvJ5uZTzIVtQTPf1gMksFgwAz/2/W3lCtY8r4OChCXMPE7wax0PAdMY97UkNJedGv7KnDw==", + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.5", + "hoist-non-react-statics": "^3.3.2", + "universal-cookie": "^7.0.0" + }, + "peerDependencies": { + "react": ">= 16.3.0" + } + }, "node_modules/react-datepicker": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-6.4.0.tgz", @@ -22701,6 +22718,23 @@ "node": ">=8" } }, + "node_modules/universal-cookie": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-7.1.4.tgz", + "integrity": "sha512-Q+DVJsdykStWRMtXr2Pdj3EF98qZHUH/fXv/gwFz/unyToy1Ek1w5GsWt53Pf38tT8Gbcy5QNsj61Xe9TggP4g==", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^0.6.0" + } + }, + "node_modules/universal-cookie/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", diff --git a/apps/OpenSign/package.json b/apps/OpenSign/package.json index c225dc77e..a90a5ea44 100644 --- a/apps/OpenSign/package.json +++ b/apps/OpenSign/package.json @@ -17,6 +17,7 @@ "radix-ui": "^1.0.1", "react": "^18.2.0", "react-bootstrap": "^2.10.2", + "react-cookie": "^7.1.4", "react-datepicker": "^6.4.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", diff --git a/apps/OpenSign/src/index.js b/apps/OpenSign/src/index.js index 0acf4043a..3f3131a15 100644 --- a/apps/OpenSign/src/index.js +++ b/apps/OpenSign/src/index.js @@ -4,6 +4,7 @@ import "./index.css"; import App from "./App"; import { Provider } from "react-redux"; import { store } from "./redux/store"; +import { CookiesProvider } from "react-cookie"; import { HTML5Backend } from "react-dnd-html5-backend"; import { TouchBackend } from "react-dnd-touch-backend"; import { @@ -62,10 +63,12 @@ if (process.env.REACT_APP_GTM) { const root = ReactDOM.createRoot(document.getElementById("root")); root.render( - - - {generatePreview} - - - + + + + {generatePreview} + + + + ); diff --git a/apps/OpenSign/src/layout/HomeLayout.js b/apps/OpenSign/src/layout/HomeLayout.js index 12301e917..913f43e7d 100644 --- a/apps/OpenSign/src/layout/HomeLayout.js +++ b/apps/OpenSign/src/layout/HomeLayout.js @@ -10,6 +10,7 @@ import Parse from "parse"; import ModalUi from "../primitives/ModalUi"; import { useNavigate, useLocation, Outlet } from "react-router-dom"; import { isEnableSubscription } from "../constant/const"; +import { useCookies } from "react-cookie"; const HomeLayout = () => { const navigate = useNavigate(); @@ -24,6 +25,21 @@ const HomeLayout = () => { const [isTour, setIsTour] = useState(false); const [tourStatusArr, setTourStatusArr] = useState([]); const [tourConfigs, setTourConfigs] = useState([]); + const [, setCookie] = useCookies([ + "TenantId", + "userDetails", + "userEmail", + "profileImg", + "fev_Icon", + "accesstoken", + `Parse/${localStorage.getItem("parseAppId")}/currentUser`, + "appLogo", + "baseUrl", + "domain", + "parseAppId", + "username", + "main_Domain" + ]); useEffect(() => { (async () => { @@ -43,8 +59,40 @@ const HomeLayout = () => { setIsUserValid(false); } })(); + saveCookies(); + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + //function to use save data in cookies storage + const saveCookies = () => { + setCookie("TenantId", localStorage.getItem("TenantId"), { secure: true }); + setCookie("userDetails", localStorage.getItem("userDetails"), { + secure: true + }); + setCookie("userEmail", localStorage.getItem("userEmail"), { secure: true }); + setCookie("profileImg", localStorage.getItem("profileImg"), { + secure: true + }); + setCookie("fev_Icon", localStorage.getItem("fev_Icon"), { secure: true }); + setCookie("accesstoken", localStorage.getItem("accesstoken"), { + secure: true + }); + setCookie( + `Parse/${localStorage.getItem("parseAppId")}/currentUser`, + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ), + { secure: true } + ); + setCookie("appLogo", localStorage.getItem("appLogo"), { secure: true }); + setCookie("baseUrl", localStorage.getItem("baseUrl"), { secure: true }); + setCookie("domain", localStorage.getItem("domain"), { secure: true }); + setCookie("parseAppId", localStorage.getItem("parseAppId"), { + secure: true + }); + setCookie("username", localStorage.getItem("username"), { secure: true }); + setCookie("main_Domain", window.location.host, { secure: true }); + }; async function checkIsSubscribed() { const currentUser = Parse.User.current(); diff --git a/apps/OpenSign/src/pages/Dashboard.js b/apps/OpenSign/src/pages/Dashboard.js index 98ec05ff1..3b580d396 100644 --- a/apps/OpenSign/src/pages/Dashboard.js +++ b/apps/OpenSign/src/pages/Dashboard.js @@ -6,6 +6,7 @@ import { useNavigate, useParams } from "react-router-dom"; import Title from "../components/Title"; import { useDispatch } from "react-redux"; import { saveTourSteps } from "../redux/reducers/TourStepsReducer"; + const Dashboard = () => { const navigate = useNavigate(); const dispatch = useDispatch();