@@ -13,7 +13,10 @@ export const hostPath = `http://${hostname}:${hostPort}`; | |||||
export const apiPath = `${hostPath}/api`; | export const apiPath = `${hostPath}/api`; | ||||
// export const apiPath = `/api`; | // export const apiPath = `/api`; | ||||
export const paymentPath = `http://pnspsdev.gld.gov.hk/payment`; | export const paymentPath = `http://pnspsdev.gld.gov.hk/payment`; | ||||
export const iAmSmartPath = `https://<iAM_Smart_domain>`; | |||||
export const iAmSmartPath = `https://apigw-isit.staging-eid.gov.hk`; | |||||
// clientId : cf61fa7c121e4869966f69c8694b1cd2 | |||||
export const isUserLoggedIn = () => { | export const isUserLoggedIn = () => { | ||||
@@ -0,0 +1,66 @@ | |||||
// material-ui | |||||
import { | |||||
Grid, | |||||
Typography, | |||||
Stack, | |||||
} from '@mui/material'; | |||||
import * as React from "react"; | |||||
import Loadable from 'components/Loadable'; | |||||
const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | |||||
import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | |||||
const BackgroundHead = { | |||||
backgroundImage: `url(${titleBackgroundImg})`, | |||||
width: '100%', | |||||
height: '100%', | |||||
backgroundSize: 'contain', | |||||
backgroundRepeat: 'no-repeat', | |||||
backgroundColor: '#0C489E', | |||||
backgroundPosition: 'right' | |||||
} | |||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | |||||
const Index = () => { | |||||
const [onReady, setOnReady] = React.useState(false); | |||||
React.useEffect(() => { | |||||
setOnReady(true); | |||||
}, []); | |||||
return ( | |||||
!onReady ? | |||||
<LoadingComponent /> | |||||
: | |||||
<Grid container sx={{ minHeight: '110vh', backgroundColor: '#fff' }} direction="column" justifyContent="flex-start" alignItems="center" > | |||||
<Grid item xs={12} width="100%"> | |||||
<div style={BackgroundHead} width="100%"> | |||||
<Stack direction="row" height='70px'> | |||||
<Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>iAmSmart 登入失敗</Typography> | |||||
</Stack> | |||||
</div> | |||||
</Grid> | |||||
{/*row 1*/} | |||||
<Grid item xs={12} md={12} > | |||||
<Grid container justifyContent="flex-start" alignItems="center" > | |||||
<center> | |||||
<Grid item xs={12} md={12} > | |||||
<Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> | |||||
連接 iAM Smart 時出現錯誤,請重試。 | |||||
</Typography> | |||||
</Grid> | |||||
</center> | |||||
</Grid> | |||||
</Grid> | |||||
{/*row 2*/} | |||||
</Grid > | |||||
); | |||||
}; | |||||
export default Index; |
@@ -0,0 +1,66 @@ | |||||
// material-ui | |||||
import { | |||||
Grid, | |||||
Typography, | |||||
Stack, | |||||
} from '@mui/material'; | |||||
import * as React from "react"; | |||||
import Loadable from 'components/Loadable'; | |||||
const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | |||||
import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | |||||
const BackgroundHead = { | |||||
backgroundImage: `url(${titleBackgroundImg})`, | |||||
width: '100%', | |||||
height: '100%', | |||||
backgroundSize: 'contain', | |||||
backgroundRepeat: 'no-repeat', | |||||
backgroundColor: '#0C489E', | |||||
backgroundPosition: 'right' | |||||
} | |||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | |||||
const Index = () => { | |||||
const [onReady, setOnReady] = React.useState(false); | |||||
React.useEffect(() => { | |||||
setOnReady(true); | |||||
}, []); | |||||
return ( | |||||
!onReady ? | |||||
<LoadingComponent /> | |||||
: | |||||
<Grid container sx={{ minHeight: '110vh', backgroundColor: '#fff' }} direction="column" justifyContent="flex-start" alignItems="center" > | |||||
<Grid item xs={12} width="100%"> | |||||
<div style={BackgroundHead} width="100%"> | |||||
<Stack direction="row" height='70px'> | |||||
<Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>iAmSmart 成功登入</Typography> | |||||
</Stack> | |||||
</div> | |||||
</Grid> | |||||
{/*row 1*/} | |||||
<Grid item xs={12} md={12} > | |||||
<Grid container justifyContent="flex-start" alignItems="center" > | |||||
<center> | |||||
<Grid item xs={12} md={12} > | |||||
<Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> | |||||
iAmSmart 成功登入 | |||||
</Typography> | |||||
</Grid> | |||||
</center> | |||||
</Grid> | |||||
</Grid> | |||||
{/*row 2*/} | |||||
</Grid > | |||||
); | |||||
}; | |||||
export default Index; |
@@ -11,6 +11,10 @@ const AuthRegister = Loadable(lazy(() => import('pages/authentication/RegisterCu | |||||
const RegisterForm = Loadable(lazy(() => import('pages/authentication/Register'))); | const RegisterForm = Loadable(lazy(() => import('pages/authentication/Register'))); | ||||
const BusRegisterForm = Loadable(lazy(() => import('pages/authentication/BusRegister'))); | const BusRegisterForm = Loadable(lazy(() => import('pages/authentication/BusRegister'))); | ||||
const ErrorPage = Loadable(lazy(() => import('pages/extra-pages/ErrorPage'))); | const ErrorPage = Loadable(lazy(() => import('pages/extra-pages/ErrorPage'))); | ||||
const IAmSmart_FailCallback = Loadable(lazy(() => import('pages/iAmSmart/FailCallback'))); | |||||
const IAmSmart_SuccessCallback = Loadable(lazy(() => import('pages/iAmSmart/SuccessCallback'))); | |||||
//TODO: this page for testing only, please remove at prod | |||||
const TestMailPage = Loadable(lazy(() => import('pages/pnspsNotifyTest'))); | const TestMailPage = Loadable(lazy(() => import('pages/pnspsNotifyTest'))); | ||||
// ==============================|| AUTH ROUTING ||============================== // | // ==============================|| AUTH ROUTING ||============================== // | ||||
@@ -19,6 +23,10 @@ const LoginRoutes = { | |||||
path: '/', | path: '/', | ||||
element: <MainLayout />, | element: <MainLayout />, | ||||
children: [ | children: [ | ||||
{//TODO: this page for testing only, please remove at prod | |||||
path: 'testMailPage', | |||||
element: <TestMailPage/> | |||||
}, | |||||
{ | { | ||||
path: 'login', | path: 'login', | ||||
element: <AuthLogin /> | element: <AuthLogin /> | ||||
@@ -40,8 +48,12 @@ const LoginRoutes = { | |||||
element: <ErrorPage/> | element: <ErrorPage/> | ||||
}, | }, | ||||
{ | { | ||||
path: 'testMailPage', | |||||
element: <TestMailPage/> | |||||
path: 'iamsmart/loginfailback', | |||||
element: <IAmSmart_FailCallback/> | |||||
}, | |||||
{ | |||||
path: 'iamsmart/logincallback', | |||||
element: <IAmSmart_SuccessCallback/> | |||||
} | } | ||||
] | ] | ||||
}; | }; | ||||