From 4175385c643f8052647e6a2928f7ce013bd6a34c Mon Sep 17 00:00:00 2001 From: Alex Cheung Date: Wed, 17 Jan 2024 17:19:25 +0800 Subject: [PATCH] check redirect with hardcode url in browser after login and add user edit page in public user --- src/layout/MainLayout/Header/index.js | 37 +++++++++++++++++- src/pages/Payment/FPS/FPS.js | 18 ++++++--- src/pages/Payment/index.js | 13 ++----- src/routes/AfterLoginRoutes.js | 54 +++++++++++++++++++++++++++ src/routes/PublicUserRoutes.js | 10 +++++ src/routes/index.js | 14 ++++--- src/utils/Utils.js | 6 +++ 7 files changed, 131 insertions(+), 21 deletions(-) create mode 100644 src/routes/AfterLoginRoutes.js diff --git a/src/layout/MainLayout/Header/index.js b/src/layout/MainLayout/Header/index.js index a1f27a9..641b8e3 100644 --- a/src/layout/MainLayout/Header/index.js +++ b/src/layout/MainLayout/Header/index.js @@ -41,7 +41,15 @@ import AdminLogo from 'components/AdminLogo'; import MobileLogo from 'components/MobileLogo'; import Profile from './HeaderContent/Profile'; import "assets/style/navbarStyles.css"; -import { isUserLoggedIn, isGLDLoggedIn, isPrimaryLoggedIn, isCreditorLoggedIn } from "utils/Utils"; +import { + isUserLoggedIn, + isGLDLoggedIn, + isPrimaryLoggedIn, + isCreditorLoggedIn, + isINDLoggedIn, + // isORGLoggedIn, + getUserId +} from "utils/Utils"; import { handleLogoutFunction } from 'auth/index'; // assets @@ -197,12 +205,39 @@ function Header(props) { : + isINDLoggedIn()? <> console.log(event)}> + + + : + <> + + console.log(event)}> + + + + } diff --git a/src/pages/Payment/FPS/FPS.js b/src/pages/Payment/FPS/FPS.js index 6835a46..cec0971 100644 --- a/src/pages/Payment/FPS/FPS.js +++ b/src/pages/Payment/FPS/FPS.js @@ -158,13 +158,21 @@ const Index = () => { */ setResponeDataData(responseData) const timeoutdatetime = responseData.fpsmerchanttimeoutdatetime - const convertedDateString = timeoutdatetime.replace("[UTC]", ""); + const searchString = "[UTC]"; + let convertedDateString = ""; + if ( timeoutdatetime.toString().includes(searchString) ){ + convertedDateString = timeoutdatetime.replace("[UTC]", ""); + } else { + convertedDateString = timeoutdatetime; + } setFpsmerchanttimeoutdatetime(convertedDateString) - // const parsedUrl = new URL(responseData.fpsqrcodeurl); - // const fpsqrcodeurl = parsedUrl.pathname; - const openPASGUrl = pasgPath + '?pay_req_obj=' + encodeURIComponent(responseData.fpsqrcodeurl) + '&callback=' + + const parsedUrl = new URL(responseData.fpsqrcodeurl); + const fpsqrcodeurl = paymentPath+parsedUrl.pathname; + + const openPASGUrl = pasgPath + '?pay_req_obj=' + encodeURIComponent(fpsqrcodeurl) + '&callback=' + encodeURIComponent("https://"+window.location.hostname+ '/paymentPage/fps/fpscallback?TRANSACTION_ID='+paymentData.transactionid+"&WEB_TOKEN="+paymentData.webtoken+"&PAYMENT_ID="+localStorage.getItem("paymentId")); - const openPASGUrlPrd = pasgPathPrd + '?pay_req_obj=' + encodeURIComponent(responseData.fpsqrcodeurl) + '&callback=' + const openPASGUrlPrd = pasgPathPrd + '?pay_req_obj=' + encodeURIComponent(fpsqrcodeurl) + '&callback=' + encodeURIComponent("https://"+window.location.hostname+ '/paymentPage/fps/fpscallback?TRANSACTION_ID='+paymentData.transactionid+"&WEB_TOKEN="+paymentData.webtoken+"&PAYMENT_ID="+localStorage.getItem("paymentId")); setFpsqrcodeurl(openPASGUrl) setFpsqrcodeurlPrd(openPASGUrlPrd) diff --git a/src/pages/Payment/index.js b/src/pages/Payment/index.js index a026260..9324740 100644 --- a/src/pages/Payment/index.js +++ b/src/pages/Payment/index.js @@ -20,14 +20,6 @@ import { Dialog, DialogTitle, DialogContent, DialogActions, } from '@mui/material'; -// //icon -// import VisaIcon from "assets/images/icons/visacard.svg"; -// import MasterIcon from "assets/images/icons/mastercard.svg"; -// import JcbIcon from "assets/images/icons/jcb.svg"; -// import UnionPayIcon from "assets/images/icons/unionpay.svg"; -// import PpsIcon from "assets/images/icons/ppshk.svg"; -// import FpsIcon from "assets/images/icons/fps.svg"; - import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' import {ThemeProvider} from "@emotion/react"; import {PNSPS_BUTTON_THEME} from "../../themes/buttonConst"; @@ -77,8 +69,9 @@ const Index = () => { useEffect(() => { setAppIds(location.state?.appIdList ?? []) setTotalAmount(location.state?.amount ?? 2000) - // getAvailablePayment() - // getTransactionId() + localStorage.removeItem("webtoken"); + localStorage.removeItem("transactionid"); + localStorage.removeItem("paymentId"); }, []); useEffect(() => { diff --git a/src/routes/AfterLoginRoutes.js b/src/routes/AfterLoginRoutes.js new file mode 100644 index 0000000..a8d1c62 --- /dev/null +++ b/src/routes/AfterLoginRoutes.js @@ -0,0 +1,54 @@ +import { lazy } from 'react'; + +// project import +import Loadable from 'components/Loadable'; +import { Navigate } from "react-router"; + +const MainLayout = Loadable(lazy(() => import('layout/MainLayout'))); + +// ==============================|| MAIN ROUTING ||============================== // + +const AfterLoginRoutes = { + path: '/', + element: , + children: [ + { + path: 'login', + element: + }, + { + path: 'register', + element: + }, + { + path: 'registerFrom', + element: + }, + { + path: 'iamsmart/logincallback', + element: + }, + { + path: 'iamsmart/loginfallback', + element: + }, + { + path: 'iamsmart/registrycallback', + element: + }, + { + path: 'iamsmart/loginFail', + element: + }, + { + path: 'iamsmart/loginSucess', + element: + }, + { + path: 'verify/:verifyCode/:email', + element: + }, + ] +}; + +export default AfterLoginRoutes; diff --git a/src/routes/PublicUserRoutes.js b/src/routes/PublicUserRoutes.js index b0f4815..49a3c04 100644 --- a/src/routes/PublicUserRoutes.js +++ b/src/routes/PublicUserRoutes.js @@ -23,6 +23,8 @@ const Payment_Callback = Loadable(lazy(() => import('pages/Payment/PaymentCallba const PaymentSearch_Public = Loadable(lazy(() => import('pages/Payment/Search_Public'))); const PaymentDetails_Public = Loadable(lazy(() => import('pages/Payment/Details_Public'))); const DemandNote_Public = Loadable(lazy(() => import('pages/DemandNote/Search_Public'))); +const UserMaintainPage_Individual = Loadable(lazy(() => import('pages/User/DetailsPage_Individual'))); +const UserMaintainPage_Organization = Loadable(lazy(() => import('pages/User/DetailsPage_Organization'))); // ==============================|| MAIN ROUTING ||============================== // @@ -105,6 +107,14 @@ const PublicDashboard = { path: 'paymentPage/demandNote', element: }, + { + path: '/indUser/:id', + element: + }, + { + path: '/orgUser/:id', + element: + }, ] }, ] diff --git a/src/routes/index.js b/src/routes/index.js index 72759a5..27969c8 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -1,6 +1,6 @@ // project import import LoginRoutes from './LoginRoutes' -import MainRoutes from './MainRoutes' +// import MainRoutes from './MainRoutes' import PublicUserRoutes from './PublicUserRoutes' import GLDUserRoutes from './GLDUserRoutes' import TestRoutes from './_TestRoutes' @@ -17,9 +17,8 @@ import { SetupAxiosInterceptors, } from "auth/index"; import SettingRoutes from './SettingRoutes'; -// import Loadable from 'components/Loadable'; -// import { lazy } from 'react'; -// const SettingRoutes = Loadable(lazy(() => import('./SettingRoutes'))); +import AfterLoginRoutes from './AfterLoginRoutes'; + // ==============================|| ROUTING RENDER ||============================== // export default function ThemeRoutes() { @@ -44,7 +43,12 @@ export default function ThemeRoutes() { }) ] }, - isUserLoggedIn() ? MainRoutes : LoginRoutes, + // isUserLoggedIn() ? MainRoutes : LoginRoutes, + isUserLoggedIn() ? AfterLoginRoutes : + { + path: '/dashboard', + element: + }, isUserLoggedIn() && isINDLoggedIn() || isUserLoggedIn() && isORGLoggedIn() ? PublicUserRoutes : LoginRoutes, isUserLoggedIn() && isGLDLoggedIn() ? SettingRoutes : LoginRoutes, isUserLoggedIn() && isGLDLoggedIn() ? GLDUserRoutes : LoginRoutes, diff --git a/src/utils/Utils.js b/src/utils/Utils.js index 7dfe0eb..aede70a 100644 --- a/src/utils/Utils.js +++ b/src/utils/Utils.js @@ -136,3 +136,9 @@ export const gazetteLength = (length,noOfPages) => { } return countLength+" cm" } + +export const getUserId = () =>{ + if (localStorage.getItem('userData') != null){ + return JSON.parse(localStorage.getItem('userData')).id + } +}