|
@@ -1,15 +1,13 @@
|
|
|
'use client'
|
|
'use client'
|
|
|
|
|
|
|
|
|
|
+import { useState } from 'react'
|
|
|
import Link from 'next/link'
|
|
import Link from 'next/link'
|
|
|
import { useAuth } from '@/hooks/useAuth'
|
|
import { useAuth } from '@/hooks/useAuth'
|
|
|
|
|
+import LoginModal from './LoginModal'
|
|
|
|
|
|
|
|
-/**
|
|
|
|
|
- * Шапка приложения. Отображает логотип PhotoPlaces и навигацию.
|
|
|
|
|
- * Для авторизованных пользователей показывает email и кнопку выхода.
|
|
|
|
|
- * Для гостей — ссылки на вход и регистрацию.
|
|
|
|
|
- */
|
|
|
|
|
export default function Header() {
|
|
export default function Header() {
|
|
|
const { user, isLoading, logout } = useAuth()
|
|
const { user, isLoading, logout } = useAuth()
|
|
|
|
|
+ const [showLogin, setShowLogin] = useState(false)
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<header className="absolute left-0 right-0 top-0 z-30 flex items-center justify-between px-4 py-3">
|
|
<header className="absolute left-0 right-0 top-0 z-30 flex items-center justify-between px-4 py-3">
|
|
@@ -30,12 +28,13 @@ export default function Header() {
|
|
|
</>
|
|
</>
|
|
|
) : (
|
|
) : (
|
|
|
<>
|
|
<>
|
|
|
- <Link
|
|
|
|
|
- href="/auth/login"
|
|
|
|
|
|
|
+ {showLogin && <LoginModal onClose={() => setShowLogin(false)} />}
|
|
|
|
|
+ <button
|
|
|
|
|
+ onClick={() => setShowLogin(true)}
|
|
|
className="rounded-lg bg-white/10 backdrop-blur-md px-4 py-2 text-sm text-white hover:bg-white/20 transition"
|
|
className="rounded-lg bg-white/10 backdrop-blur-md px-4 py-2 text-sm text-white hover:bg-white/20 transition"
|
|
|
>
|
|
>
|
|
|
Войти
|
|
Войти
|
|
|
- </Link>
|
|
|
|
|
|
|
+ </button>
|
|
|
<Link
|
|
<Link
|
|
|
href="/auth/register"
|
|
href="/auth/register"
|
|
|
className="rounded-lg bg-green-600 px-4 py-2 text-sm text-white hover:bg-green-500 transition"
|
|
className="rounded-lg bg-green-600 px-4 py-2 text-sm text-white hover:bg-green-500 transition"
|