From e0920bf5d8c64cc832e82760121c708812da13ba Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Wed, 3 Apr 2024 15:28:48 +0530 Subject: [PATCH 1/3] feat: save user's details in cookies session --- apps/OpenSign/package-lock.json | 44 +++++++++-- apps/OpenSign/package.json | 1 + apps/OpenSign/src/index.js | 15 ++-- apps/OpenSign/src/pages/Dashboard.js | 110 +++++++++++++++++++++++++++ 4 files changed, 159 insertions(+), 11 deletions(-) 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/pages/Dashboard.js b/apps/OpenSign/src/pages/Dashboard.js index 98ec05ff1..0e73291fa 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"; +import { useCookies } from "react-cookie"; const Dashboard = () => { const navigate = useNavigate(); const dispatch = useDispatch(); @@ -14,9 +15,44 @@ const Dashboard = () => { const [classnameArray, setclassnameArray] = useState([]); const [loading, setloading] = useState(false); const [defaultQuery, setDefaultQuery] = useState(""); + const [, setCookie] = useCookies([ + "TenantId", + "TenetId", + "TenantName", + "userDetails", + "userEmail", + "profileImg", + "UserInformation", + "appTitle", + "defaultmenuid", + "PageLanding", + "Extand_Class", + "fev_Icon", + "loglevel", + "accesstoken", + "extended_class", + `Parse/${localStorage.getItem("parseAppId")}/currentUser`, + "_user_role", + "appLogo", + "baseUrl", + "domain", + "parseAppId", + "pageType", + "userSettings", + "appVersion", + "username", + "_appName", + "_app_objectId", + "scriptId", + `Parse/${localStorage.getItem("parseAppId")}/installationId`, + "appName", + "extended_class", + "main_Domain" + ]); useEffect(() => { if (localStorage.getItem("accesstoken")) { + saveCookies(); if (id !== undefined) { getDashboard(id); } else { @@ -28,6 +64,80 @@ const Dashboard = () => { // eslint-disable-next-line }, [id]); + //function to use save data in cookies storage + const saveCookies = () => { + setCookie("TenantId", localStorage.getItem("TenantId"), { secure: true }); + setCookie("TenetId", localStorage.getItem("TenetId"), { secure: true }); + setCookie("TenantName", localStorage.getItem("TenantName"), { + secure: true + }); + setCookie("userDetails", localStorage.getItem("userDetails"), { + secure: true + }); + setCookie("userEmail", localStorage.getItem("userEmail"), { secure: true }); + setCookie("profileImg", localStorage.getItem("profileImg"), { + secure: true + }); + setCookie("UserInformation", localStorage.getItem("UserInformation"), { + secure: true + }); + setCookie("appTitle", localStorage.getItem("appTitle"), { secure: true }); + setCookie("defaultmenuid", localStorage.getItem("defaultmenuid"), { + secure: true + }); + setCookie("PageLanding", localStorage.getItem("PageLanding"), { + secure: true + }); + setCookie("Extand_Class", localStorage.getItem("Extand_Class"), { + secure: true + }); + setCookie("fev_Icon", localStorage.getItem("fev_Icon"), { secure: true }); + setCookie("loglevel", localStorage.getItem("loglevel"), { secure: true }); + setCookie("accesstoken", localStorage.getItem("accesstoken"), { + secure: true + }); + setCookie("extended_class", localStorage.getItem("extended_class"), { + secure: true + }); + setCookie( + `Parse/${localStorage.getItem("parseAppId")}/currentUser`, + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/currentUser` + ), + { secure: true } + ); + setCookie("_user_role", localStorage.getItem("_user_role"), { + 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("pageType", localStorage.getItem("pageType"), { secure: true }); + setCookie("userSettings", localStorage.getItem("userSettings"), { + secure: true + }); + setCookie("appVersion", localStorage.getItem("appVersion"), { + secure: true + }); + setCookie("username", localStorage.getItem("username"), { secure: true }); + setCookie("_appName", localStorage.getItem("_appName"), { secure: true }); + setCookie("_app_objectId", localStorage.getItem("_app_objectId"), { + secure: true + }); + setCookie("scriptId", localStorage.getItem("scriptId"), { secure: true }); + setCookie( + `Parse/${localStorage.getItem("parseAppId")}/installationId`, + localStorage.getItem( + `Parse/${localStorage.getItem("parseAppId")}/installationId` + ), + { secure: true } + ); + setCookie("appName", localStorage.getItem("appName"), { secure: true }); + setCookie("main_Domain", window.location.host, { secure: true }); + }; const getDashboard = async (id) => { setloading(true); try { From 824b0a5407d9d06835cb5ab06b9824370d1a1d3e Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Wed, 3 Apr 2024 20:15:17 +0530 Subject: [PATCH 2/3] fix: remove unnecessary cookies key value --- apps/OpenSign/src/pages/Dashboard.js | 63 ---------------------------- 1 file changed, 63 deletions(-) diff --git a/apps/OpenSign/src/pages/Dashboard.js b/apps/OpenSign/src/pages/Dashboard.js index 0e73291fa..2fa8f2d1d 100644 --- a/apps/OpenSign/src/pages/Dashboard.js +++ b/apps/OpenSign/src/pages/Dashboard.js @@ -17,36 +17,17 @@ const Dashboard = () => { const [defaultQuery, setDefaultQuery] = useState(""); const [, setCookie] = useCookies([ "TenantId", - "TenetId", - "TenantName", "userDetails", "userEmail", "profileImg", - "UserInformation", - "appTitle", - "defaultmenuid", - "PageLanding", - "Extand_Class", "fev_Icon", - "loglevel", "accesstoken", - "extended_class", `Parse/${localStorage.getItem("parseAppId")}/currentUser`, - "_user_role", "appLogo", "baseUrl", "domain", "parseAppId", - "pageType", - "userSettings", - "appVersion", "username", - "_appName", - "_app_objectId", - "scriptId", - `Parse/${localStorage.getItem("parseAppId")}/installationId`, - "appName", - "extended_class", "main_Domain" ]); @@ -67,10 +48,6 @@ const Dashboard = () => { //function to use save data in cookies storage const saveCookies = () => { setCookie("TenantId", localStorage.getItem("TenantId"), { secure: true }); - setCookie("TenetId", localStorage.getItem("TenetId"), { secure: true }); - setCookie("TenantName", localStorage.getItem("TenantName"), { - secure: true - }); setCookie("userDetails", localStorage.getItem("userDetails"), { secure: true }); @@ -78,27 +55,10 @@ const Dashboard = () => { setCookie("profileImg", localStorage.getItem("profileImg"), { secure: true }); - setCookie("UserInformation", localStorage.getItem("UserInformation"), { - secure: true - }); - setCookie("appTitle", localStorage.getItem("appTitle"), { secure: true }); - setCookie("defaultmenuid", localStorage.getItem("defaultmenuid"), { - secure: true - }); - setCookie("PageLanding", localStorage.getItem("PageLanding"), { - secure: true - }); - setCookie("Extand_Class", localStorage.getItem("Extand_Class"), { - secure: true - }); setCookie("fev_Icon", localStorage.getItem("fev_Icon"), { secure: true }); - setCookie("loglevel", localStorage.getItem("loglevel"), { secure: true }); setCookie("accesstoken", localStorage.getItem("accesstoken"), { secure: true }); - setCookie("extended_class", localStorage.getItem("extended_class"), { - secure: true - }); setCookie( `Parse/${localStorage.getItem("parseAppId")}/currentUser`, localStorage.getItem( @@ -106,36 +66,13 @@ const Dashboard = () => { ), { secure: true } ); - setCookie("_user_role", localStorage.getItem("_user_role"), { - 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("pageType", localStorage.getItem("pageType"), { secure: true }); - setCookie("userSettings", localStorage.getItem("userSettings"), { - secure: true - }); - setCookie("appVersion", localStorage.getItem("appVersion"), { - secure: true - }); setCookie("username", localStorage.getItem("username"), { secure: true }); - setCookie("_appName", localStorage.getItem("_appName"), { secure: true }); - setCookie("_app_objectId", localStorage.getItem("_app_objectId"), { - secure: true - }); - setCookie("scriptId", localStorage.getItem("scriptId"), { secure: true }); - setCookie( - `Parse/${localStorage.getItem("parseAppId")}/installationId`, - localStorage.getItem( - `Parse/${localStorage.getItem("parseAppId")}/installationId` - ), - { secure: true } - ); - setCookie("appName", localStorage.getItem("appName"), { secure: true }); setCookie("main_Domain", window.location.host, { secure: true }); }; const getDashboard = async (id) => { From a2467ef1a6e53749b6a0cc063eb99d82e7e44924 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Wed, 3 Apr 2024 20:30:46 +0530 Subject: [PATCH 3/3] refactor code --- apps/OpenSign/src/layout/HomeLayout.js | 48 ++++++++++++++++++++++++++ apps/OpenSign/src/pages/Dashboard.js | 48 +------------------------- 2 files changed, 49 insertions(+), 47 deletions(-) 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 2fa8f2d1d..3b580d396 100644 --- a/apps/OpenSign/src/pages/Dashboard.js +++ b/apps/OpenSign/src/pages/Dashboard.js @@ -6,7 +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"; -import { useCookies } from "react-cookie"; + const Dashboard = () => { const navigate = useNavigate(); const dispatch = useDispatch(); @@ -15,25 +15,9 @@ const Dashboard = () => { const [classnameArray, setclassnameArray] = useState([]); const [loading, setloading] = useState(false); const [defaultQuery, setDefaultQuery] = useState(""); - const [, setCookie] = useCookies([ - "TenantId", - "userDetails", - "userEmail", - "profileImg", - "fev_Icon", - "accesstoken", - `Parse/${localStorage.getItem("parseAppId")}/currentUser`, - "appLogo", - "baseUrl", - "domain", - "parseAppId", - "username", - "main_Domain" - ]); useEffect(() => { if (localStorage.getItem("accesstoken")) { - saveCookies(); if (id !== undefined) { getDashboard(id); } else { @@ -45,36 +29,6 @@ const Dashboard = () => { // eslint-disable-next-line }, [id]); - //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 }); - }; const getDashboard = async (id) => { setloading(true); try {