mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-27 02:42:25 +08:00
feat: add invite info
This commit is contained in:
@@ -64,6 +64,14 @@ export const useWorkspaceHelper = () => {
|
|||||||
currentWorkspace && (await dataCenter.leaveWorkspace(currentWorkspace?.id));
|
currentWorkspace && (await dataCenter.leaveWorkspace(currentWorkspace?.id));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const acceptInvite = async (inviteCode: string) => {
|
||||||
|
let inviteInfo;
|
||||||
|
if (inviteCode) {
|
||||||
|
inviteInfo = await dataCenter.acceptInvitation(inviteCode);
|
||||||
|
}
|
||||||
|
return inviteInfo;
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
createWorkspace,
|
createWorkspace,
|
||||||
publishWorkspace,
|
publishWorkspace,
|
||||||
@@ -71,5 +79,6 @@ export const useWorkspaceHelper = () => {
|
|||||||
enableWorkspace,
|
enableWorkspace,
|
||||||
deleteWorkSpace,
|
deleteWorkSpace,
|
||||||
leaveWorkSpace,
|
leaveWorkSpace,
|
||||||
|
acceptInvite,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,44 +1,36 @@
|
|||||||
|
import { useWorkspaceHelper } from '@/hooks/use-workspace-helper';
|
||||||
|
import { useAppState } from '@/providers/app-state-provider';
|
||||||
import { styled } from '@/styles';
|
import { styled } from '@/styles';
|
||||||
import { Empty } from '@/ui/empty';
|
import { Empty } from '@/ui/empty';
|
||||||
import { Avatar } from '@mui/material';
|
// import { Avatar } from '@mui/material';
|
||||||
// import { getDataCenter } from '@affine/datacenter';
|
|
||||||
import { useRouter } from 'next/router';
|
import { useRouter } from 'next/router';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
|
|
||||||
const User = ({ name, avatar }: { name: string; avatar?: string }) => {
|
// const User = ({ name, avatar }: { name: string; avatar?: string }) => {
|
||||||
return (
|
// return (
|
||||||
<UserContent>
|
// <UserContent>
|
||||||
{avatar ? (
|
// {avatar ? (
|
||||||
<Avatar src={avatar}></Avatar>
|
// <Avatar src={avatar}></Avatar>
|
||||||
) : (
|
// ) : (
|
||||||
<UserIcon>{name.slice(0, 1)}</UserIcon>
|
// <UserIcon>{name.slice(0, 1)}</UserIcon>
|
||||||
)}
|
// )}
|
||||||
<span>{name}</span>
|
// <span>{name}</span>
|
||||||
</UserContent>
|
// </UserContent>
|
||||||
);
|
// );
|
||||||
};
|
// };
|
||||||
|
|
||||||
export default function DevPage() {
|
export default function DevPage() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [successInvited, setSuccessInvited] = useState<boolean>(false);
|
const [successInvited, setSuccessInvited] = useState<boolean>(false);
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
const { acceptInvite } = useWorkspaceHelper();
|
||||||
const [inviteData, setInviteData] = useState<any>(null);
|
const { user } = useAppState();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// getDataCenter()
|
acceptInvite(router.query.invite_code as string).then(data => {
|
||||||
// .then(dc =>
|
if (data && data.accepted) {
|
||||||
// dc.apis.acceptInviting({
|
setSuccessInvited(true);
|
||||||
// invitingCode: router.query.invite_code as string,
|
user && router.push(`/workspace/${data.workspace_id}`);
|
||||||
// })
|
}
|
||||||
// )
|
});
|
||||||
// .then(data => {
|
|
||||||
// setSuccessInvited(true);
|
|
||||||
// setInviteData(data);
|
|
||||||
// })
|
|
||||||
// .catch(err => {
|
|
||||||
// console.log('err: ', err);
|
|
||||||
// });
|
|
||||||
setSuccessInvited(true);
|
|
||||||
setInviteData(null);
|
|
||||||
}, [router.query.invite_code]);
|
}, [router.query.invite_code]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -47,11 +39,12 @@ export default function DevPage() {
|
|||||||
<Empty width={310} height={310}></Empty>
|
<Empty width={310} height={310}></Empty>
|
||||||
|
|
||||||
<Content>
|
<Content>
|
||||||
<User name={inviteData?.name ? inviteData.name : '-'}></User> invited
|
{/* TODO add inviteInfo*/}
|
||||||
you to join
|
{/* <User name={inviteData?.name ? inviteData.name : '-'}></User> invited */}
|
||||||
<User
|
{/* you to join */}
|
||||||
|
{/* <User
|
||||||
name={inviteData?.workspaceName ? inviteData.workspaceName : '-'}
|
name={inviteData?.workspaceName ? inviteData.workspaceName : '-'}
|
||||||
></User>
|
></User> */}
|
||||||
{successInvited ? (
|
{successInvited ? (
|
||||||
<Status>
|
<Status>
|
||||||
<svg
|
<svg
|
||||||
|
|||||||
Reference in New Issue
Block a user