diff --git a/packages/app/src/components/workspace-setting/index.ts b/packages/app/src/components/workspace-setting/index.ts
new file mode 100644
index 0000000000..eda9c6aebd
--- /dev/null
+++ b/packages/app/src/components/workspace-setting/index.ts
@@ -0,0 +1 @@
+export * from './workspace-setting';
diff --git a/packages/app/src/components/workspace-setting/style.ts b/packages/app/src/components/workspace-setting/style.ts
new file mode 100644
index 0000000000..ec41b17dae
--- /dev/null
+++ b/packages/app/src/components/workspace-setting/style.ts
@@ -0,0 +1,80 @@
+import { styled } from '@/styles';
+
+export const StyledSettingContent = styled('div')(({ theme }) => {
+ return {
+ position: 'relative',
+ display: 'flex',
+ padding: '0px',
+ width: '1080px',
+ background: theme.colors.popoverBackground,
+ borderRadius: '12px',
+ };
+});
+
+export const StyledSettingSidebar = styled('div')(({ theme }) => {
+ {
+ return {
+ width: '236px',
+ height: '780px',
+ background: theme.mode === 'dark' ? '#272727' : '#FBFBFC',
+ };
+ }
+});
+
+export const StyledSettingSidebarHeader = styled('div')(({ theme }) => {
+ {
+ return {
+ fontWeight: '500',
+ fontSize: '18px',
+ lineHeight: '26px',
+ textAlign: 'center',
+ marginTop: '37px',
+ };
+ }
+});
+
+export const StyledSettingTabContainer = styled('ul')(({ theme }) => {
+ {
+ return {
+ display: 'flex',
+ flexDirection: 'column',
+ marginTop: '25px',
+ };
+ }
+});
+
+export const WorkspaceSettingTagItem = styled('li')<{ isActive?: boolean }>(
+ ({ theme, isActive }) => {
+ {
+ return {
+ display: 'flex',
+ marginBottom: '12px',
+ padding: '0 24px',
+ height: '32px',
+ color: isActive ? theme.colors.primaryColor : theme.colors.textColor,
+ fontWeight: '400',
+ fontSize: '16px',
+ lineHeight: '32px',
+ cursor: 'pointer',
+ };
+ }
+ }
+);
+
+export const StyledSettingTagIconContainer = styled('div')(({ theme }) => {
+ return {
+ display: 'flex',
+ alignItems: 'center',
+ marginRight: '14.64px',
+ width: '14.47px',
+ fontSize: '14.47px',
+ };
+});
+
+export const StyledSettingH2 = styled('h2')(({ theme }) => {
+ return {
+ fontWeight: '500',
+ fontSize: '18px',
+ lineHeight: '26px',
+ };
+});
diff --git a/packages/app/src/components/workspace-setting/workspace-setting.tsx b/packages/app/src/components/workspace-setting/workspace-setting.tsx
new file mode 100644
index 0000000000..8e059d6838
--- /dev/null
+++ b/packages/app/src/components/workspace-setting/workspace-setting.tsx
@@ -0,0 +1,94 @@
+import Modal from '@/ui/modal';
+import {
+ StyledSettingContent,
+ StyledSettingH2,
+ StyledSettingSidebar,
+ StyledSettingSidebarHeader,
+ StyledSettingTabContainer,
+ StyledSettingTagIconContainer,
+ WorkspaceSettingTagItem,
+} from './style';
+import { EditIcon, UsersIcon, PublishIcon } from '@blocksuite/icons';
+import { useState } from 'react';
+
+enum ActiveTab {
+ 'general' = 'general',
+ 'members' = 'members',
+ 'publish' = 'publish',
+}
+
+type SettingTabProps = {
+ activeTab: ActiveTab;
+ onTabChange?: (tab: ActiveTab) => void;
+};
+
+const WorkspaceSettingTab = ({ activeTab, onTabChange }: SettingTabProps) => {
+ return (
+
+ {
+ onTabChange && onTabChange(ActiveTab.general);
+ }}
+ >
+
+
+
+ General
+
+ {
+ onTabChange && onTabChange(ActiveTab.members);
+ }}
+ >
+
+
+
+ Members
+
+ {
+ onTabChange && onTabChange(ActiveTab.publish);
+ }}
+ >
+
+
+
+ Publish
+
+
+ );
+};
+
+export const WorkspaceSetting = () => {
+ const [activeTab, setActiveTab] = useState(ActiveTab.general);
+ const handleTabChange = (tab: ActiveTab) => {
+ setActiveTab(tab);
+ };
+ return (
+
+
+
+
+ Workspace Settings
+
+
+
+ {activeTab === ActiveTab.general && }
+
+
+ );
+};
+
+const GeneralPage = () => {
+ return (
+
+ Workspace Avatar
+
+ );
+};
diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
index b9f649f20f..63bf1f5d9c 100644
--- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
+++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
@@ -23,7 +23,6 @@ export const WorkspaceCreate = ({ open, onClose }: WorkspaceCreateProps) => {
const handlerInputChange = (workspaceName: string) => {
setWorkspaceId(workspaceName);
};
- console.log('workspaceName', workspaceName);
return (