diff --git a/packages/frontend/component/src/components/workspace/index.css.ts b/packages/frontend/component/src/components/workspace/index.css.ts index a5a91dee95..027bd41143 100644 --- a/packages/frontend/component/src/components/workspace/index.css.ts +++ b/packages/frontend/component/src/components/workspace/index.css.ts @@ -54,6 +54,7 @@ export const mainContainerStyle = style({ width: 0, flex: 1, maxWidth: '100%', + backgroundColor: 'var(--affine-background-primary-color)', selectors: { '&[data-show-padding="true"]': { margin: '8px', @@ -79,6 +80,9 @@ export const mainContainerStyle = style({ left: 0, WebkitAppRegion: 'drag', }, + '&[data-transparent=true]': { + backgroundColor: 'transparent', + }, }, } as ComplexStyleRule); diff --git a/packages/frontend/component/src/components/workspace/index.tsx b/packages/frontend/component/src/components/workspace/index.tsx index 157df78619..aa3195f0f0 100644 --- a/packages/frontend/component/src/components/workspace/index.tsx +++ b/packages/frontend/component/src/components/workspace/index.tsx @@ -35,13 +35,14 @@ export const AppContainer = ({ export interface MainContainerProps extends HTMLAttributes { className?: string; padding?: boolean; + transparent?: boolean; } export const MainContainer = forwardRef< HTMLDivElement, PropsWithChildren >(function MainContainer( - { className, padding, children, ...props }, + { className, padding, children, transparent, ...props }, ref ): ReactElement { return ( @@ -50,6 +51,7 @@ export const MainContainer = forwardRef< className={clsx(mainContainerStyle, className)} data-is-macos={environment.isDesktop && environment.isMacOs} data-show-padding={!!padding} + data-transparent={transparent} ref={ref} > {children} diff --git a/packages/frontend/core/src/layouts/workspace-layout.tsx b/packages/frontend/core/src/layouts/workspace-layout.tsx index f3d482f720..c578613e34 100644 --- a/packages/frontend/core/src/layouts/workspace-layout.tsx +++ b/packages/frontend/core/src/layouts/workspace-layout.tsx @@ -219,6 +219,10 @@ export const WorkspaceLayoutInner = ({ const { appSettings } = useAppSettingHelper(); const location = useLocation(); + const { pageId } = useParams(); + + // todo: refactor this that the root layout do not need to check route state + const isInPageDetail = !!pageId; return ( <> @@ -247,15 +251,18 @@ export const WorkspaceLayoutInner = ({ paths={pathGenerator} /> - }> - + + {migration ? ( ) : ( children )} - - + +