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 => ( )) }
) }
); };