diff --git a/packages/desktop/src/tree/protected/terminal/panels/SidePanel.tsx b/packages/desktop/src/tree/protected/terminal/panels/SidePanel.tsx index e776ab1..019d4a2 100644 --- a/packages/desktop/src/tree/protected/terminal/panels/SidePanel.tsx +++ b/packages/desktop/src/tree/protected/terminal/panels/SidePanel.tsx @@ -1,5 +1,5 @@ import { LineMemberState } from '@nirvana/core/models/line.model'; -import { Skeleton, Tooltip } from 'antd'; +import { Avatar, Dropdown, Skeleton, Tooltip } from 'antd'; import React, { useCallback, useMemo, useState } from 'react'; import { FiActivity, FiPlus, FiSearch } from 'react-icons/fi'; import useRooms from '../../../../providers/RoomsProvider'; @@ -7,14 +7,20 @@ import NavBar from '../navbar/Navbar'; import NoTextLogo from '@nirvana/components/logo/NoTextLogo'; import LineRow from '../line/LineRow'; import useTerminalProvider from '../../../../providers/TerminalProvider'; +import useAuth from '../../../../providers/AuthProvider'; +import useSockets from '../../../../providers/SocketProvider'; export default function SidePanel() { // using merely for loading state...better to add to realtimeroom context? const { rooms: initialRoomsFetch } = useRooms(); + const { user } = useAuth(); + const { roomsMap, handleSelectLine, selectedLineId, handleShowNewChannelForm } = useTerminalProvider(); + const { handleFlowState } = useSockets(); + // todo: sort const allChannels = useMemo(() => { const channels = Object.values(roomsMap); @@ -53,8 +59,42 @@ export default function SidePanel() { className="flex flex-col w-[350px] group border-r border-r-gray-200 shadow-xl bg-white z-20 " > - + {/* user control panel */} +
+ + Channels + + + + {user.picture && ( + + )} +
+ + {/* secondary header with search and create */}
@@ -116,20 +156,6 @@ export default function SidePanel() { )}
- - {/* user control panel */} -
- -
); }