fix(core): workspace feature should be workspace specific (#5677)

fix TOV-429
This commit is contained in:
Peng Xiao
2024-01-24 03:07:50 +00:00
parent 994ab96688
commit a687e7c0ed
7 changed files with 43 additions and 30 deletions
@@ -11,7 +11,6 @@ import { JournalTodayButton } from '@affine/core/components/blocksuite/block-sui
import { PageHeaderMenuButton } from '@affine/core/components/blocksuite/block-suite-header/menu';
import { EditorModeSwitch } from '@affine/core/components/blocksuite/block-suite-mode-switch';
import { useJournalInfoHelper } from '@affine/core/hooks/use-journal';
import type { BlockSuiteWorkspace } from '@affine/core/shared';
import type { Workspace } from '@affine/workspace';
import { RightSidebarIcon } from '@blocksuite/icons';
import type { Page } from '@blocksuite/store';
@@ -189,7 +188,7 @@ export function DetailPageHeader(props: PageHeaderProps) {
}
interface SidebarHeaderProps {
workspace: BlockSuiteWorkspace;
workspace: Workspace;
page: Page;
}
function WindowsSidebarHeader(props: SidebarHeaderProps) {
@@ -206,7 +206,7 @@ const DetailPageImpl = memo(function DetailPageImpl({ page }: { page: Page }) {
sidebar={
!isInTrash ? (
<div className={styles.sidebarContainerInner}>
<RightSidebarHeader workspace={blockSuiteWorkspace} page={page} />
<RightSidebarHeader workspace={currentWorkspace} page={page} />
<EditorSidebar workspace={blockSuiteWorkspace} page={page} />
</div>
) : null
@@ -1,8 +1,8 @@
import { IconButton } from '@affine/component';
import { useJournalInfoHelper } from '@affine/core/hooks/use-journal';
import { useWorkspaceEnabledFeatures } from '@affine/core/hooks/use-workspace-features';
import type { BlockSuiteWorkspace } from '@affine/core/shared';
import { FeatureType } from '@affine/graphql';
import type { Workspace } from '@affine/workspace/workspace';
import type { Page } from '@blocksuite/store';
import { assignInlineVars } from '@vanilla-extract/dynamic';
import { useAtom, useAtomValue } from 'jotai';
@@ -15,15 +15,15 @@ import {
import * as styles from './extensions.css';
export interface ExtensionTabsProps {
workspace: BlockSuiteWorkspace;
workspace: Workspace;
page: Page;
}
// provide a switcher for active extensions
// will be used in global top header (MacOS) or sidebar (Windows)
export const ExtensionTabs = ({ page }: ExtensionTabsProps) => {
export const ExtensionTabs = ({ page, workspace }: ExtensionTabsProps) => {
// todo: filter in editorExtensionsAtom instead?
const copilotEnabled = useWorkspaceEnabledFeatures().includes(
const copilotEnabled = useWorkspaceEnabledFeatures(workspace.meta).includes(
FeatureType.Copilot
);