mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-04 02:49:57 +08:00
feat: add updateWorkspace function
This commit is contained in:
@@ -15,11 +15,14 @@ import { WorkspaceLeave } from './leave';
|
|||||||
import { Upload } from '@/components/file-upload';
|
import { Upload } from '@/components/file-upload';
|
||||||
import { WorkspaceAvatar } from '@/components/workspace-avatar';
|
import { WorkspaceAvatar } from '@/components/workspace-avatar';
|
||||||
import { WorkspaceInfo } from '@affine/datacenter';
|
import { WorkspaceInfo } from '@affine/datacenter';
|
||||||
|
import { useWorkspaceHelper } from '@/hooks/use-workspace-helper';
|
||||||
export const GeneralPage = ({ workspace }: { workspace: WorkspaceInfo }) => {
|
export const GeneralPage = ({ workspace }: { workspace: WorkspaceInfo }) => {
|
||||||
const [showDelete, setShowDelete] = useState<boolean>(false);
|
const [showDelete, setShowDelete] = useState<boolean>(false);
|
||||||
const [showLeave, setShowLeave] = useState<boolean>(false);
|
const [showLeave, setShowLeave] = useState<boolean>(false);
|
||||||
const [uploading, setUploading] = useState<boolean>(false);
|
const [uploading, setUploading] = useState<boolean>(false);
|
||||||
const [workspaceName, setWorkspaceName] = useState<string>(workspace.name);
|
const [workspaceName, setWorkspaceName] = useState<string>(workspace.name);
|
||||||
|
const { currentWorkspace } = useAppState();
|
||||||
|
const { updateWorkspace } = useWorkspaceHelper();
|
||||||
const isOwner = true;
|
const isOwner = true;
|
||||||
const handleChangeWorkSpaceName = (newName: string) => {
|
const handleChangeWorkSpaceName = (newName: string) => {
|
||||||
setWorkspaceName(newName);
|
setWorkspaceName(newName);
|
||||||
@@ -38,6 +41,8 @@ export const GeneralPage = ({ workspace }: { workspace: WorkspaceInfo }) => {
|
|||||||
setShowLeave(false);
|
setShowLeave(false);
|
||||||
};
|
};
|
||||||
const handleUpdateWorkspaceName = () => {
|
const handleUpdateWorkspaceName = () => {
|
||||||
|
console.log('currentWorkspace: ', currentWorkspace);
|
||||||
|
updateWorkspace({ name: workspaceName }, currentWorkspace);
|
||||||
// workspace && currentWorkspace(workspace.id, { name: workspaceName });
|
// workspace && currentWorkspace(workspace.id, { name: workspaceName });
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -97,22 +102,6 @@ export const GeneralPage = ({ workspace }: { workspace: WorkspaceInfo }) => {
|
|||||||
✔️
|
✔️
|
||||||
</TextButton>
|
</TextButton>
|
||||||
</StyledSettingInputContainer>
|
</StyledSettingInputContainer>
|
||||||
{/* {userInfo ? (
|
|
||||||
<div>
|
|
||||||
<StyledSettingH2 marginTop={20}>Workspace Owner</StyledSettingH2>
|
|
||||||
<StyledSettingInputContainer>
|
|
||||||
<Input
|
|
||||||
width={327}
|
|
||||||
disabled
|
|
||||||
value={userInfo?.name}
|
|
||||||
placeholder="Workspace Owner"
|
|
||||||
></Input>
|
|
||||||
</StyledSettingInputContainer>
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
''
|
|
||||||
)} */}
|
|
||||||
|
|
||||||
<StyledSettingH2 marginTop={20}>Workspace Type</StyledSettingH2>
|
<StyledSettingH2 marginTop={20}>Workspace Type</StyledSettingH2>
|
||||||
<StyledSettingInputContainer>
|
<StyledSettingInputContainer>
|
||||||
<code>{workspace.provider} </code>
|
<code>{workspace.provider} </code>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { useAppState } from '@/providers/app-state-provider';
|
import { useAppState } from '@/providers/app-state-provider';
|
||||||
|
import { stringToColour } from '@/utils';
|
||||||
import { WorkspaceInfo } from '@affine/datacenter';
|
import { WorkspaceInfo } from '@affine/datacenter';
|
||||||
|
import { Workspace } from '@blocksuite/store';
|
||||||
export const useWorkspaceHelper = () => {
|
export const useWorkspaceHelper = () => {
|
||||||
const { dataCenter } = useAppState();
|
const { dataCenter } = useAppState();
|
||||||
const createWorkspace = async (name: string) => {
|
const createWorkspace = async (name: string) => {
|
||||||
@@ -21,8 +22,16 @@ export const useWorkspaceHelper = () => {
|
|||||||
dataCenter.setWorkspacePublish(workspaceId, publish);
|
dataCenter.setWorkspacePublish(workspaceId, publish);
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateWorkspace = async (workspace: WorkspaceInfo) => {
|
const updateWorkspace = async (
|
||||||
console.log('workspace: ', workspace);
|
{ name, avatar }: { name?: string; avatar?: string },
|
||||||
|
workspace: Workspace
|
||||||
|
) => {
|
||||||
|
if (name) {
|
||||||
|
dataCenter.resetWorkspaceMeta({ name }, workspace);
|
||||||
|
}
|
||||||
|
// if (avatar) {
|
||||||
|
// dataCenter.resetWorkspaceMeta({ avatar }, workspace);
|
||||||
|
// }
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
createWorkspace,
|
createWorkspace,
|
||||||
|
|||||||
Reference in New Issue
Block a user