diff --git a/packages/frontend/core/src/components/explorer/context.ts b/packages/frontend/core/src/components/explorer/context.ts index f04af7646f..1555a64b3d 100644 --- a/packages/frontend/core/src/components/explorer/context.ts +++ b/packages/frontend/core/src/components/explorer/context.ts @@ -1,9 +1,11 @@ import { createContext, type Dispatch, type SetStateAction } from 'react'; +import type { DocListItemView } from './docs-view/doc-list-item'; import type { ExplorerPreference } from './types'; export type DocExplorerContextType = ExplorerPreference & { - view: 'list' | 'grid' | 'masonry'; + view: DocListItemView; + setView: Dispatch>; groups: Array<{ key: string; items: string[] }>; collapsed: string[]; selectMode?: boolean; @@ -17,6 +19,7 @@ export type DocExplorerContextType = ExplorerPreference & { export const DocExplorerContext = createContext({ view: 'list', + setView: () => {}, groups: [], collapsed: [], selectedDocIds: [], diff --git a/packages/frontend/core/src/components/explorer/display-menu/index.tsx b/packages/frontend/core/src/components/explorer/display-menu/index.tsx index 1ac1487218..ab97f36d01 100644 --- a/packages/frontend/core/src/components/explorer/display-menu/index.tsx +++ b/packages/frontend/core/src/components/explorer/display-menu/index.tsx @@ -1,4 +1,10 @@ -import { Button, Divider, Menu, MenuSub } from '@affine/component'; +import { + Button, + Divider, + Menu, + type MenuProps, + MenuSub, +} from '@affine/component'; import type { GroupByParams, OrderByParams, @@ -92,12 +98,14 @@ export const ExplorerDisplayMenuButton = ({ style, className, preference, + menuProps, onChange, }: { style?: React.CSSProperties; className?: string; preference: ExplorerPreference; onChange?: (preference: ExplorerPreference) => void; + menuProps?: Omit; }) => { const t = useI18n(); return ( @@ -105,6 +113,7 @@ export const ExplorerDisplayMenuButton = ({ items={ } + {...menuProps} >