From c3dcb9c827df6d80ad1b0b1a7c6155561527b39d Mon Sep 17 00:00:00 2001 From: l3wdfut4pwr Date: Tue, 30 Dec 2025 13:46:39 +0200 Subject: init --- src/components/header/Header.tsx | 10 +++++ src/components/header/NavBar.tsx | 75 ++++++++++++++++++++++++++++++++ src/components/header/ProfileOrLogin.tsx | 25 +++++++++++ src/components/header/SubNav.tsx | 43 ++++++++++++++++++ src/components/header/index.ts | 4 ++ 5 files changed, 157 insertions(+) create mode 100644 src/components/header/Header.tsx create mode 100644 src/components/header/NavBar.tsx create mode 100644 src/components/header/ProfileOrLogin.tsx create mode 100644 src/components/header/SubNav.tsx create mode 100644 src/components/header/index.ts (limited to 'src/components/header') diff --git a/src/components/header/Header.tsx b/src/components/header/Header.tsx new file mode 100644 index 0000000..b096bdb --- /dev/null +++ b/src/components/header/Header.tsx @@ -0,0 +1,10 @@ +import { NavBar, SubNav } from '.'; + +export function Header() { + return ( +
+ + +
+ ); +} diff --git a/src/components/header/NavBar.tsx b/src/components/header/NavBar.tsx new file mode 100644 index 0000000..f186904 --- /dev/null +++ b/src/components/header/NavBar.tsx @@ -0,0 +1,75 @@ +//import { ShuffleIcon } from 'lucide-react'; +import ShuffleIcon from '@icons/ShuffleIcon.svg'; +import Image from 'next/image'; +import { Button, Input } from '../ui'; +import { ProfileOrLogin } from './ProfileOrLogin'; +import Link from 'next/link'; +import DiscordIcon from '@icons/discord.svg'; +import { Switch } from '@/components/ui/switch'; +export function NavBar() { + return ( +
+
+ + ARTBERRY + +
+ + +
+
+ AI + +
+
+ NSFW + +
+
+
+
+ + +
+ + + + +
+
+ ); +} + +function Search() { + return ( +
+
+ + +
+
+ ); +} + +function Sections() { + return ( +
+ ); +} diff --git a/src/components/header/ProfileOrLogin.tsx b/src/components/header/ProfileOrLogin.tsx new file mode 100644 index 0000000..38c1eb1 --- /dev/null +++ b/src/components/header/ProfileOrLogin.tsx @@ -0,0 +1,25 @@ +'use client'; + +import Image from 'next/image'; +import { useUser } from '../../lib/contexts'; +import { Button } from '../ui'; +import Link from 'next/link'; + +export function ProfileOrLogin() { + const user = useUser(); + + if (!user) { + return ; + } + + return ( + + + + ); +} diff --git a/src/components/header/SubNav.tsx b/src/components/header/SubNav.tsx new file mode 100644 index 0000000..a446ff0 --- /dev/null +++ b/src/components/header/SubNav.tsx @@ -0,0 +1,43 @@ +import Link from 'next/link'; +import { Button } from '../ui'; +import React from 'react'; +import { cn } from '@/lib/utils'; + +export function SubNav() { + return ( +
+ + ТЕГИ + + + КАТЕГОРИИ + + + ПЕРСОНАЖИ + + + КОЛЛЕКЦИИ + +
+ ); +} + +function SectionLink({ + children, + href, + className, +}: React.PropsWithChildren & { href: string; className?: string }) { + return ( + + ); +} diff --git a/src/components/header/index.ts b/src/components/header/index.ts new file mode 100644 index 0000000..3a75160 --- /dev/null +++ b/src/components/header/index.ts @@ -0,0 +1,4 @@ +export * from './Header'; +export * from './ProfileOrLogin'; +export * from './NavBar'; +export * from './SubNav'; -- cgit v1.3-3-g829e