diff --git a/apps/api/package.json b/apps/api/package.json index e443f80..b92af12 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -12,7 +12,7 @@ "dependencies": { "@repo/ui": "*", "@repo/auth": "*", - "next": "^15.2.4", + "next": "^15.2.5", "react": "^19.1.0", "react-dom": "^19.1.0", "zod": "^3.24.2" @@ -21,7 +21,7 @@ "@repo/typescript-config": "*", "@types/node": "^22.14.0", "@types/react": "19.1.0", - "@types/react-dom": "19.1.1", - "typescript": "5.8.2" + "@types/react-dom": "19.1.2", + "typescript": "5.8.3" } } diff --git a/apps/web/app/(authenticated)/components/footer/index.tsx b/apps/web/app/(authenticated)/components/footer/index.tsx new file mode 100644 index 0000000..c602a59 --- /dev/null +++ b/apps/web/app/(authenticated)/components/footer/index.tsx @@ -0,0 +1,110 @@ +import { Status } from '@repo/ui/components/status' +import { ThemeSwitcher } from '@repo/ui/components/theme-toggle' +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger +} from '@repo/ui/components/ui/dropdown-menu' +import { ChevronDown } from 'lucide-react' +import Image from 'next/image' +import Link from 'next/link' + +export const Footer = () => { + return ( + + ) +} diff --git a/apps/web/app/(authenticated)/components/header/index.tsx b/apps/web/app/(authenticated)/components/header/index.tsx new file mode 100644 index 0000000..b021ab5 --- /dev/null +++ b/apps/web/app/(authenticated)/components/header/index.tsx @@ -0,0 +1,100 @@ +'use client' + +import { AuthButtons } from '@/app/(home)/components/header/auth-buttons' +import { useSession } from '@repo/auth/client' +import {} from '@repo/ui/components/ui/avatar' +import { Button } from '@repo/ui/components/ui/button' +import {} from '@repo/ui/components/ui/dropdown-menu' +import { useIsScroll } from '@repo/ui/hooks/use-scroll' +import { cn } from '@repo/ui/lib/utils' +import { ChevronsUpDown, SlashIcon } from 'lucide-react' +import Image from 'next/image' +import Link from 'next/link' + +export const Header = () => { + const { data: session } = useSession() + const isScroll = useIsScroll() + + return ( +
+ + Blackhead Logo + + +
+ ) +} diff --git a/apps/web/app/(authenticated)/components/navigation.tsx b/apps/web/app/(authenticated)/components/navigation.tsx new file mode 100644 index 0000000..38a91c2 --- /dev/null +++ b/apps/web/app/(authenticated)/components/navigation.tsx @@ -0,0 +1,21 @@ +'use client' + +import { useIsScroll } from '@repo/ui/hooks/use-scroll' +import { cn } from '@repo/ui/lib/utils' + +export const Naviation = () => { + const isScroll = useIsScroll() + + return ( +
+
+ test +
+
+ ) +} diff --git a/apps/web/app/(authenticated)/layout.tsx b/apps/web/app/(authenticated)/layout.tsx index 34dc234..d44463e 100644 --- a/apps/web/app/(authenticated)/layout.tsx +++ b/apps/web/app/(authenticated)/layout.tsx @@ -2,6 +2,9 @@ import { auth } from '@repo/auth/server' import { headers } from 'next/headers' import { redirect } from 'next/navigation' import type { ReactNode } from 'react' +import { Footer } from './components/footer' +import { Header } from './components/header' +import { Naviation } from './components/navigation' interface DashboardLayoutProps { children: ReactNode @@ -19,5 +22,14 @@ export default async function DashboardLayout({ redirect('/login') // Redirect to login if not logged in } - return <>{children} + return ( + <> +
+
+ + {children} +
+