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)