From bd2668335c0b38b926446b38507f61ad845fb9ef Mon Sep 17 00:00:00 2001 From: DarkSky <25152247+darkskygit@users.noreply.github.com> Date: Thu, 8 Sep 2022 20:24:05 +0800 Subject: [PATCH 1/4] fix: ci --- .github/workflows/{affine-keck.yml => affine-keck.yml.bak} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{affine-keck.yml => affine-keck.yml.bak} (100%) diff --git a/.github/workflows/affine-keck.yml b/.github/workflows/affine-keck.yml.bak similarity index 100% rename from .github/workflows/affine-keck.yml rename to .github/workflows/affine-keck.yml.bak From b35c9b2c1430f23a33f04fbd39435741ecd3f610 Mon Sep 17 00:00:00 2001 From: zuomeng wang Date: Fri, 9 Sep 2022 10:56:10 +0800 Subject: [PATCH 2/4] Feat/land page (#391) * feat: update landing page * feat: update landing page * fix: react warning * feat(route): rename variables * feat(route): better refresh * fix: update logo and i18n * feat(code): remove unused comment * refactor(workspace): rename workspaceId * refactor(page): rename pageId * feat(edit): more robust editing experience * fix: landing page mobile * fix: landing page mobile Co-authored-by: tzhangchi Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> --- apps/ligo-virgo/src/pages/AppRoutes.tsx | 2 +- .../src/pages/workspace/Edgeless.tsx | 6 +- apps/ligo-virgo/src/pages/workspace/Home.tsx | 26 ++- .../pages/workspace/WorkspaceContainer.tsx | 17 +- .../src/pages/workspace/docs/Page.tsx | 6 +- .../workspace/docs/collapsible-page-tree.tsx | 10 +- .../workspace/docs/components/toc/TOC.tsx | 10 +- apps/venus/src/app/common/Footer.tsx | 13 +- apps/venus/src/app/common/Header.tsx | 34 ++- apps/venus/src/app/common/MobileHeader.tsx | 208 ++++++++++++++++++ apps/venus/src/app/i18n/resources/en.json | 1 + apps/venus/src/app/i18n/resources/zh.json | 1 + .../common/src/lib/text/plugins/reflink.tsx | 6 +- .../src/blocks/code/CodeView.tsx | 3 - .../src/blocks/page/PageView.tsx | 4 +- .../src/blocks/ref-link/ref-link-view.tsx | 8 +- .../src/blocks/text/TextView.tsx | 4 +- .../src/comment/use-add-comment.ts | 6 +- .../menu/double-link-menu/DoubleLinkMenu.tsx | 2 +- .../src/menu/link-menu/LinkMenu.tsx | 2 +- .../editor-plugins/src/search/Search.tsx | 2 +- .../header/EditorBoardSwitcher/Switcher.tsx | 2 +- libs/components/layout/src/header/Header.tsx | 6 +- .../layout/src/header/PageSettingPortal.tsx | 20 +- libs/components/layout/src/header/Title.tsx | 14 +- .../settings-sidebar/Comments/use-comments.ts | 4 +- .../Settings/util/use-workspace-page.ts | 2 +- .../calendar-heatmap/utils.ts | 4 +- .../page-tree/tree-item/TreeItem.tsx | 10 +- .../page-tree/use-page-tree.ts | 32 +-- .../src/services/editor-block/index.ts | 37 ++-- libs/datasource/jwt/src/yjs/index.ts | 6 +- libs/datasource/state/src/page.ts | 2 +- libs/datasource/state/src/user.ts | 5 - libs/utils/src/utils.ts | 4 +- 35 files changed, 374 insertions(+), 145 deletions(-) create mode 100644 apps/venus/src/app/common/MobileHeader.tsx diff --git a/apps/ligo-virgo/src/pages/AppRoutes.tsx b/apps/ligo-virgo/src/pages/AppRoutes.tsx index 855f717b28..4f1d845324 100644 --- a/apps/ligo-virgo/src/pages/AppRoutes.tsx +++ b/apps/ligo-virgo/src/pages/AppRoutes.tsx @@ -21,7 +21,7 @@ export function LigoVirgoRoutes() { /> } /> diff --git a/apps/ligo-virgo/src/pages/workspace/Edgeless.tsx b/apps/ligo-virgo/src/pages/workspace/Edgeless.tsx index c84ceda481..9d0b6a3aa1 100644 --- a/apps/ligo-virgo/src/pages/workspace/Edgeless.tsx +++ b/apps/ligo-virgo/src/pages/workspace/Edgeless.tsx @@ -14,7 +14,7 @@ type EdgelessProps = { }; export const Edgeless = (props: EdgelessProps) => { - const { page_id } = useParams(); + const { pageId } = useParams(); const { user } = useUserAndSpaces(); useEffect(() => { @@ -31,7 +31,5 @@ export const Edgeless = (props: EdgelessProps) => { update_recent_pages(); }, [user, props.workspace]); - return ( - - ); + return ; }; diff --git a/apps/ligo-virgo/src/pages/workspace/Home.tsx b/apps/ligo-virgo/src/pages/workspace/Home.tsx index 3ae0da1da5..5034787eb1 100644 --- a/apps/ligo-virgo/src/pages/workspace/Home.tsx +++ b/apps/ligo-virgo/src/pages/workspace/Home.tsx @@ -5,22 +5,23 @@ import { useNavigate, useParams } from 'react-router-dom'; export function WorkspaceHome() { const navigate = useNavigate(); - const { workspace_id } = useParams(); + const { workspaceId } = useParams(); const { user } = useUserAndSpaces(); useEffect(() => { - const navigate_to_user_initial_page = async () => { - const [recent_pages, user_initial_page_id] = await Promise.all([ - services.api.userConfig.getRecentPages(workspace_id, user.id), + const navigateToUserInitialPage = async () => { + const [recentPages, userInitialPageId] = await Promise.all([ + services.api.userConfig.getRecentPages(workspaceId, user.id), services.api.userConfig.getUserInitialPage( - workspace_id, + workspaceId, user.id ), ]); - if (recent_pages.length === 0) { + // if recent pages if null, run initialize task + if (recentPages.length === 0) { await services.api.editorBlock.copyTemplateToPage( - workspace_id, - user_initial_page_id, + workspaceId, + userInitialPageId, TemplateFactory.generatePageTemplateByGroupKeys({ name: '👋 Get Started with AFFiNE', groupKeys: [ @@ -31,11 +32,12 @@ export function WorkspaceHome() { }) ); } - - navigate(`/${workspace_id}/${user_initial_page_id}`); + if (userInitialPageId) { + navigate(`/${workspaceId}/${userInitialPageId}`); + } }; - navigate_to_user_initial_page(); - }, [navigate, user.id, workspace_id]); + navigateToUserInitialPage(); + }, [navigate, user.id, workspaceId]); return null; } diff --git a/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx b/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx index eb424f88c7..a681e98803 100644 --- a/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx +++ b/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx @@ -7,27 +7,20 @@ import { WorkspaceHome } from './Home'; import Pages from './pages'; export function WorkspaceContainer() { - const { workspace_id } = useParams(); + const { workspaceId } = useParams(); const { user, currentSpaceId } = useUserAndSpaces(); - if ( - user && - ![currentSpaceId, 'affine2vin277tcmafwq'].includes(workspace_id) - ) { - // return ; - } - return ( }> } /> } + path="/:pageId/edgeless" + element={} /> } + path="/:pageId" + element={} /> } /> diff --git a/apps/ligo-virgo/src/pages/workspace/docs/Page.tsx b/apps/ligo-virgo/src/pages/workspace/docs/Page.tsx index ba1897cc4a..2a4c4f1aa5 100644 --- a/apps/ligo-virgo/src/pages/workspace/docs/Page.tsx +++ b/apps/ligo-virgo/src/pages/workspace/docs/Page.tsx @@ -34,7 +34,7 @@ export function Page(props: PageProps) { const [activeTab, setActiveTab] = useState( TabMap.get(TAB_TITLE.PAGES).value ); - const { page_id } = useParams(); + const { pageId } = useParams(); const { showSpaceSidebar, fixedDisplay, setSpaceSidebarVisible } = useShowSpaceSidebar(); const dailyNotesFlag = useFlag('BooleanDailyNotes', false); @@ -79,7 +79,7 @@ export function Page(props: PageProps) {
- {page_id ? : null} + {pageId ? : null}
@@ -91,7 +91,7 @@ export function Page(props: PageProps) { - + ); } diff --git a/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx b/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx index 9aef73aa22..13f81c10f5 100644 --- a/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx +++ b/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx @@ -38,7 +38,7 @@ export type CollapsiblePageTreeProps = { export function CollapsiblePageTree(props: CollapsiblePageTreeProps) { const { className, style, children, title, initialOpen = true } = props; const navigate = useNavigate(); - const { workspace_id, page_id } = useParams(); + const { workspaceId, pageId } = useParams(); const { handleAddPage } = usePageTree(); const { addPageToday } = useCalendarHeatmap(); @@ -46,18 +46,18 @@ export function CollapsiblePageTree(props: CollapsiblePageTreeProps) { const [open, setOpen] = useState(initialOpen); const create_page = useCallback(async () => { - if (page_id) { + if (pageId) { const newPage = await services.api.editorBlock.create({ - workspace: workspace_id, + workspace: workspaceId, type: 'page' as const, }); await handleAddPage(newPage.id); addPageToday(); - navigate(`/${workspace_id}/${newPage.id}`); + navigate(`/${workspaceId}/${newPage.id}`); } - }, [addPageToday, handleAddPage, navigate, page_id, workspace_id]); + }, [addPageToday, handleAddPage, navigate, pageId, workspaceId]); const [newPageBtnVisible, setNewPageBtnVisible] = useState(false); diff --git a/apps/ligo-virgo/src/pages/workspace/docs/components/toc/TOC.tsx b/apps/ligo-virgo/src/pages/workspace/docs/components/toc/TOC.tsx index 0a5c442590..f22bf43fea 100644 --- a/apps/ligo-virgo/src/pages/workspace/docs/components/toc/TOC.tsx +++ b/apps/ligo-virgo/src/pages/workspace/docs/components/toc/TOC.tsx @@ -116,7 +116,7 @@ const renderTOCContent = tocDataSource => { }; export const TOC = () => { - const { page_id } = useParams(); + const { pageId } = useParams(); const [tocDataSource, setTocDataSource] = useState([]); const [activeBlockId, setActiveBlockId] = useState(''); @@ -124,7 +124,7 @@ export const TOC = () => { const listenerMapRef = useRef(new Map()); const { currentEditors } = useCurrentEditors(); - const editor = currentEditors[page_id] as Virgo; + const editor = currentEditors[pageId] as Virgo; const updateTocDataSource = useCallback(async () => { if (!editor) { @@ -134,7 +134,7 @@ export const TOC = () => { const listenerMap = listenerMapRef.current; /* page listener: trigger update-notice when add new group */ - const pageAsyncBlock = (await editor.getBlockByIds([page_id]))?.[0]; + const pageAsyncBlock = (await editor.getBlockByIds([pageId]))?.[0]; if (!listenerMap.has(pageAsyncBlock.id)) { listenerMap.set( pageAsyncBlock.id, @@ -144,7 +144,7 @@ export const TOC = () => { /* block listener: trigger update-notice when change block content */ const { children = [] } = - (await editor.queryByPageId(page_id))?.[0] || {}; + (await editor.queryByPageId(pageId))?.[0] || {}; const asyncBlocks = (await editor.getBlockByIds(children)) || []; const { tocContents } = await getContentByAsyncBlocks( asyncBlocks, @@ -155,7 +155,7 @@ export const TOC = () => { /* toc: flat content */ const tocDataSource = getPageTOC(asyncBlocks, tocContents); setTocDataSource(tocDataSource); - }, [editor, page_id]); + }, [editor, pageId]); /* init toc and add page/block update-listener & unmount-listener */ useEffect(() => { diff --git a/apps/venus/src/app/common/Footer.tsx b/apps/venus/src/app/common/Footer.tsx index f51d7f78ed..e1375074a4 100644 --- a/apps/venus/src/app/common/Footer.tsx +++ b/apps/venus/src/app/common/Footer.tsx @@ -90,13 +90,14 @@ export const AFFiNEFooter = ({ sx={{ display: 'flex', justifyContent: 'center', - maxWidth: '400px', + flexWrap: 'wrap', + maxWidth: '420px', margin: 'auto', marginBottom: '2em', '--joy-shadow-sm': 0, }} > - + - + - + - +