This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

semble / src / webapp / features / composer / components / composerDrawer / ComposerDrawer.tsx
1.2 kB 38 lines
1import { ActionIcon, Affix } from '@mantine/core'; 2import { Fragment, useState } from 'react'; 3import { FiPlus } from 'react-icons/fi'; 4import AddCardDrawer from '@/features/cards/components/addCardDrawer/AddCardDrawer'; 5import { useMediaQuery } from '@mantine/hooks'; 6import { useNavbarContext } from '@/providers/navbar'; 7 8export default function ComposerDrawer() { 9 const { mobileOpened, desktopOpened } = useNavbarContext(); 10 const isDesktop = useMediaQuery('(min-width: 36em)', false); // "sm" breakpoint 11 const isNavOpen = isDesktop ? desktopOpened : mobileOpened; 12 const shouldShowFab = !isNavOpen; 13 const [opened, setOpened] = useState(false); 14 15 return ( 16 <Fragment key={shouldShowFab.toString()}> 17 {shouldShowFab && ( 18 <Affix 19 mt={'md'} 20 mx={{ base: 20, sm: 'xs' }} 21 mb={{ base: 100, sm: 'md' }} 22 style={{ zIndex: 102 }} 23 > 24 <ActionIcon 25 size="input-xl" 26 radius="xl" 27 variant="filled" 28 onClick={() => setOpened((prev) => !prev)} 29 > 30 <FiPlus size={30} /> 31 </ActionIcon> 32 </Affix> 33 )} 34 35 <AddCardDrawer isOpen={opened} onClose={() => setOpened(false)} /> 36 </Fragment> 37 ); 38}