mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-27 10:52:40 +08:00
feat: bump blocksuite (#6078)
This commit is contained in:
@@ -162,7 +162,7 @@ export const Component = () => {
|
||||
.then(() => {
|
||||
const { page } = workspace.services.get(PageManager).open(pageId);
|
||||
|
||||
workspace.blockSuiteWorkspace.awarenessStore.setReadonly(
|
||||
workspace.docCollection.awarenessStore.setReadonly(
|
||||
page.blockSuiteDoc,
|
||||
true
|
||||
);
|
||||
@@ -200,14 +200,14 @@ export const Component = () => {
|
||||
<ShareHeader
|
||||
pageId={page.id}
|
||||
publishMode={publishMode}
|
||||
blockSuiteWorkspace={page.blockSuiteDoc.workspace}
|
||||
docCollection={page.blockSuiteDoc.collection}
|
||||
/>
|
||||
<Scrollable.Root>
|
||||
<Scrollable.Viewport className={styles.editorContainer}>
|
||||
<PageDetailEditor
|
||||
isPublic
|
||||
publishMode={publishMode}
|
||||
workspace={page.blockSuiteDoc.workspace}
|
||||
docCollection={page.blockSuiteDoc.collection}
|
||||
pageId={page.id}
|
||||
onLoad={() => noop}
|
||||
/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { EditorModeSwitch } from '@affine/core/components/blocksuite/block-suite-mode-switch';
|
||||
import ShareHeaderRightItem from '@affine/core/components/cloud/share-header-right-item';
|
||||
import type { Workspace as BlockSuiteWorkspace } from '@blocksuite/store';
|
||||
import type { DocCollection } from '@blocksuite/store';
|
||||
import type { PageMode } from '@toeverything/infra';
|
||||
|
||||
import { BlocksuiteHeaderTitle } from '../../components/blocksuite/block-suite-header/title/index';
|
||||
@@ -9,28 +9,28 @@ import * as styles from './share-header.css';
|
||||
export function ShareHeader({
|
||||
pageId,
|
||||
publishMode,
|
||||
blockSuiteWorkspace,
|
||||
docCollection,
|
||||
}: {
|
||||
pageId: string;
|
||||
publishMode: PageMode;
|
||||
blockSuiteWorkspace: BlockSuiteWorkspace;
|
||||
docCollection: DocCollection;
|
||||
}) {
|
||||
return (
|
||||
<div className={styles.header}>
|
||||
<EditorModeSwitch
|
||||
isPublic
|
||||
blockSuiteWorkspace={blockSuiteWorkspace}
|
||||
docCollection={docCollection}
|
||||
pageId={pageId}
|
||||
publicMode={publishMode}
|
||||
/>
|
||||
<BlocksuiteHeaderTitle
|
||||
blockSuiteWorkspace={blockSuiteWorkspace}
|
||||
docCollection={docCollection}
|
||||
pageId={pageId}
|
||||
isPublic={true}
|
||||
/>
|
||||
<div className={styles.spacer} />
|
||||
<ShareHeaderRightItem
|
||||
workspaceId={blockSuiteWorkspace.id}
|
||||
workspaceId={docCollection.id}
|
||||
pageId={pageId}
|
||||
publishMode={publishMode}
|
||||
/>
|
||||
|
||||
@@ -40,7 +40,7 @@ export const FilterContainer = ({
|
||||
<div className={filterContainerStyle}>
|
||||
<div style={{ flex: 1 }}>
|
||||
<FilterList
|
||||
propertiesMeta={currentWorkspace.blockSuiteWorkspace.meta.properties}
|
||||
propertiesMeta={currentWorkspace.docCollection.meta.properties}
|
||||
value={filters}
|
||||
onChange={onChangeFilters}
|
||||
/>
|
||||
|
||||
@@ -29,7 +29,7 @@ export const AllPageHeader = ({
|
||||
<AllPageListOperationsMenu
|
||||
filterList={filters}
|
||||
onChangeFilterList={onChangeFilters}
|
||||
propertiesMeta={workspace.blockSuiteWorkspace.meta.properties}
|
||||
propertiesMeta={workspace.docCollection.meta.properties}
|
||||
/>
|
||||
}
|
||||
right={
|
||||
|
||||
@@ -19,7 +19,7 @@ import { AllPageHeader } from './all-page-header';
|
||||
|
||||
export const AllPage = () => {
|
||||
const currentWorkspace = useService(Workspace);
|
||||
const pageMetas = useBlockSuiteDocMeta(currentWorkspace.blockSuiteWorkspace);
|
||||
const pageMetas = useBlockSuiteDocMeta(currentWorkspace.docCollection);
|
||||
const [hideHeaderCreateNew, setHideHeaderCreateNew] = useState(true);
|
||||
|
||||
const [filters, setFilters] = useState<Filter[]>([]);
|
||||
@@ -48,7 +48,7 @@ export const AllPage = () => {
|
||||
<EmptyPageList
|
||||
type="all"
|
||||
heading={<PageListHeader />}
|
||||
blockSuiteWorkspace={currentWorkspace.blockSuiteWorkspace}
|
||||
docCollection={currentWorkspace.docCollection}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
@@ -65,10 +65,10 @@ export const Component = () => {
|
||||
|
||||
useEffect(() => {
|
||||
function checkJumpOnce() {
|
||||
for (const [pageId] of currentWorkspace.blockSuiteWorkspace.docs) {
|
||||
const page = currentWorkspace.blockSuiteWorkspace.getDoc(pageId);
|
||||
for (const [pageId] of currentWorkspace.docCollection.docs) {
|
||||
const page = currentWorkspace.docCollection.getDoc(pageId);
|
||||
if (page && page.meta?.jumpOnce) {
|
||||
currentWorkspace.blockSuiteWorkspace.meta.setDocMeta(page.id, {
|
||||
currentWorkspace.docCollection.meta.setDocMeta(page.id, {
|
||||
jumpOnce: false,
|
||||
});
|
||||
navigateHelper.jumpToPage(currentWorkspace.id, pageId);
|
||||
@@ -76,14 +76,9 @@ export const Component = () => {
|
||||
}
|
||||
}
|
||||
checkJumpOnce();
|
||||
return currentWorkspace.blockSuiteWorkspace.slots.docUpdated.on(
|
||||
checkJumpOnce
|
||||
).dispose;
|
||||
}, [
|
||||
currentWorkspace.blockSuiteWorkspace,
|
||||
currentWorkspace.id,
|
||||
navigateHelper,
|
||||
]);
|
||||
return currentWorkspace.docCollection.slots.docUpdated.on(checkJumpOnce)
|
||||
.dispose;
|
||||
}, [currentWorkspace.docCollection, currentWorkspace.id, navigateHelper]);
|
||||
|
||||
return <AllPage />;
|
||||
};
|
||||
|
||||
@@ -33,7 +33,7 @@ const EmptyTagListHeader = () => {
|
||||
|
||||
export const AllTag = () => {
|
||||
const currentWorkspace = useService(Workspace);
|
||||
const pageMetas = useBlockSuiteDocMeta(currentWorkspace.blockSuiteWorkspace);
|
||||
const pageMetas = useBlockSuiteDocMeta(currentWorkspace.docCollection);
|
||||
|
||||
const { tags, tagMetas, deleteTags } = useTagMetas(pageMetas);
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ export const Component = function CollectionPage() {
|
||||
navigate,
|
||||
params.collectionId,
|
||||
pushNotification,
|
||||
workspace.blockSuiteWorkspace,
|
||||
workspace.docCollection,
|
||||
workspace.id,
|
||||
]);
|
||||
if (!collection) {
|
||||
|
||||
@@ -46,16 +46,16 @@ export function JournalPageHeader({ page, workspace }: PageHeaderProps) {
|
||||
return (
|
||||
<Header className={styles.header}>
|
||||
<EditorModeSwitch
|
||||
blockSuiteWorkspace={workspace.blockSuiteWorkspace}
|
||||
docCollection={workspace.docCollection}
|
||||
pageId={page?.id}
|
||||
/>
|
||||
<div className={styles.journalWeekPicker}>
|
||||
<JournalWeekDatePicker
|
||||
workspace={workspace.blockSuiteWorkspace}
|
||||
docCollection={workspace.docCollection}
|
||||
page={page}
|
||||
/>
|
||||
</div>
|
||||
<JournalTodayButton workspace={workspace.blockSuiteWorkspace} />
|
||||
<JournalTodayButton docCollection={workspace.docCollection} />
|
||||
<HeaderDivider />
|
||||
<PageHeaderMenuButton isJournal pageId={page?.id} />
|
||||
{page ? (
|
||||
@@ -74,13 +74,13 @@ export function NormalPageHeader({ page, workspace }: PageHeaderProps) {
|
||||
return (
|
||||
<Header className={styles.header}>
|
||||
<EditorModeSwitch
|
||||
blockSuiteWorkspace={workspace.blockSuiteWorkspace}
|
||||
docCollection={workspace.docCollection}
|
||||
pageId={page?.id}
|
||||
/>
|
||||
<BlocksuiteHeaderTitle
|
||||
inputHandleRef={titleInputHandleRef}
|
||||
pageId={page?.id}
|
||||
blockSuiteWorkspace={workspace.blockSuiteWorkspace}
|
||||
docCollection={workspace.docCollection}
|
||||
/>
|
||||
<PageHeaderMenuButton rename={onRename} pageId={page?.id} />
|
||||
<FavoriteButton pageId={page?.id} />
|
||||
@@ -92,7 +92,7 @@ export function NormalPageHeader({ page, workspace }: PageHeaderProps) {
|
||||
|
||||
export function DetailPageHeader(props: PageHeaderProps) {
|
||||
const { page } = props;
|
||||
const { isJournal } = useJournalInfoHelper(page.workspace, page.id);
|
||||
const { isJournal } = useJournalInfoHelper(page.collection, page.id);
|
||||
const isInTrash = page.meta?.trash;
|
||||
|
||||
return isJournal && !isInTrash ? (
|
||||
|
||||
@@ -72,7 +72,7 @@ const DetailPageImpl = memo(function DetailPageImpl() {
|
||||
const { openPage, jumpToTag } = useNavigateHelper();
|
||||
const [editor, setEditor] = useState<AffineEditorContainer | null>(null);
|
||||
const currentWorkspace = useService(Workspace);
|
||||
const blockSuiteWorkspace = currentWorkspace.blockSuiteWorkspace;
|
||||
const docCollection = currentWorkspace.docCollection;
|
||||
|
||||
const isActiveView = useIsActiveView();
|
||||
// TODO: remove jotai here
|
||||
@@ -88,7 +88,7 @@ const DetailPageImpl = memo(function DetailPageImpl() {
|
||||
null
|
||||
);
|
||||
|
||||
const pageMeta = useBlockSuiteDocMeta(blockSuiteWorkspace).find(
|
||||
const pageMeta = useBlockSuiteDocMeta(docCollection).find(
|
||||
meta => meta.id === page.id
|
||||
);
|
||||
|
||||
@@ -156,7 +156,7 @@ const DetailPageImpl = memo(function DetailPageImpl() {
|
||||
// fixme: it seems pageLinkClicked is not triggered sometimes?
|
||||
disposable.add(
|
||||
pageService.slots.docLinkClicked.on(({ docId }) => {
|
||||
return openPage(blockSuiteWorkspace.id, docId);
|
||||
return openPage(docCollection.id, docId);
|
||||
})
|
||||
);
|
||||
disposable.add(
|
||||
@@ -177,7 +177,7 @@ const DetailPageImpl = memo(function DetailPageImpl() {
|
||||
};
|
||||
},
|
||||
[
|
||||
blockSuiteWorkspace.id,
|
||||
docCollection.id,
|
||||
currentWorkspace.id,
|
||||
jumpToTag,
|
||||
mode,
|
||||
@@ -213,7 +213,7 @@ const DetailPageImpl = memo(function DetailPageImpl() {
|
||||
<PageDetailEditor
|
||||
pageId={currentPageId}
|
||||
onLoad={onLoad}
|
||||
workspace={blockSuiteWorkspace}
|
||||
docCollection={docCollection}
|
||||
/>
|
||||
</Scrollable.Viewport>
|
||||
<Scrollable.Scrollbar />
|
||||
@@ -254,10 +254,7 @@ const DetailPageImpl = memo(function DetailPageImpl() {
|
||||
}
|
||||
/>
|
||||
|
||||
<ImagePreviewModal
|
||||
pageId={currentPageId}
|
||||
workspace={blockSuiteWorkspace}
|
||||
/>
|
||||
<ImagePreviewModal pageId={currentPageId} docCollection={docCollection} />
|
||||
<GlobalPageHistoryModal />
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Empty } from '@affine/component';
|
||||
import { Trans } from '@affine/i18n';
|
||||
import { useAFFiNEI18N } from '@affine/i18n/hooks';
|
||||
import type { Workspace } from '@blocksuite/store';
|
||||
import type { DocCollection } from '@blocksuite/store';
|
||||
import { type ReactNode, useCallback } from 'react';
|
||||
|
||||
import { usePageHelper } from '../../components/blocksuite/block-suite-page-list/utils';
|
||||
@@ -9,14 +9,14 @@ import * as styles from './page-list-empty.css';
|
||||
|
||||
export const EmptyPageList = ({
|
||||
type,
|
||||
blockSuiteWorkspace,
|
||||
docCollection,
|
||||
heading,
|
||||
}: {
|
||||
type: 'all' | 'trash' | 'shared' | 'public';
|
||||
blockSuiteWorkspace: Workspace;
|
||||
docCollection: DocCollection;
|
||||
heading?: ReactNode;
|
||||
}) => {
|
||||
const { createPage } = usePageHelper(blockSuiteWorkspace);
|
||||
const { createPage } = usePageHelper(docCollection);
|
||||
const t = useAFFiNEI18N();
|
||||
const onCreatePage = useCallback(() => {
|
||||
createPage?.();
|
||||
|
||||
@@ -20,7 +20,7 @@ import * as styles from './index.css';
|
||||
|
||||
export const TagDetail = ({ tagId }: { tagId?: string }) => {
|
||||
const currentWorkspace = useService(Workspace);
|
||||
const pageMetas = useBlockSuiteDocMeta(currentWorkspace.blockSuiteWorkspace);
|
||||
const pageMetas = useBlockSuiteDocMeta(currentWorkspace.docCollection);
|
||||
|
||||
const { tags, filterPageMetaByTag } = useTagMetas(pageMetas);
|
||||
const tagPageMetas = useMemo(() => {
|
||||
@@ -57,7 +57,7 @@ export const TagDetail = ({ tagId }: { tagId?: string }) => {
|
||||
workspaceId={currentWorkspace.id}
|
||||
/>
|
||||
}
|
||||
blockSuiteWorkspace={currentWorkspace.blockSuiteWorkspace}
|
||||
docCollection={currentWorkspace.docCollection}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -49,17 +49,17 @@ const TrashHeader = () => {
|
||||
|
||||
export const TrashPage = () => {
|
||||
const currentWorkspace = useService(Workspace);
|
||||
const blockSuiteWorkspace = currentWorkspace.blockSuiteWorkspace;
|
||||
assertExists(blockSuiteWorkspace);
|
||||
const docCollection = currentWorkspace.docCollection;
|
||||
assertExists(docCollection);
|
||||
|
||||
const pageMetas = useBlockSuiteDocMeta(blockSuiteWorkspace);
|
||||
const pageMetas = useBlockSuiteDocMeta(docCollection);
|
||||
const filteredPageMetas = useFilteredPageMetas(currentWorkspace, pageMetas, {
|
||||
trash: true,
|
||||
});
|
||||
|
||||
const { restoreFromTrash, permanentlyDeletePage } =
|
||||
useBlockSuiteMetaHelper(blockSuiteWorkspace);
|
||||
const { isPreferredEdgeless } = usePageHelper(blockSuiteWorkspace);
|
||||
useBlockSuiteMetaHelper(docCollection);
|
||||
const { isPreferredEdgeless } = usePageHelper(docCollection);
|
||||
const t = useAFFiNEI18N();
|
||||
|
||||
const pageOperationsRenderer = useCallback(
|
||||
@@ -107,7 +107,7 @@ export const TrashPage = () => {
|
||||
rowAsLink
|
||||
groupBy={false}
|
||||
isPreferredEdgeless={isPreferredEdgeless}
|
||||
blockSuiteWorkspace={currentWorkspace.blockSuiteWorkspace}
|
||||
docCollection={currentWorkspace.docCollection}
|
||||
operationsRenderer={pageOperationsRenderer}
|
||||
itemRenderer={pageItemRenderer}
|
||||
headerRenderer={pageHeaderRenderer}
|
||||
@@ -115,7 +115,7 @@ export const TrashPage = () => {
|
||||
) : (
|
||||
<EmptyPageList
|
||||
type="trash"
|
||||
blockSuiteWorkspace={currentWorkspace.blockSuiteWorkspace}
|
||||
docCollection={currentWorkspace.docCollection}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user