mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-24 22:09:08 +08:00
feat: remove private workspace from list
This commit is contained in:
+14
-14
@@ -98,32 +98,32 @@ export const SelectorPopperContent = ({
|
||||
</SelectorPopperContainer>
|
||||
) : (
|
||||
<SelectorPopperContainer placement="bottom-start">
|
||||
<PrivateWorkspaceItem />
|
||||
<PrivateWorkspaceItem
|
||||
privateWorkspaceId={
|
||||
workspacesMeta.find(
|
||||
workspace => workspace.type === WorkspaceType.Private
|
||||
)?.id
|
||||
}
|
||||
/>
|
||||
<StyledDivider />
|
||||
<WorkspaceGroupTitle>Workspace</WorkspaceGroupTitle>
|
||||
<WorkspaceWrapper>
|
||||
{workspacesMeta.map(workspace => {
|
||||
return (
|
||||
return workspace.type !== WorkspaceType.Private ? (
|
||||
<WorkspaceItem
|
||||
type={workspace.type}
|
||||
key={workspace.id}
|
||||
id={workspace.id}
|
||||
icon={
|
||||
workspace.type === WorkspaceType.Private
|
||||
? user.avatar_url
|
||||
: (workspaces[workspace.id]?.meta.avatar &&
|
||||
`/api/blob/${workspaces[workspace.id]?.meta.avatar}`) ||
|
||||
`loading...`
|
||||
}
|
||||
onClick={handleClickSettingWorkspace}
|
||||
name={
|
||||
workspace.type === WorkspaceType.Private
|
||||
? user.name
|
||||
: workspaces[workspace.id]?.meta.name || `loading...`
|
||||
(workspaces[workspace.id]?.meta.avatar &&
|
||||
`/api/blob/${workspaces[workspace.id]?.meta.avatar}`) ||
|
||||
`loading...`
|
||||
}
|
||||
onClickSetting={handleClickSettingWorkspace}
|
||||
name={workspaces[workspace.id]?.meta.name || `loading...`}
|
||||
memberCount={workSpaceDetails[workspace.id]?.memberCount || 1}
|
||||
/>
|
||||
);
|
||||
) : null;
|
||||
})}
|
||||
</WorkspaceWrapper>
|
||||
<CreateWorkspaceItem />
|
||||
|
||||
+15
-2
@@ -5,13 +5,26 @@ import {
|
||||
PrivateWorkspaceWrapper,
|
||||
WorkspaceItemContent,
|
||||
} from './styles';
|
||||
import { useRouter } from 'next/router';
|
||||
|
||||
export const PrivateWorkspaceItem = () => {
|
||||
type PrivateWorkspaceItemProps = {
|
||||
privateWorkspaceId?: string;
|
||||
};
|
||||
|
||||
export const PrivateWorkspaceItem = ({
|
||||
privateWorkspaceId,
|
||||
}: PrivateWorkspaceItemProps) => {
|
||||
const { user } = useAppState();
|
||||
const router = useRouter();
|
||||
const handleClick = () => {
|
||||
if (privateWorkspaceId) {
|
||||
router.push(`/workspace/${privateWorkspaceId}`);
|
||||
}
|
||||
};
|
||||
if (user) {
|
||||
const Username = user.name;
|
||||
return (
|
||||
<PrivateWorkspaceWrapper>
|
||||
<PrivateWorkspaceWrapper onClick={handleClick}>
|
||||
<WorkspaceItemAvatar alt={Username} src={user.avatar_url}>
|
||||
{Username}
|
||||
</WorkspaceItemAvatar>
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@ interface WorkspaceItemProps {
|
||||
icon: string;
|
||||
type: WorkspaceType;
|
||||
memberCount: number;
|
||||
onClick?: (workspaceId: string) => void;
|
||||
onClickSetting?: (workspaceId: string) => void;
|
||||
}
|
||||
|
||||
export const WorkspaceItem = ({
|
||||
@@ -24,7 +24,7 @@ export const WorkspaceItem = ({
|
||||
name,
|
||||
icon,
|
||||
type,
|
||||
onClick,
|
||||
onClickSetting,
|
||||
memberCount,
|
||||
}: WorkspaceItemProps) => {
|
||||
const router = useRouter();
|
||||
@@ -32,7 +32,7 @@ export const WorkspaceItem = ({
|
||||
const { currentWorkspaceId } = useAppState();
|
||||
|
||||
const handleClickSetting = async () => {
|
||||
onClick && onClick(id);
|
||||
onClickSetting && onClickSetting(id);
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user