2022-08-03 20:20:10 +00:00
|
|
|
import React, { useContext, useEffect } from 'react';
|
|
|
|
import { useNavigate } from "react-router-dom";
|
|
|
|
import { AppContext } from 'context/AppContext';
|
|
|
|
import { ViewportContext } from 'context/ViewportContext';
|
2022-08-04 06:28:09 +00:00
|
|
|
import { AccessWrapper } from './Access.styled';
|
2022-08-04 22:20:48 +00:00
|
|
|
import { Login } from './login/Login';
|
2022-08-03 20:20:10 +00:00
|
|
|
|
2022-08-04 05:07:02 +00:00
|
|
|
import login from 'images/login.png'
|
|
|
|
|
2022-08-04 06:28:09 +00:00
|
|
|
export function Access({ mode }) {
|
2022-08-03 20:20:10 +00:00
|
|
|
|
|
|
|
const navigate = useNavigate();
|
|
|
|
const app = useContext(AppContext);
|
|
|
|
const viewport = useContext(ViewportContext);
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
if (app.state) {
|
|
|
|
if (app.state.access) {
|
2022-08-04 22:20:48 +00:00
|
|
|
navigate('/session');
|
2022-08-03 20:20:10 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}, [app]);
|
|
|
|
|
2022-08-04 22:20:48 +00:00
|
|
|
const Prompt = () => {
|
|
|
|
if (mode === 'login') {
|
|
|
|
return <Login />
|
|
|
|
}
|
|
|
|
return <></>
|
|
|
|
}
|
|
|
|
|
2022-08-03 20:20:10 +00:00
|
|
|
return (
|
2022-08-04 06:28:09 +00:00
|
|
|
<AccessWrapper>
|
2022-08-03 21:30:24 +00:00
|
|
|
{ (viewport.state.display === 'large' || viewport.state.display === 'xlarge') && (
|
2022-08-04 05:07:02 +00:00
|
|
|
<div class="split-layout">
|
|
|
|
<div class="left">
|
|
|
|
<img class="splash" src={login} alt={login} />
|
|
|
|
</div>
|
2022-08-04 22:20:48 +00:00
|
|
|
<div class="right">
|
|
|
|
<Prompt />
|
|
|
|
</div>
|
2022-08-04 05:07:02 +00:00
|
|
|
</div>
|
2022-08-03 20:20:10 +00:00
|
|
|
)}
|
2022-08-03 21:30:24 +00:00
|
|
|
{ (viewport.state.display === 'medium' || viewport.state.display === 'small') && (
|
2022-08-04 05:07:02 +00:00
|
|
|
<div class="full-layout">
|
2022-08-04 22:20:48 +00:00
|
|
|
<div class="center">
|
|
|
|
<Prompt />
|
|
|
|
</div>
|
2022-08-04 05:07:02 +00:00
|
|
|
</div>
|
2022-08-03 20:20:10 +00:00
|
|
|
)}
|
2022-08-04 06:28:09 +00:00
|
|
|
</AccessWrapper>
|
2022-08-03 20:20:10 +00:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|