From d64ae51c94a9feafe3a6bba3cb23fa6879e8324e Mon Sep 17 00:00:00 2001 From: JimmFly Date: Tue, 17 Jan 2023 17:46:34 +0800 Subject: [PATCH 01/13] chore: remove setting tabs icon --- .../pages/workspace/[workspaceId]/setting.tsx | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/packages/app/src/pages/workspace/[workspaceId]/setting.tsx b/packages/app/src/pages/workspace/[workspaceId]/setting.tsx index 2a78641d69..ce45fb0f32 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/setting.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/setting.tsx @@ -4,15 +4,8 @@ import { StyledSettingSidebar, StyledSettingSidebarHeader, StyledSettingTabContainer, - StyledSettingTagIconContainer, WorkspaceSettingTagItem, } from '@/components/workspace-setting/style'; -import { - EditIcon, - UsersIcon, - PublishIcon, - CloudInsyncIcon, -} from '@blocksuite/icons'; import { ReactElement, ReactNode, useState } from 'react'; import { GeneralPage, @@ -30,32 +23,26 @@ type TabNames = 'general' | 'members' | 'publish' | 'sync' | 'export'; const tabMap: { name: TabNames; - icon: ReactNode; panelRender: (workspace: WorkspaceUnit) => ReactNode; }[] = [ { name: 'general', - icon: , panelRender: workspace => , }, { name: 'members', - icon: , panelRender: workspace => , }, { name: 'publish', - icon: , panelRender: workspace => , }, { name: 'sync', - icon: , panelRender: workspace => , }, { name: 'export', - icon: , panelRender: workspace => , }, ]; @@ -74,14 +61,12 @@ const WorkspaceSetting = () => { )?.panelRender; let tableArr: { name: TabNames; - icon: ReactNode; panelRender: (workspace: WorkspaceUnit) => ReactNode; }[] = tabMap; if (!isOwner) { tableArr = [ { name: 'general', - icon: , panelRender: workspace => , }, ]; @@ -93,7 +78,7 @@ const WorkspaceSetting = () => { {t('Workspace Settings')} - {tableArr.map(({ icon, name }) => { + {tableArr.map(({ name }) => { return ( { handleTabChange(name); }} > - - {icon} - {name} ); From 68dc20cd2e88561c821f121d8acb4e747cb4703e Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 15:27:54 +0800 Subject: [PATCH 02/13] chore: add themeModeSwitch to default Item --- packages/app/src/components/header/Header.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app/src/components/header/Header.tsx b/packages/app/src/components/header/Header.tsx index 41fced5907..a8a50bfefe 100644 --- a/packages/app/src/components/header/Header.tsx +++ b/packages/app/src/components/header/Header.tsx @@ -44,7 +44,7 @@ const HeaderRightItems: Record = { }; export const Header = ({ - rightItems = ['syncUser'], + rightItems = ['syncUser', 'themeModeSwitch'], children, }: PropsWithChildren<{ rightItems?: HeaderRightItemNames[] }>) => { const [showWarning, setShowWarning] = useState(shouldShowWarning()); From 32babd80269d31bee261e6c060f8b391d87ad34d Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 15:30:03 +0800 Subject: [PATCH 03/13] chore: update General style --- .../workspace-setting/general/General.tsx | 26 ++++--- .../src/components/workspace-setting/style.ts | 72 ++++++++++++++----- 2 files changed, 69 insertions(+), 29 deletions(-) diff --git a/packages/app/src/components/workspace-setting/general/General.tsx b/packages/app/src/components/workspace-setting/general/General.tsx index 7d9294f276..2ac37c53c3 100644 --- a/packages/app/src/components/workspace-setting/general/General.tsx +++ b/packages/app/src/components/workspace-setting/general/General.tsx @@ -3,15 +3,17 @@ import { // StyledSettingAvatar, StyledSettingAvatarContent, StyledSettingInputContainer, + StyledDoneButtonContainer, + StyledInput, } from './style'; import { StyledSettingH2 } from '../style'; import { useState } from 'react'; -import { Button, TextButton } from '@/ui/button'; -import Input from '@/ui/input'; +import { Button } from '@/ui/button'; import { useAppState } from '@/providers/app-state-provider'; import { WorkspaceDelete } from './delete'; import { WorkspaceLeave } from './leave'; +import { DoneIcon, CloudUnsyncedIcon } from '@blocksuite/icons'; // import { Upload } from '@/components/file-upload'; import { WorkspaceUnitAvatar } from '@/components/workspace-avatar'; import { WorkspaceUnit } from '@affine/datacenter'; @@ -44,7 +46,7 @@ export const GeneralPage = ({ workspace }: { workspace: WorkspaceUnit }) => { return workspace ? (
- {t('Workspace Icon')} + Workspace Avatar
{ {t('Workspace Name')} - + > {isOwner ? ( - { handleUpdateWorkspaceName(); }} - style={{ marginLeft: '0px' }} > - ✔️ - + + ) : null} {t('Workspace Type')} - {workspace.provider} + + Local workspace {isOwner ? ( @@ -99,6 +102,7 @@ export const GeneralPage = ({ workspace }: { workspace: WorkspaceUnit }) => { - - + {buttonDirection === 'row' ? ( + + + + + ) : ( + + + + + )} ); diff --git a/packages/app/src/ui/confirm/styles.ts b/packages/app/src/ui/confirm/styles.ts index ef2c86155d..3646cdcc38 100644 --- a/packages/app/src/ui/confirm/styles.ts +++ b/packages/app/src/ui/confirm/styles.ts @@ -3,8 +3,10 @@ import { ModalWrapper } from '@/ui/modal'; export const StyledModalWrapper = styled(ModalWrapper)(() => { return { - width: '460px', - padding: '46px 60px 32px', + minWidth: '460px', + maxWidth: '560px', + maxHeight: '292px', + padding: '44px 84px 32px 84px', }; }); @@ -14,6 +16,7 @@ export const StyledConfirmTitle = styled.div(({ theme }) => { fontWeight: 600, textAlign: 'center', color: theme.colors.popoverColor, + lineHeight: '28px', }; }); @@ -23,12 +26,21 @@ export const StyledConfirmContent = styled.div(({ theme }) => { textAlign: 'center', marginTop: '12px', color: theme.colors.textColor, + lineHeight: '26px', }; }); -export const StyledButtonWrapper = styled.div(() => { +export const StyledColumnButtonWrapper = styled.div(() => { return { ...displayFlex('center', 'center'), + flexDirection: 'column', + marginTop: '32px', + }; +}); +export const StyledRowButtonWrapper = styled.div(() => { + return { + ...displayFlex('center', 'center'), + flexDirection: 'row', marginTop: '32px', }; }); From 74d7b7ab9da466f23efb99547cb2bb952279d3e1 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 15:58:24 +0800 Subject: [PATCH 06/13] chore: update button ui component --- packages/app/src/ui/button/styles.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app/src/ui/button/styles.ts b/packages/app/src/ui/button/styles.ts index 54cda81dcc..8cbf57f685 100644 --- a/packages/app/src/ui/button/styles.ts +++ b/packages/app/src/ui/button/styles.ts @@ -182,7 +182,7 @@ export const StyledButton = styled('button', { paddingLeft: padding, paddingRight: padding, border: '1px solid', - ...displayInlineFlex('flex-start', 'center'), + ...displayInlineFlex('center', 'center'), position: 'relative', // TODO: disabled color is not decided ...(disabled From 48ac7aad60dca4dfafef98b15a78d709e3888289 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 16:00:00 +0800 Subject: [PATCH 07/13] chore: update General delete button style --- .../general/delete/Delete.tsx | 4 ++- .../workspace-setting/general/delete/style.ts | 18 ++++++----- .../workspace-setting/general/style.ts | 31 +++++++++++++++++-- 3 files changed, 43 insertions(+), 10 deletions(-) diff --git a/packages/app/src/components/workspace-setting/general/delete/Delete.tsx b/packages/app/src/components/workspace-setting/general/delete/Delete.tsx index c6db311e2e..3fcab8c158 100644 --- a/packages/app/src/components/workspace-setting/general/delete/Delete.tsx +++ b/packages/app/src/components/workspace-setting/general/delete/Delete.tsx @@ -46,7 +46,7 @@ export const WorkspaceDelete = ({ - {t('Delete Workspace')} + {t('Delete Workspace')}? {workspace.provider === 'local' ? ( @@ -75,6 +75,8 @@ export const WorkspaceDelete = ({ onChange={handlerInputChange} placeholder={t('Delete Workspace placeholder')} value={deleteStr} + width={284} + height={42} > diff --git a/packages/app/src/components/workspace-setting/general/delete/style.ts b/packages/app/src/components/workspace-setting/general/delete/style.ts index 939ba638bc..d029d54fea 100644 --- a/packages/app/src/components/workspace-setting/general/delete/style.ts +++ b/packages/app/src/components/workspace-setting/general/delete/style.ts @@ -4,20 +4,20 @@ export const StyledModalWrapper = styled('div')(({ theme }) => { return { position: 'relative', padding: '0px', - width: '460px', + width: '560px', background: theme.colors.popoverBackground, borderRadius: '12px', + height: '312px', }; }); export const StyledModalHeader = styled('div')(({ theme }) => { return { margin: '44px 0px 12px 0px', - width: '460px', + width: '560px', fontWeight: '600', fontSize: '20px;', - textAlign: 'left', - paddingLeft: '20px', + textAlign: 'center', color: theme.colors.popoverColor, }; }); @@ -37,21 +37,25 @@ export const StyledTextContent = styled('div')(() => { }; }); -export const StyledInputContent = styled('div')(() => { +export const StyledInputContent = styled('div')(({ theme }) => { return { display: 'flex', flexDirection: 'row', justifyContent: 'center', - margin: '20px 0 24px 0', + margin: '32px 0', + fontSize: theme.font.base, }; }); export const StyledButtonContent = styled('div')(() => { return { + position: 'absolute', + left: '50%', + transform: 'translateX(-50%)', + bottom: '32px', display: 'flex', flexDirection: 'row', justifyContent: 'center', - margin: '0px 0 32px 0', }; }); diff --git a/packages/app/src/components/workspace-setting/general/style.ts b/packages/app/src/components/workspace-setting/general/style.ts index 739ec24aec..c46f9706c9 100644 --- a/packages/app/src/components/workspace-setting/general/style.ts +++ b/packages/app/src/components/workspace-setting/general/style.ts @@ -1,15 +1,42 @@ -import { styled } from '@/styles'; +import { displayFlex, styled } from '@/styles'; import MuiAvatar from '@mui/material/Avatar'; +import IconButton from '@/ui/button/IconButton'; +import Input from '@/ui/input'; export const StyledSettingInputContainer = styled('div')(() => { return { marginTop: '12px', + width: '100%', + ...displayFlex('flex-start', 'center'), }; }); export const StyledDeleteButtonContainer = styled('div')(() => { return { - marginTop: '30px', + position: 'absolute', + bottom: '0', + left: '50%', + marginBottom: '20px', + transform: 'translateX(-50%)', + }; +}); +export const StyledDoneButtonContainer = styled(IconButton)(({ theme }) => { + return { + border: `1px solid ${theme.colors.borderColor}`, + borderRadius: '10px', + height: '32px', + overflow: 'hidden', + marginLeft: '20px', + ':hover': { + borderColor: theme.colors.primaryColor, + }, + }; +}); +export const StyledInput = styled(Input)(({ theme }) => { + return { + border: `1px solid ${theme.colors.borderColor}`, + borderRadius: '10px', + fontSize: theme.font.sm, }; }); From 5006c2360aa8e6fee09195d51ee3c23f61c66df5 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 16:00:23 +0800 Subject: [PATCH 08/13] chore: update publishPage style --- .../workspace-setting/PublishPage.tsx | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/app/src/components/workspace-setting/PublishPage.tsx b/packages/app/src/components/workspace-setting/PublishPage.tsx index d8692acbb4..4ff35d776d 100644 --- a/packages/app/src/components/workspace-setting/PublishPage.tsx +++ b/packages/app/src/components/workspace-setting/PublishPage.tsx @@ -4,6 +4,7 @@ import { StyledPublishCopyContainer, StyledPublishExplanation, StyledSettingH2, + StyledStopPublishContainer, } from './style'; import { useState } from 'react'; import { Button } from '@/ui/button'; @@ -42,7 +43,9 @@ export const PublishPage = ({ workspace }: { workspace: WorkspaceUnit }) => { {t('Publishing')} - {t('Share with link')} + + {t('Share with link')} + @@ -54,24 +57,27 @@ export const PublishPage = ({ workspace }: { workspace: WorkspaceUnit }) => { ) : ( - {'Publishing Description'} + {t('Publishing Description')} )} - - {workspace.published ? ( + + {workspace.published ? ( + - ) : ( + + ) : ( + - )} - + + )}
) : ( From 09fb0f8dfcdcaaa08f16c42f1d5b2cab8d4978b1 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 16:00:41 +0800 Subject: [PATCH 09/13] chore: update syncPage style --- .../components/workspace-setting/SyncPage.tsx | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/app/src/components/workspace-setting/SyncPage.tsx b/packages/app/src/components/workspace-setting/SyncPage.tsx index 72f1d08fda..f65a24ab7b 100644 --- a/packages/app/src/components/workspace-setting/SyncPage.tsx +++ b/packages/app/src/components/workspace-setting/SyncPage.tsx @@ -2,6 +2,8 @@ import { StyledPublishContent, StyledPublishCopyContainer, StyledPublishExplanation, + StyledWorkspaceName, + StyledWorkspaceType, } from './style'; import { DownloadIcon } from '@blocksuite/icons'; import { Button } from '@/ui/button'; @@ -9,6 +11,7 @@ import { Menu, MenuItem } from '@/ui/menu'; import { WorkspaceUnit } from '@affine/datacenter'; import { useWorkspaceHelper } from '@/hooks/use-workspace-helper'; import { Trans, useTranslation } from '@affine/i18n'; +import { WorkspaceUnitAvatar } from '@/components/workspace-avatar'; export const SyncPage = ({ workspace }: { workspace: WorkspaceUnit }) => { const { enableWorkspace } = useWorkspaceHelper(); const { t } = useTranslation(); @@ -18,11 +21,20 @@ export const SyncPage = ({ workspace }: { workspace: WorkspaceUnit }) => { {workspace.provider === 'local' ? ( <> - {t('Sync Description', { - workspaceName: workspace.name ?? 'Affine', - })} + + +  {workspace.name}  + + is a Local Workspace. - + + All data is stored on the current device. You can enable AFFiNE + Cloud for this workspace to keep data in sync with the cloud. + From 9702e9e38022528003395c4c309aa368aa025f9a Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 16:01:11 +0800 Subject: [PATCH 10/13] chore: update settings page style --- .../pages/workspace/[workspaceId]/setting.tsx | 80 ++++++++++--------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/packages/app/src/pages/workspace/[workspaceId]/setting.tsx b/packages/app/src/pages/workspace/[workspaceId]/setting.tsx index ce45fb0f32..11de4aa598 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/setting.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/setting.tsx @@ -2,7 +2,6 @@ import { StyledSettingContainer, StyledSettingContent, StyledSettingSidebar, - StyledSettingSidebarHeader, StyledSettingTabContainer, WorkspaceSettingTagItem, } from '@/components/workspace-setting/style'; @@ -14,35 +13,38 @@ import { ExportPage, SyncPage, } from '@/components/workspace-setting'; +import { SettingsIcon } from '@blocksuite/icons'; import { useAppState } from '@/providers/app-state-provider'; import WorkspaceLayout from '@/components/workspace-layout'; import { WorkspaceUnit } from '@affine/datacenter'; import { useTranslation } from '@affine/i18n'; +import { PageListHeader } from '@/components/header'; -type TabNames = 'general' | 'members' | 'publish' | 'sync' | 'export'; +type TabNames = 'General' | 'Sync' | 'Collaboration' | 'Publish' | 'Export'; const tabMap: { name: TabNames; panelRender: (workspace: WorkspaceUnit) => ReactNode; }[] = [ { - name: 'general', + name: 'General', panelRender: workspace => , }, { - name: 'members', - panelRender: workspace => , - }, - { - name: 'publish', - panelRender: workspace => , - }, - { - name: 'sync', + name: 'Sync', panelRender: workspace => , }, { - name: 'export', + name: 'Collaboration', + panelRender: workspace => , + }, + { + name: 'Publish', + panelRender: workspace => , + }, + + { + name: 'Export', panelRender: workspace => , }, ]; @@ -66,38 +68,38 @@ const WorkspaceSetting = () => { if (!isOwner) { tableArr = [ { - name: 'general', + name: 'General', panelRender: workspace => , }, ]; } return ( - - - - {t('Workspace Settings')} - - - {tableArr.map(({ name }) => { - return ( - { - handleTabChange(name); - }} - > - {name} - - ); - })} - - + <> + + }>{t('Settings')} + + + {tableArr.map(({ name }) => { + return ( + { + handleTabChange(name); + }} + > + {name} + + ); + })} + + - - {currentWorkspace && activeTabPanelRender?.(currentWorkspace)} - - + + {currentWorkspace && activeTabPanelRender?.(currentWorkspace)} + + + ); }; WorkspaceSetting.getLayout = function getLayout(page: ReactElement) { From e352dc7f6187bd4e6382dd3e1281e37755b928c2 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Wed, 18 Jan 2023 16:01:39 +0800 Subject: [PATCH 11/13] chore: update membersPage style --- .../member/InviteMemberModal.tsx | 8 +- .../workspace-setting/member/MembersPage.tsx | 112 +++++++++--------- .../workspace-setting/member/style.ts | 10 +- .../app/src/hooks/use-workspace-helper.ts | 2 + 4 files changed, 71 insertions(+), 61 deletions(-) diff --git a/packages/app/src/components/workspace-setting/member/InviteMemberModal.tsx b/packages/app/src/components/workspace-setting/member/InviteMemberModal.tsx index c965e6c0bf..7bd542efb6 100644 --- a/packages/app/src/components/workspace-setting/member/InviteMemberModal.tsx +++ b/packages/app/src/components/workspace-setting/member/InviteMemberModal.tsx @@ -122,6 +122,7 @@ export const InviteMemberModal = ({