import { useCallback } from 'react' import { Panel, Pivot, PivotItem, Stack } from '@fluentui/react' import type { IRenderFunction, IPanelProps } from '@fluentui/react' import ChatPanel from './chats' import PeoplePanel from './people' import { classes, panelStyles, pivotStyles } from './styles' import { useLocalState } from '../../state' import { capitalize } from '../../utils/helpers' interface SidePanelProps {} const SidePanel: React.FC = () => { const [panel] = useLocalState(state => [state.sidePanelTab]) const setPanel = (sidePanelTab: typeof panel) => useLocalState.setState({ sidePanelTab, }) const keys: NonNullable[] = ['chats', 'people'] const title = capitalize(panel) const onRenderNavigationContent: IRenderFunction = useCallback( (props, defaultRender) => (

{title}

{defaultRender?.(props)}
), [title], ) return (
setPanel(undefined)} closeButtonAriaLabel="Close" isFooterAtBottom // for full height > { const key = item?.props.itemKey as typeof panel if (key) { setPanel(key) } }} className={classes.pivotContainer} styles={pivotStyles} aria-label="Switch between Chats and People list" >
) } export default SidePanel