mirror of
https://github.com/harivansh-afk/Saas-Teamspace.git
synced 2026-04-21 08:02:18 +00:00
initial commit
This commit is contained in:
commit
ef9ccf22d3
133 changed files with 20802 additions and 0 deletions
130
components/sidebar.tsx
Normal file
130
components/sidebar.tsx
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
import { cn } from '@/lib/utils'
|
||||
import Link from 'next/link'
|
||||
import { useCurrentUser } from '@/hooks/use-current-user'
|
||||
import { signOut } from 'next-auth/react'
|
||||
import Image from 'next/image'
|
||||
import { ModeToggle } from '@/components/mode-toggle'
|
||||
import { Logo } from '@/components/logo'
|
||||
|
||||
const sidebarPages = [
|
||||
{
|
||||
link: '/',
|
||||
title: 'Home'
|
||||
},
|
||||
{
|
||||
link: '#profile',
|
||||
title: 'Profile'
|
||||
},
|
||||
{
|
||||
link: '#purchases',
|
||||
title: 'Purchases'
|
||||
}
|
||||
]
|
||||
|
||||
const socials = [
|
||||
{
|
||||
link: 'https://github.com/NizarAbiZaher',
|
||||
title: 'Github'
|
||||
},
|
||||
{
|
||||
link: 'https://www.youtube.com/@NizzyABI',
|
||||
title: 'Youtube'
|
||||
},
|
||||
{
|
||||
link: 'https://twitter.com/NizarAbiZaher',
|
||||
title: 'Twitter'
|
||||
},
|
||||
{
|
||||
link: 'https://www.linkedin.com/in/nizarabizaher/',
|
||||
title: 'Tiktok'
|
||||
},
|
||||
{
|
||||
link: 'https://www.instagram.com/nizarabizaher/',
|
||||
title: 'Instagram'
|
||||
},
|
||||
{
|
||||
link: 'https://discord.gg/nizar',
|
||||
title: 'Discord'
|
||||
}
|
||||
]
|
||||
|
||||
interface SidebarProps {
|
||||
closeSidebar?: () => void
|
||||
}
|
||||
|
||||
export const Sidebar = ({ closeSidebar }: SidebarProps) => {
|
||||
const session = useCurrentUser()
|
||||
const Logout = () => {
|
||||
signOut()
|
||||
}
|
||||
return (
|
||||
<div className="flex flex-col justify-between pl-2">
|
||||
<Link href="/" onClick={closeSidebar}>
|
||||
<Logo />
|
||||
</Link>
|
||||
<div className="flex pt-4">
|
||||
<ModeToggle />
|
||||
</div>
|
||||
<div className=" pt-3">
|
||||
<div className="space-y-4">
|
||||
<div className="ml-2">
|
||||
<h1 className="text-xl font-semibold">Main</h1>
|
||||
{sidebarPages.map((page) => (
|
||||
<Link
|
||||
key={page.link}
|
||||
href={page.link}
|
||||
className={cn(
|
||||
'group flex py-1.5 w-full justify-start font-light cursor-pointer'
|
||||
)}
|
||||
onClick={closeSidebar}
|
||||
>
|
||||
<div className="flex w-full">
|
||||
<p className="font-normal text-foreground/75">{page.title}</p>
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
<div className="ml-2">
|
||||
<h1 className="text-xl font-semibold">Socials</h1>
|
||||
{socials.map((page) => (
|
||||
<Link
|
||||
key={page.link}
|
||||
href={page.link}
|
||||
className={cn(
|
||||
'group flex w-full justify-start font-light cursor-pointer py-1.5'
|
||||
)}
|
||||
onClick={closeSidebar}
|
||||
>
|
||||
<div className="flex w-full">
|
||||
<p className="font-normal text-foreground/75">{page.title}</p>
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
{session ? (
|
||||
<Link
|
||||
href="/login"
|
||||
className="group flex py-2 w-full justify-start cursor-pointer rounded ml-2 font-bold text-xl"
|
||||
onClick={() => {
|
||||
Logout()
|
||||
closeSidebar && closeSidebar()
|
||||
}}
|
||||
>
|
||||
Logout
|
||||
</Link>
|
||||
) : (
|
||||
<Link
|
||||
href="/login"
|
||||
className="group flex pt-2 w-full justify-start font-light cursor-pointer"
|
||||
onClick={closeSidebar}
|
||||
>
|
||||
<div className="flex w-full ml-2 pb-3">
|
||||
<p className="font-semibold ">Sign Up</p>
|
||||
</div>
|
||||
</Link>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue