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:
Finley Ge
2025-03-12 13:47:15 +08:00
committed by archer
parent 1a3613cd2c
commit c301dafca7
26 changed files with 719 additions and 251 deletions

View File

@@ -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>
);
};