import { memo } from 'react' import classNames from 'clsx' import Link from 'next/link' import { useRouter } from 'next/router' import { CogIcon } from '@heroicons/react/solid' import type { GuildsChannelsPath } from '../Application' import type { Channel as ChannelType } from '../../../models/Channel' import { useGuildMember } from '../../../contexts/GuildMember' import { IconButton } from '../../design/IconButton' export interface ChannelProps { path: GuildsChannelsPath channel: ChannelType selected?: boolean } const ChannelMemo: React.FC = (props) => { const { channel, path, selected = false } = props const router = useRouter() const { member } = useGuildMember() return ( # {channel.name} {member.isOwner && ( { await router.push( `/application/${channel.guildId}/${channel.id}/settings` ) }} className='bg-unherit absolute -right-10 h-full w-8 transition-all group-hover:right-0 group-hover:shadow-lg dark:group-hover:bg-gray-600' title='Settings' > )} ) } export const Channel = memo(ChannelMemo)