2022-08-05 19:36:07 +00:00
|
|
|
import { useEffect, useContext } from 'react';
|
|
|
|
import { useNavigate } from 'react-router-dom';
|
|
|
|
import { SessionWrapper } from './Session.styled';
|
|
|
|
import { Button } from 'antd';
|
|
|
|
import { AppContext } from 'context/AppContext';
|
|
|
|
import { ViewportContext } from 'context/ViewportContext';
|
2022-08-04 22:20:48 +00:00
|
|
|
|
|
|
|
export function Session() {
|
2022-08-05 19:36:07 +00:00
|
|
|
|
|
|
|
const app = useContext(AppContext);
|
|
|
|
const viewport = useContext(ViewportContext);
|
|
|
|
const navigate = useNavigate();
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
if (app.state) {
|
|
|
|
if (!app.state.access) {
|
|
|
|
navigate('/');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, [app, navigate]);
|
|
|
|
|
|
|
|
return (
|
|
|
|
<SessionWrapper>
|
|
|
|
{ (viewport.state.display === 'xlarge') && (
|
|
|
|
<div class="desktop-layout">
|
|
|
|
<Button type="primary" onClick={app.actions.logout}>Logout</Button>
|
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
{ (viewport.state.display === 'large' || viewport.state.display === 'medium') && (
|
|
|
|
<div class="tablet-layout">
|
|
|
|
<Button type="primary" onClick={app.actions.logout}>Logout</Button>
|
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
{ (viewport.state.display === 'small') && (
|
|
|
|
<div class="mobile-layout">
|
|
|
|
<Button type="primary" onClick={app.actions.logout}>Logout</Button>
|
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
</SessionWrapper>
|
|
|
|
);
|
2022-08-04 22:20:48 +00:00
|
|
|
}
|
|
|
|
|