Files
Nitro-V3/src/components/room/widgets/context-menu/ContextMenuCaretView.tsx
T
2026-05-07 21:19:15 +02:00

27 lines
950 B
TypeScript

import { FC, useMemo } from 'react';
import { FaCaretDown, FaCaretUp } from 'react-icons/fa';
import { Flex, FlexProps } from '../../../../common';
interface CaretViewProps extends FlexProps
{
collapsed?: boolean;
}
export const ContextMenuCaretView: FC<CaretViewProps> = props =>
{
const { justifyContent = 'center', alignItems = 'center', classNames = [], collapsed = true, ...rest } = props;
const getClassNames = useMemo(() =>
{
const newClassNames: string[] = [ 'menu-footer nitro-context-menu-footer' ];
if(classNames.length) newClassNames.push(...classNames);
return newClassNames;
}, [ classNames ]);
return <Flex alignItems={ alignItems } classNames={ getClassNames } justifyContent={ justifyContent } { ...rest }>
{ !collapsed && <FaCaretDown className="fa-icon align-self-center" /> }
{ collapsed && <FaCaretUp className="fa-icon align-self-center" /> }
</Flex>;
};