import { StyledDeleteButtonContainer, // StyledSettingAvatar, StyledSettingAvatarContent, StyledSettingInputContainer, } from './style'; import { StyledSettingH2 } from '../style'; import { useState } from 'react'; import { Button, TextButton } from '@/ui/button'; import Input from '@/ui/input'; import { getDataCenter } from '@affine/datacenter'; import { useAppState } from '@/providers/app-state-provider'; import { WorkspaceDelete } from './delete'; import { debounce } from '@/utils'; import { WorkspaceLeave } from './leave'; import { Upload } from '@/components/file-upload'; import { updateWorkspaceMeta, Workspace } from '@/hooks/mock-data/mock'; import { WorkspaceAvatar } from '@/components/workspace-avatar'; import useTemporaryHelper from '@/hooks/use-temporary-helper'; export const GeneralPage = ({ workspace }: { workspace: Workspace }) => { const { refreshWorkspacesMeta } = useAppState(); const { currentWorkspace } = useTemporaryHelper(); const [showDelete, setShowDelete] = useState(false); const [showLeave, setShowLeave] = useState(false); const [uploading, setUploading] = useState(false); const [workspaceName, setWorkspaceName] = useState(''); const debouncedRefreshWorkspacesMeta = debounce(() => { refreshWorkspacesMeta(); }, 100); const isOwner = true; const handleChangeWorkSpaceName = (newName: string) => { setWorkspaceName(newName); }; const handleClickDelete = () => { setShowDelete(true); }; const handleCloseDelete = () => { setShowDelete(false); }; const handleClickLeave = () => { setShowLeave(true); }; const handleCloseLeave = () => { setShowLeave(false); }; const handleUpdateWorkspaceName = () => { updateWorkspaceMeta(workspace.id, { name: workspaceName }); }; const fileChange = async (file: File) => { setUploading(true); // const blob = new Blob([file], { type: file.type }); // const blobId = await getDataCenter() // .then(dc => dc.apis.uploadBlob({ blob })) // .finally(() => { // setUploading(false); // }); // if (blobId) { // currentWorkspace?.meta.setAvatar(blobId); // // workspaces[workspace.id]?.meta.setAvatar(blobId); // setUploading(false); // debouncedRefreshWorkspacesMeta(); // } }; return workspace ? (
Workspace Icon
{/* TODO: add upload logic */}
Workspace Name { handleUpdateWorkspaceName(); }} style={{ marginLeft: '10px' }} > ✔️ {/* {userInfo ? (
Workspace Owner
) : ( '' )} */} Workspace Type {workspace.type} {isOwner ? ( <> ) : ( <> )}
) : null; };