feat: add login and register + add links from primary page

This commit is contained in:
2026-05-10 18:18:17 +03:00
parent 56e32688e0
commit 84e4fcdaec
5 changed files with 14 additions and 4 deletions

View File

@@ -0,0 +1,3 @@
export function useIsAuthenticated(): boolean {
return localStorage.getItem('isAuthenticated') === 'true'
}

View File

@@ -1,2 +1,3 @@
export { registrationStart, registrationComplete } from './api/registrationApi'
export type { RegistrationStartPayload, RegistrationCompletePayload } from './api/registrationApi'
export { useIsAuthenticated } from './hooks/useIsAuthenticated'

View File

@@ -2,8 +2,11 @@ import logo from '@shared/assets/logo-full-white.png'
import styles from './Header.module.css'
import { Link } from 'react-router-dom'
import { ROUTES } from '@shared/config/routes'
import { useIsAuthenticated } from '@features/auth'
export function Header() {
const isAuthenticated = useIsAuthenticated()
return (
<nav className={styles.nav}>
<a className={styles.logo} href="/">
@@ -13,7 +16,7 @@ export function Header() {
<a className={styles.link} href="#about">
О нас
</a>
<Link className={styles.btn} to={ROUTES.WALLET}>
<Link className={styles.btn} to={isAuthenticated ? ROUTES.WALLET : ROUTES.LOGIN}>
Личный кабинет
</Link>
</div>

View File

@@ -26,7 +26,10 @@ export function useRegisterForm() {
const completeMutation = useMutation({
mutationFn: registrationComplete,
onSuccess: () => navigate(ROUTES.LOGIN),
onSuccess: () => {
localStorage.setItem('isAuthenticated', 'true')
navigate(ROUTES.WALLET)
},
})
const handleRequestCode = () => {