fix: collections should be unique for workspaces (#3213)

This commit is contained in:
3720
2023-07-13 16:42:20 +08:00
committed by Alex Yang
parent 944f4ee895
commit 559d9bb9a8
11 changed files with 26 additions and 13 deletions

View File

@@ -187,7 +187,6 @@ export const BlockSuitePageList: React.FC<BlockSuitePageListProps> = ({
const pageList: ListData[] = list.map(pageMeta => {
const page = blockSuiteWorkspace.getPage(pageMeta.id);
const preview = page ? getPagePreviewText(page) : undefined;
return {
icon: isPreferredEdgeless(pageMeta.id) ? <EdgelessIcon /> : <PageIcon />,
pageId: pageMeta.id,
@@ -230,6 +229,7 @@ export const BlockSuitePageList: React.FC<BlockSuitePageListProps> = ({
});
return (
<PageList
workspaceId={blockSuiteWorkspace.id}
propertiesMeta={blockSuiteWorkspace.meta.properties}
getPageInfo={getPageInfo}
onCreateNewPage={createPage}

View File

@@ -130,7 +130,7 @@ const CollectionRenderer = ({
getPageInfo: GetPageInfoById;
}) => {
const [collapsed, setCollapsed] = React.useState(true);
const setting = useCollectionManager();
const setting = useCollectionManager(workspace.id);
const router = useRouter();
const clickCollection = useCallback(() => {
router
@@ -255,7 +255,7 @@ const CollectionRenderer = ({
};
export const CollectionsList = ({ currentWorkspace }: CollectionsListProps) => {
const metas = useBlockSuitePageMeta(currentWorkspace.blockSuiteWorkspace);
const { savedCollections } = useSavedCollections();
const { savedCollections } = useSavedCollections(currentWorkspace.id);
const getPageInfo = useGetPageInfoById();
return (
<div data-testid="collections" className={styles.wrapper}>

View File

@@ -23,7 +23,7 @@ export function WorkspaceHeader({
currentWorkspaceId,
currentEntry,
}: WorkspaceHeaderProps<WorkspaceFlavour>): ReactElement {
const setting = useCollectionManager();
const setting = useCollectionManager(currentWorkspaceId);
const t = useAFFiNEI18N();
const saveToCollection = useCallback(
async (collection: Collection) => {
@@ -73,6 +73,7 @@ export function WorkspaceHeader({
id: uuidv4(),
name: '',
filterList: setting.currentCollection.filterList,
workspaceId: currentWorkspaceId,
}}
onConfirm={saveToCollection}
></SaveCollectionButton>

View File

@@ -27,7 +27,7 @@ const WorkspaceDetail: React.FC = () => {
assertExists(currentWorkspace);
assertExists(currentPageId);
const blockSuiteWorkspace = currentWorkspace.blockSuiteWorkspace;
const collectionManager = useCollectionManager();
const collectionManager = useCollectionManager(currentWorkspace.id);
const onLoad = useCallback(
(page: Page, editor: EditorContainer) => {
const dispose = editor.slots.pageLinkClicked.on(({ pageId }) => {

View File

@@ -15,9 +15,9 @@ import type { NextPageWithLayout } from '../../../shared';
const AllPage: NextPageWithLayout = () => {
const router = useRouter();
const setting = useCollectionManager();
const { jumpToPage } = useRouterHelper(router);
const [currentWorkspace] = useCurrentWorkspace();
const setting = useCollectionManager(currentWorkspace.id);
const t = useAFFiNEI18N();
const onClickPage = useCallback(
(pageId: string, newTab?: boolean) => {