fix: leave team (#5554)

* chore: fe copywrite

* feat: auto accept invitation when login

* perf: only show forbidden filter in sync mode

* chore: auto accept invitation
This commit is contained in:
Finley Ge
2025-09-01 20:33:29 +08:00
committed by GitHub
parent 76a03a8363
commit f41775fe56
9 changed files with 107 additions and 49 deletions

View File

@@ -4,21 +4,35 @@ import { serviceSideProps } from '@/web/common/i18n/utils';
import { clearToken } from '@/web/support/user/auth';
import { useMount } from 'ahooks';
import LoginModal from '@/pageComponents/login/LoginModal';
import { postAcceptInvitationLink } from '@/web/support/user/team/api';
import type { ResLogin } from '@/global/support/api/userRes';
const Login = () => {
const router = useRouter();
const { lastRoute = '' } = router.query as { lastRoute: string };
const loginSuccess = useCallback(() => {
const decodeLastRoute = decodeURIComponent(lastRoute);
const loginSuccess = useCallback(
async (res: ResLogin) => {
const decodeLastRoute = decodeURIComponent(lastRoute);
const navigateTo = await (async () => {
if (res.user.team.status !== 'active') {
if (decodeLastRoute.includes('/account/team?invitelinkid=')) {
const id = decodeLastRoute.split('invitelinkid=')[1];
await postAcceptInvitationLink(id);
return '/dashboard/apps';
}
}
return decodeLastRoute &&
!decodeLastRoute.includes('/login') &&
decodeLastRoute.startsWith('/')
? lastRoute
: '/dashboard/apps';
})();
const navigateTo =
decodeLastRoute && !decodeLastRoute.includes('/login') && decodeLastRoute.startsWith('/')
? lastRoute
: '/dashboard/apps';
router.push(navigateTo);
}, [lastRoute, router]);
router.replace(navigateTo);
},
[lastRoute, router]
);
useMount(() => {
clearToken();