ConceptPortal-public/rsconcept/frontend/src/components/RequireAuth.tsx

28 lines
887 B
TypeScript
Raw Normal View History

2023-07-15 17:46:19 +03:00
import { useAuth } from '../context/AuthContext';
import TextURL from './Common/TextURL';
interface RequireAuthProps {
children: React.ReactNode
}
2023-07-25 20:27:29 +03:00
function RequireAuth({ children }: RequireAuthProps) {
2023-07-31 23:47:18 +03:00
const { user } = useAuth();
2023-07-15 17:46:19 +03:00
return (
<>
{user && children}
2023-07-25 20:27:29 +03:00
{!user &&
2023-08-10 14:30:20 +03:00
<div className='flex flex-col items-center mt-2 gap-1'>
<p><b>Данная страница доступна только зарегистрированным пользователям</b></p>
<p className='mb-2'>Пожалуйста войдите в систему</p>
<TextURL text='Войти в систему' href='/login'/>
<TextURL text='Зарегистрироваться' href='/signup'/>
<TextURL text='Начальная страница' href='/'/>
2023-07-15 17:46:19 +03:00
</div>
}
</>
);
}
2023-07-25 20:27:29 +03:00
export default RequireAuth;