import type { FC } from 'react'; import React, { useCallback } from 'react'; import type { IUserGroupHasId } from '@growi/core'; import { useTranslation } from 'next-i18next'; type Props = { selectableUserGroups?: IUserGroupHasId[]; onClickAddExistingUserGroupButton?(userGroup: IUserGroupHasId | null): void; onClickCreateUserGroupButton?(): void; }; export const UserGroupDropdown: FC = (props: Props) => { const { t } = useTranslation(); const { selectableUserGroups, onClickAddExistingUserGroupButton, onClickCreateUserGroupButton, } = props; const onClickAddExistingUserGroupButtonHandler = useCallback( (userGroup: IUserGroupHasId) => { if (onClickAddExistingUserGroupButton != null) { onClickAddExistingUserGroupButton(userGroup); } }, [onClickAddExistingUserGroupButton], ); const onClickCreateUserGroupButtonHandler = useCallback(() => { if (onClickCreateUserGroupButton != null) { onClickCreateUserGroupButton(); } }, [onClickCreateUserGroupButton]); return ( <>
{selectableUserGroups != null && selectableUserGroups.length > 0 && ( <> {selectableUserGroups.map((userGroup) => ( ))}
)}
); };