From f78ee0670e788afaac76ecbe3e6cac637c38ced9 Mon Sep 17 00:00:00 2001 From: x1a0t <405028157@qq.com> Date: Thu, 12 Jan 2023 18:05:00 +0800 Subject: [PATCH 001/158] fix: remove redundant package in data-center --- package.json | 2 +- packages/data-center/package.json | 1 - pnpm-lock.yaml | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/package.json b/package.json index 43d76b7e12..24a82b0310 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "postinstall": "husky install", "notify": "node --experimental-modules scripts/notify.mjs", "check:ci": "pnpm lint & pnpm test", - "update:blocksuite": "pnpm i --filter @affine/app --filter @affine/datacenter @blocksuite/blocks@nightly @blocksuite/store@nightly @blocksuite/editor@nightly" + "update:blocksuite": "pnpm i --filter @affine/app --filter @affine/datacenter @blocksuite/blocks@nightly @blocksuite/store@nightly && pnpm i --filter @affine/app @blocksuite/editor@nightly" }, "lint-staged": { "*": "prettier --write --ignore-unknown", diff --git a/packages/data-center/package.json b/packages/data-center/package.json index f97871413a..45f13844d5 100644 --- a/packages/data-center/package.json +++ b/packages/data-center/package.json @@ -27,7 +27,6 @@ }, "dependencies": { "@blocksuite/blocks": "0.4.0-20230111171650-bc63456", - "@blocksuite/editor": "0.4.0-20230111171650-bc63456", "@blocksuite/store": "0.4.0-20230111171650-bc63456", "debug": "^4.3.4", "encoding": "^0.1.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7f96d5abe..90df4d2e27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -124,7 +124,6 @@ importers: packages/data-center: specifiers: '@blocksuite/blocks': 0.4.0-20230111171650-bc63456 - '@blocksuite/editor': 0.4.0-20230111171650-bc63456 '@blocksuite/store': 0.4.0-20230111171650-bc63456 '@playwright/test': ^1.29.1 '@types/debug': ^4.1.7 @@ -142,7 +141,6 @@ importers: yjs: ^13.5.44 dependencies: '@blocksuite/blocks': 0.4.0-20230111171650-bc63456_yjs@13.5.44 - '@blocksuite/editor': 0.4.0-20230111171650-bc63456_yjs@13.5.44 '@blocksuite/store': 0.4.0-20230111171650-bc63456_yjs@13.5.44 debug: 4.3.4 encoding: 0.1.13 From 693a59c44640e80d4e926a809ce6717046474e2a Mon Sep 17 00:00:00 2001 From: tzhangchi Date: Fri, 13 Jan 2023 14:31:05 +0800 Subject: [PATCH 002/158] docs: add contributors --- .all-contributorsrc | 27 +++++++++++++++++++++++++++ README.md | 5 ++++- docs/contributor-add.md | 1 + 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index b08412fb49..74bef4b2b9 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -436,6 +436,33 @@ "contributions": [ "code" ] + }, + { + "login": "hezhizhen", + "name": "Zhizhen He", + "avatar_url": "https://avatars.githubusercontent.com/u/7611700?v=4", + "profile": "https://t.me/littlepoint", + "contributions": [ + "code" + ] + }, + { + "login": "AkaraChen", + "name": "AkaraChen", + "avatar_url": "https://avatars.githubusercontent.com/u/85140972?v=4", + "profile": "https://akr.moe/", + "contributions": [ + "code" + ] + }, + { + "login": "suyanhanx", + "name": "Suyan", + "avatar_url": "https://avatars.githubusercontent.com/u/24221472?v=4", + "profile": "https://github.com/suyanhanx", + "contributions": [ + "code" + ] } ] } diff --git a/README.md b/README.md index 97c5d04bc4..a7cefa368d 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ See https://github.com/all-?/all-contributors/issues/361#issuecomment-637166066 --> -[all-contributors-badge]: https://img.shields.io/badge/all_contributors-45-orange.svg?style=flat-square +[all-contributors-badge]: https://img.shields.io/badge/all_contributors-48-orange.svg?style=flat-square @@ -184,6 +184,9 @@ Thanks a lot to the community for providing such powerful and simple libraries,
Mohammed Faraz

📖
Pranav Sriram

💻
Reson-a

💻 +
Zhizhen He

💻 +
AkaraChen

💻 +
Suyan

💻 diff --git a/docs/contributor-add.md b/docs/contributor-add.md index 5cc07bd3ce..67768e8095 100644 --- a/docs/contributor-add.md +++ b/docs/contributor-add.md @@ -4,6 +4,7 @@ - https://allcontributors.org/docs/en/emoji-key ```shell +all-contributors check all-contributors add tzhangchi code,doc all-contributors generate ``` From fabd76edbe38eb26302ec051d62d4b632d226145 Mon Sep 17 00:00:00 2001 From: x1a0t <405028157@qq.com> Date: Fri, 13 Jan 2023 15:59:17 +0800 Subject: [PATCH 003/158] chore: update blocksuite including providing fetching header --- packages/app/package.json | 6 ++-- packages/data-center/package.json | 4 +-- pnpm-lock.yaml | 52 +++++++++++++++---------------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/packages/app/package.json b/packages/app/package.json index 31fa964621..ad13d1da75 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -11,10 +11,10 @@ "dependencies": { "@affine/datacenter": "workspace:*", "@affine/i18n": "workspace:*", - "@blocksuite/blocks": "0.4.0-20230111171650-bc63456", - "@blocksuite/editor": "0.4.0-20230111171650-bc63456", + "@blocksuite/blocks": "0.4.0-20230113023110-28a7fdc", + "@blocksuite/editor": "0.4.0-20230113023110-28a7fdc", "@blocksuite/icons": "^2.0.2", - "@blocksuite/store": "0.4.0-20230111171650-bc63456", + "@blocksuite/store": "0.4.0-20230113023110-28a7fdc", "@emotion/css": "^11.10.0", "@emotion/react": "^11.10.4", "@emotion/server": "^11.10.0", diff --git a/packages/data-center/package.json b/packages/data-center/package.json index 45f13844d5..5b24368eea 100644 --- a/packages/data-center/package.json +++ b/packages/data-center/package.json @@ -26,8 +26,8 @@ "typescript": "^4.8.4" }, "dependencies": { - "@blocksuite/blocks": "0.4.0-20230111171650-bc63456", - "@blocksuite/store": "0.4.0-20230111171650-bc63456", + "@blocksuite/blocks": "0.4.0-20230113023110-28a7fdc", + "@blocksuite/store": "0.4.0-20230113023110-28a7fdc", "debug": "^4.3.4", "encoding": "^0.1.13", "firebase": "^9.15.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90df4d2e27..3ea0e08d63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -40,10 +40,10 @@ importers: specifiers: '@affine/datacenter': workspace:* '@affine/i18n': workspace:* - '@blocksuite/blocks': 0.4.0-20230111171650-bc63456 - '@blocksuite/editor': 0.4.0-20230111171650-bc63456 + '@blocksuite/blocks': 0.4.0-20230113023110-28a7fdc + '@blocksuite/editor': 0.4.0-20230113023110-28a7fdc '@blocksuite/icons': ^2.0.2 - '@blocksuite/store': 0.4.0-20230111171650-bc63456 + '@blocksuite/store': 0.4.0-20230113023110-28a7fdc '@emotion/css': ^11.10.0 '@emotion/react': ^11.10.4 '@emotion/server': ^11.10.0 @@ -81,10 +81,10 @@ importers: dependencies: '@affine/datacenter': link:../data-center '@affine/i18n': link:../i18n - '@blocksuite/blocks': 0.4.0-20230111171650-bc63456_yjs@13.5.44 - '@blocksuite/editor': 0.4.0-20230111171650-bc63456_yjs@13.5.44 + '@blocksuite/blocks': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 + '@blocksuite/editor': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 '@blocksuite/icons': 2.0.4_w5j4k42lgipnm43s3brx6h3c34 - '@blocksuite/store': 0.4.0-20230111171650-bc63456_yjs@13.5.44 + '@blocksuite/store': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 '@emotion/css': 11.10.0 '@emotion/react': 11.10.4_w5j4k42lgipnm43s3brx6h3c34 '@emotion/server': 11.10.0_@emotion+css@11.10.0 @@ -123,8 +123,8 @@ importers: packages/data-center: specifiers: - '@blocksuite/blocks': 0.4.0-20230111171650-bc63456 - '@blocksuite/store': 0.4.0-20230111171650-bc63456 + '@blocksuite/blocks': 0.4.0-20230113023110-28a7fdc + '@blocksuite/store': 0.4.0-20230113023110-28a7fdc '@playwright/test': ^1.29.1 '@types/debug': ^4.1.7 debug: ^4.3.4 @@ -140,8 +140,8 @@ importers: y-protocols: ^1.0.5 yjs: ^13.5.44 dependencies: - '@blocksuite/blocks': 0.4.0-20230111171650-bc63456_yjs@13.5.44 - '@blocksuite/store': 0.4.0-20230111171650-bc63456_yjs@13.5.44 + '@blocksuite/blocks': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 + '@blocksuite/store': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 debug: 4.3.4 encoding: 0.1.13 firebase: 9.15.0_encoding@0.1.13 @@ -1455,12 +1455,12 @@ packages: to-fast-properties: 2.0.0 dev: true - /@blocksuite/blocks/0.4.0-20230111171650-bc63456_yjs@13.5.44: - resolution: {integrity: sha512-7fpb++pT9laoyLFWl4h09v7TUqZ/9udMrC1qxdX2XFgMPJjg3MJ9RG+Ud2s/zqZ1SkU1+0hMBvJP5ci9vV44gw==} + /@blocksuite/blocks/0.4.0-20230113023110-28a7fdc_yjs@13.5.44: + resolution: {integrity: sha512-o9J3Sl/GARVjoJJL3wIFPwMWdU+4jhRS8hmN2bRFu6l9BNybpNkJQnGFK1rC5RRYOTAXSCYP+xi3X0qcO1pjHA==} dependencies: - '@blocksuite/global': 0.4.0-20230111171650-bc63456 - '@blocksuite/phasor': 0.4.0-20230111171650-bc63456_yjs@13.5.44 - '@blocksuite/store': 0.4.0-20230111171650-bc63456_yjs@13.5.44 + '@blocksuite/global': 0.4.0-20230113023110-28a7fdc + '@blocksuite/phasor': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 + '@blocksuite/store': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 '@tldraw/intersect': 1.8.0 autosize: 5.0.2 highlight.js: 11.7.0 @@ -1476,11 +1476,11 @@ packages: - yjs dev: false - /@blocksuite/editor/0.4.0-20230111171650-bc63456_yjs@13.5.44: - resolution: {integrity: sha512-NbghDNWDGHXXfEqgnNhbw7zewGRyx9LUzOv1FmY2WVhzDu02MSrTWxMduChH1/tfLHRLe6jusmZKS9BNSUPynA==} + /@blocksuite/editor/0.4.0-20230113023110-28a7fdc_yjs@13.5.44: + resolution: {integrity: sha512-H0RkldzjVu8RlYb8gIZGKTFIYaY/M220sg+KEL0it7yjwiOWwrr/z0CeG6WvnBdBMnC/gkp4cdNQRFH3Sqkowg==} dependencies: - '@blocksuite/blocks': 0.4.0-20230111171650-bc63456_yjs@13.5.44 - '@blocksuite/store': 0.4.0-20230111171650-bc63456_yjs@13.5.44 + '@blocksuite/blocks': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 + '@blocksuite/store': 0.4.0-20230113023110-28a7fdc_yjs@13.5.44 lit: 2.6.0 marked: 4.2.5 turndown: 7.1.1 @@ -1491,8 +1491,8 @@ packages: - yjs dev: false - /@blocksuite/global/0.4.0-20230111171650-bc63456: - resolution: {integrity: sha512-/Kqg73vPLzxiWp6UqRmRoKfYmH4Sij3mU52RJf9adyywZOdM5e9E1gvPP+Eruz/x2jJ1uzR5/ivFqp5t688/tg==} + /@blocksuite/global/0.4.0-20230113023110-28a7fdc: + resolution: {integrity: sha512-urzR//wUMzZMB1NPLMUCguowYrfS/XK5FV8927IE+oK86GL3O2sWTnhrf/EgPGPn8CyBOBYbQPVUBNqkMl5q7A==} dev: false /@blocksuite/icons/2.0.4_w5j4k42lgipnm43s3brx6h3c34: @@ -1505,20 +1505,20 @@ packages: react: 18.2.0 dev: false - /@blocksuite/phasor/0.4.0-20230111171650-bc63456_yjs@13.5.44: - resolution: {integrity: sha512-fzmrG8KVJXkm5YyvHpPG1RRFhXjzuOey8OIoDu+/z87n9HJc4SkOd9JKH6wEL37F7P5ZoEM9Yl9YHxQjUc4/CA==} + /@blocksuite/phasor/0.4.0-20230113023110-28a7fdc_yjs@13.5.44: + resolution: {integrity: sha512-HnV2kUd9DX7seaaH/Xtv4oZQfipNWAh1uBLPtl2J17nNJ2gGzZpySXJXFIb4J4Wr5FXGSgnr0RiB8Jd+PyTOow==} peerDependencies: yjs: ^13 dependencies: yjs: 13.5.44 dev: false - /@blocksuite/store/0.4.0-20230111171650-bc63456_yjs@13.5.44: - resolution: {integrity: sha512-f/PKFPadA0KZq/wSLxxlS29c4SDuMfzHN1/gdrxFEIY0gC8caK2jZnT4K62R9Nquik/mXL60h8fBVAkQ0KbHzg==} + /@blocksuite/store/0.4.0-20230113023110-28a7fdc_yjs@13.5.44: + resolution: {integrity: sha512-+xwQUQbrRiyePf+VDsryhQa5ykO9nukHaCQTPmU1zQVBhlvEO2sfhy5f9VGQLts3hXW+8EqvNbr1RrASDh/x3g==} peerDependencies: yjs: ^13 dependencies: - '@blocksuite/global': 0.4.0-20230111171650-bc63456 + '@blocksuite/global': 0.4.0-20230113023110-28a7fdc '@types/flexsearch': 0.7.3 '@types/quill': 1.3.10 buffer: 6.0.3 From 743c7212fe659a37ee0a1efe86165b01cd479649 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Mon, 16 Jan 2023 17:40:14 +0800 Subject: [PATCH 004/158] feat: adapt the quick search to the public page --- .../app/src/components/quick-search/Input.tsx | 8 +- .../quick-search/PublishedResults.tsx | 95 +++++++++++++++++++ .../app/src/components/quick-search/index.tsx | 67 +++++++++---- packages/app/src/hooks/use-page-helper.ts | 20 +++- 4 files changed, 162 insertions(+), 28 deletions(-) create mode 100644 packages/app/src/components/quick-search/PublishedResults.tsx diff --git a/packages/app/src/components/quick-search/Input.tsx b/packages/app/src/components/quick-search/Input.tsx index 6d96d239b0..e39d92e6b9 100644 --- a/packages/app/src/components/quick-search/Input.tsx +++ b/packages/app/src/components/quick-search/Input.tsx @@ -8,17 +8,17 @@ import React, { import { SearchIcon } from '@blocksuite/icons'; import { StyledInputContent, StyledLabel } from './style'; import { Command } from 'cmdk'; -import { useAppState } from '@/providers/app-state-provider'; import { useTranslation } from '@affine/i18n'; export const Input = (props: { query: string; setQuery: Dispatch>; setLoading: Dispatch>; + isPublic: boolean; + publishWorkspaceName: string | undefined; }) => { const [isComposition, setIsComposition] = useState(false); const [inputValue, setInputValue] = useState(''); const inputRef = useRef(null); - const { currentWorkspace } = useAppState(); const { t } = useTranslation(); useEffect(() => { inputRef.current?.addEventListener( @@ -78,9 +78,9 @@ export const Input = (props: { } }} placeholder={ - currentWorkspace?.isPublish + props.isPublic ? t('Quick search placeholder2', { - workspace: currentWorkspace?.blocksuiteWorkspace?.meta.name, + workspace: props.publishWorkspaceName, }) : t('Quick search placeholder') } diff --git a/packages/app/src/components/quick-search/PublishedResults.tsx b/packages/app/src/components/quick-search/PublishedResults.tsx new file mode 100644 index 0000000000..2a99737110 --- /dev/null +++ b/packages/app/src/components/quick-search/PublishedResults.tsx @@ -0,0 +1,95 @@ +import { Command } from 'cmdk'; +import { StyledListItem, StyledNotFound } from './style'; +import { PaperIcon, EdgelessIcon } from '@blocksuite/icons'; +import { Dispatch, SetStateAction, useEffect, useState } from 'react'; +import { useAppState, PageMeta } from '@/providers/app-state-provider'; +import { useRouter } from 'next/router'; +import { NoResultSVG } from './NoResultSVG'; +import { useTranslation } from '@affine/i18n'; +import usePageHelper from '@/hooks/use-page-helper'; +import { Workspace } from '@blocksuite/store'; + +export const PublishedResults = (props: { + query: string; + loading: boolean; + setLoading: Dispatch>; + setPublishWorkspaceName: Dispatch>; + onClose: () => void; +}) => { + const [workspace, setWorkspace] = useState(); + const { query, loading, setLoading, onClose, setPublishWorkspaceName } = + props; + const { search } = usePageHelper(); + const [results, setResults] = useState(new Map()); + const { dataCenter } = useAppState(); + const router = useRouter(); + const [pageList, setPageList] = useState([]); + useEffect(() => { + dataCenter + .loadPublicWorkspace(router.query.workspaceId as string) + .then(data => { + setPageList(data.blocksuiteWorkspace?.meta.pageMetas as PageMeta[]); + if (data && data.blocksuiteWorkspace) { + setWorkspace(data.blocksuiteWorkspace); + setPublishWorkspaceName(data.blocksuiteWorkspace.meta.name); + } + }) + .catch(() => { + router.push('/404'); + }); + }, [router, dataCenter, setPublishWorkspaceName]); + const { t } = useTranslation(); + useEffect(() => { + setResults(search(query, workspace)); + setLoading(false); + //Save the Map obtained from the search as state + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [query, setResults, setLoading]); + const pageIds = [...results.values()]; + const resultsPageMeta = pageList.filter( + page => pageIds.indexOf(page.id) > -1 && !page.trash + ); + + return loading ? null : ( + <> + {query ? ( + resultsPageMeta.length ? ( + + {resultsPageMeta.map(result => { + return ( + { + router.push( + `/public-workspace/${router.query.workspaceId}/${result.id}` + ); + onClose(); + }} + value={result.id} + > + + {result.mode === 'edgeless' ? ( + + ) : ( + + )} + {result.title} + + + ); + })} + + ) : ( + + {t('Find 0 result')} + + + ) + ) : ( + <> + )} + + ); +}; diff --git a/packages/app/src/components/quick-search/index.tsx b/packages/app/src/components/quick-search/index.tsx index 9d6e477968..9400f72031 100644 --- a/packages/app/src/components/quick-search/index.tsx +++ b/packages/app/src/components/quick-search/index.tsx @@ -13,7 +13,8 @@ import { Command } from 'cmdk'; import { useEffect, useState } from 'react'; import { useModal } from '@/providers/GlobalModalProvider'; import { getUaHelper } from '@/utils'; -import { useAppState } from '@/providers/app-state-provider'; +import { useRouter } from 'next/router'; +import { PublishedResults } from './PublishedResults'; type TransitionsModalProps = { open: boolean; onClose: () => void; @@ -22,10 +23,11 @@ const isMac = () => { return getUaHelper().isMacOs; }; export const QuickSearch = ({ open, onClose }: TransitionsModalProps) => { - const { currentWorkspace } = useAppState(); - + const router = useRouter(); const [query, setQuery] = useState(''); const [loading, setLoading] = useState(true); + const [isPublic, setIsPublic] = useState(false); + const [publishWorkspaceName, setPublishWorkspaceName] = useState(''); const [showCreatePage, setShowCreatePage] = useState(true); const { triggerQuickSearchModal } = useModal(); @@ -51,6 +53,17 @@ export const QuickSearch = ({ open, onClose }: TransitionsModalProps) => { document.removeEventListener('keydown', down, { capture: true }); }, [open, triggerQuickSearchModal]); + useEffect(() => { + if ( + router.pathname === '/public-workspace/[workspaceId]/[pageId]' || + router.pathname === '/public-workspace/[workspaceId]' + ) { + return setIsPublic(true); + } else { + return setIsPublic(false); + } + }, [router]); + return ( { }} > - + {isMac() ? '⌘ + K' : 'Ctrl + K'} - + {!isPublic ? ( + + ) : ( + + )} - {currentWorkspace?.published ? ( - <> - ) : showCreatePage ? ( - <> - - -