From b2f34d17a2f3e0690630ae2ca9a549e474e1663e Mon Sep 17 00:00:00 2001 From: CatsJuice Date: Mon, 25 Mar 2024 10:25:48 +0000 Subject: [PATCH] feat(core): adjust app sidebar's style (#6162) --- .../resize-panel/resize-panel.css.ts | 2 +- .../core/src/components/app-sidebar/index.tsx | 21 ++++++++++++------- .../src/components/root-app-sidebar/index.tsx | 9 ++------ .../src/components/workspace/index.css.ts | 14 +++++++++---- .../core/src/components/workspace/index.tsx | 15 ++++++------- .../core/src/layouts/workspace-layout.tsx | 11 ++-------- 6 files changed, 36 insertions(+), 36 deletions(-) diff --git a/packages/frontend/component/src/components/resize-panel/resize-panel.css.ts b/packages/frontend/component/src/components/resize-panel/resize-panel.css.ts index dc4cb9639..23531464f 100644 --- a/packages/frontend/component/src/components/resize-panel/resize-panel.css.ts +++ b/packages/frontend/component/src/components/resize-panel/resize-panel.css.ts @@ -60,7 +60,7 @@ export const resizeHandleContainer = style({ opacity: 0, display: 'flex', justifyContent: 'center', - cursor: 'ew-resize', + cursor: 'col-resize', '@media': { '(max-width: 600px)': { // do not allow resizing on small screen diff --git a/packages/frontend/core/src/components/app-sidebar/index.tsx b/packages/frontend/core/src/components/app-sidebar/index.tsx index 5d3506248..2fd4f103f 100644 --- a/packages/frontend/core/src/components/app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/app-sidebar/index.tsx @@ -26,7 +26,8 @@ import { import { SidebarHeader } from './sidebar-header'; export type AppSidebarProps = PropsWithChildren<{ - hasBackground?: boolean; + clientBorder?: boolean; + translucentUI?: boolean; }>; export type History = { @@ -37,7 +38,11 @@ export type History = { const MAX_WIDTH = 480; const MIN_WIDTH = 256; -export function AppSidebar(props: AppSidebarProps): ReactElement { +export function AppSidebar({ + children, + clientBorder, + translucentUI, +}: AppSidebarProps): ReactElement { const [open, setOpen] = useAtom(appSidebarOpenAtom); const [width, setWidth] = useAtom(appSidebarWidthAtom); const [floating, setFloating] = useAtom(appSidebarFloatingAtom); @@ -70,9 +75,9 @@ export function AppSidebar(props: AppSidebarProps): ReactElement { }; }, [open, setFloating, setOpen, width]); - const transparent = environment.isDesktop && !props.hasBackground; const isMacosDesktop = environment.isDesktop && environment.isMacOs; - const hasRightBorder = !environment.isDesktop || !transparent; + const hasRightBorder = + !environment.isDesktop || (!clientBorder && !translucentUI); return ( <> @@ -88,17 +93,17 @@ export function AppSidebar(props: AppSidebarProps): ReactElement { onResizing={setResizing} onWidthChange={setWidth} className={navWrapperStyle} - resizeHandleVerticalPadding={transparent ? 16 : 0} - data-transparent={transparent} + resizeHandleOffset={clientBorder ? 8 : 0} + resizeHandleVerticalPadding={clientBorder ? 16 : 0} + data-transparent data-has-border={hasRightBorder} data-testid="app-sidebar-wrapper" data-is-macos-electron={isMacosDesktop} - data-has-background={environment.isDesktop && props.hasBackground} > diff --git a/packages/frontend/core/src/components/root-app-sidebar/index.tsx b/packages/frontend/core/src/components/root-app-sidebar/index.tsx index b24dc0f0c..194ed8eeb 100644 --- a/packages/frontend/core/src/components/root-app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/root-app-sidebar/index.tsx @@ -169,13 +169,8 @@ export const RootAppSidebar = ({ return ( { - className?: string; - padding?: boolean; - transparent?: boolean; + clientBorder?: boolean; } export const MainContainer = forwardRef< HTMLDivElement, PropsWithChildren >(function MainContainer( - { className, padding, children, transparent, ...props }, + { className, children, clientBorder, ...props }, ref ): ReactElement { + const appSideBarOpen = useAtomValue(appSidebarOpenAtom); return (
{children} diff --git a/packages/frontend/core/src/layouts/workspace-layout.tsx b/packages/frontend/core/src/layouts/workspace-layout.tsx index aa16515ee..98e6b5215 100644 --- a/packages/frontend/core/src/layouts/workspace-layout.tsx +++ b/packages/frontend/core/src/layouts/workspace-layout.tsx @@ -18,7 +18,7 @@ import { import { useAtom, useAtomValue, useSetAtom } from 'jotai'; import type { PropsWithChildren, ReactNode } from 'react'; import { lazy, Suspense, useCallback, useEffect, useState } from 'react'; -import { matchPath, useParams } from 'react-router-dom'; +import { matchPath } from 'react-router-dom'; import { Map as YMap } from 'yjs'; import { openQuickSearchModalAtom, openSettingModalAtom } from '../atoms'; @@ -152,10 +152,6 @@ export const WorkspaceLayoutInner = ({ children }: PropsWithChildren) => { const handleDragEnd = useSidebarDrag(); const { appSettings } = useAppSettingHelper(); - const { pageId } = useParams(); - - // todo: refactor this that the root layout do not need to check route state - const isInPageDetail = !!pageId; const upgradeStatus = useWorkspaceStatus(currentWorkspace, s => s.upgrade); @@ -185,10 +181,7 @@ export const WorkspaceLayoutInner = ({ children }: PropsWithChildren) => { paths={pathGenerator} /> - + {upgradeStatus?.needUpgrade || upgradeStatus?.upgrading ? (