feat: invitation link (#3979)
* feat: invitation link schema and apis * feat: add invitation link * feat: member status: active, leave, forbidden * fix: expires show hours and minutes * feat: invalid invitation link hint * fix: typo * chore: fix typo & i18n * fix * pref: fe * feat: add ttl index for 30-day-clean-up
This commit is contained in:
@@ -20,6 +20,7 @@ const PermissionManage = dynamic(
|
||||
);
|
||||
const GroupManage = dynamic(() => import('@/pageComponents/account/team/GroupManage/index'));
|
||||
const OrgManage = dynamic(() => import('@/pageComponents/account/team/OrgManage/index'));
|
||||
const HandleInviteModal = dynamic(() => import('@/pageComponents/account/team/HandleInviteModal'));
|
||||
|
||||
export enum TeamTabEnum {
|
||||
member = 'member',
|
||||
@@ -30,6 +31,16 @@ export enum TeamTabEnum {
|
||||
|
||||
const Team = () => {
|
||||
const router = useRouter();
|
||||
|
||||
const invitelinkid = useMemo(() => {
|
||||
const _id = router.query.invitelinkid;
|
||||
if (!_id && typeof _id !== 'string') {
|
||||
return '';
|
||||
} else {
|
||||
return _id as string;
|
||||
}
|
||||
}, [router.query.invitelinkid]);
|
||||
|
||||
const { teamTab = TeamTabEnum.member } = router.query as { teamTab: `${TeamTabEnum}` };
|
||||
|
||||
const { t } = useTranslation();
|
||||
@@ -142,6 +153,7 @@ const Team = () => {
|
||||
{teamTab === TeamTabEnum.permission && <PermissionManage Tabs={Tabs} />}
|
||||
</Box>
|
||||
</Flex>
|
||||
{invitelinkid && <HandleInviteModal invitelinkid={invitelinkid} />}
|
||||
</AccountContainer>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user