2
2
mirror of https://github.com/Thream/website.git synced 2024-07-21 09:28:32 +02:00
website/components/Application/GuildLeftSidebar/GuildLeftSidebar.tsx
2022-12-13 11:38:07 +01:00

54 lines
1.5 KiB
TypeScript

import Link from 'next/link'
import { CogIcon, PlusIcon } from '@heroicons/react/solid'
import { useGuildMember } from '../../../contexts/GuildMember'
import { Divider } from '../../design/Divider'
import { Channels } from '../Channels'
import { IconButton } from '../../design/IconButton'
import type { GuildsChannelsPath } from '..'
export interface GuildLeftSidebarProps {
path: GuildsChannelsPath
}
export const GuildLeftSidebar: React.FC<GuildLeftSidebarProps> = (props) => {
const { path } = props
const { guild, member } = useGuildMember()
return (
<div className='mt-2 flex w-full flex-col justify-between'>
<div className='mx-8 mt-2 p-2 text-center'>
<h2 data-cy='guild-left-sidebar-title' className='text-xl'>
{guild.name}
</h2>
</div>
<Divider />
<Channels path={path} />
<Divider />
<div className='mb-1 flex items-center justify-center space-x-6 p-2'>
{member.isOwner && (
<Link
href={`/application/${path.guildId}/channels/create`}
passHref
data-cy='link-add-channel'
>
<IconButton className='h-10 w-10' title='Add a Channel'>
<PlusIcon />
</IconButton>
</Link>
)}
<Link
href={`/application/${path.guildId}/settings`}
passHref
data-cy='link-settings-guild'
>
<IconButton className='h-7 w-7' title='Settings'>
<CogIcon />
</IconButton>
</Link>
</div>
</div>
)
}