Files
lume/src/components/navigation/channels.tsx
2023-04-23 15:52:19 +07:00

33 lines
1.2 KiB
TypeScript

import ChannelList from '@components/channels/channelList';
import * as Collapsible from '@radix-ui/react-collapsible';
import { NavArrowUp } from 'iconoir-react';
import { Suspense, useState } from 'react';
import Skeleton from 'react-loading-skeleton';
export default function Channels() {
const [open, setOpen] = useState(true);
return (
<Collapsible.Root open={open} onOpenChange={setOpen}>
<div className="flex flex-col px-2">
<Collapsible.Trigger className="flex cursor-pointer items-center gap-1 px-1 py-1">
<div
className={`inline-flex h-5 w-5 transform items-center justify-center transition-transform duration-150 ease-in-out ${
open ? 'rotate-180' : ''
}`}
>
<NavArrowUp width={16} height={16} className="text-zinc-700" />
</div>
<h3 className="text-[11px] font-bold uppercase tracking-widest text-zinc-600">Channels</h3>
</Collapsible.Trigger>
<Collapsible.Content>
<Suspense fallback={<Skeleton />}>
<ChannelList />
</Suspense>
</Collapsible.Content>
</div>
</Collapsible.Root>
);
}