diff --git a/apps/designer/app/designer/features/sidebar-left/lib/header.tsx b/apps/designer/app/designer/features/sidebar-left/lib/header.tsx index de10acfab4..b8817acb35 100644 --- a/apps/designer/app/designer/features/sidebar-left/lib/header.tsx +++ b/apps/designer/app/designer/features/sidebar-left/lib/header.tsx @@ -2,12 +2,12 @@ import { Flex, IconButton, Text } from "@webstudio-is/design-system"; import { Separator } from "@webstudio-is/design-system"; import { Cross1Icon } from "@webstudio-is/icons"; -type BaseHeaderProps = { +type HeaderProps = { title: string; - actions: React.ReactNode; + suffix: React.ReactNode; }; -export const BaseHeader = ({ title, actions }: BaseHeaderProps) => { +export const Header = ({ title, suffix }: HeaderProps) => { return ( <> { justify="between" > {title} - {actions && {actions}} + {suffix && {suffix}} ); }; -type HeaderProps = { - title: string; - isClosable?: boolean; - onClose?: () => void; -}; - -export const Header = ({ title, isClosable = true, onClose }: HeaderProps) => { - return ( - onClose?.()} size="2" aria-label="Close"> - - - ) : null - } - /> - ); -}; +export const CloseButton = ({ onClick }: { onClick: () => void }) => ( + + + +); diff --git a/apps/designer/app/designer/features/sidebar-left/lib/navigator/navigator.tsx b/apps/designer/app/designer/features/sidebar-left/lib/navigator/navigator.tsx index b5fd3977c7..9e7b0a2d61 100644 --- a/apps/designer/app/designer/features/sidebar-left/lib/navigator/navigator.tsx +++ b/apps/designer/app/designer/features/sidebar-left/lib/navigator/navigator.tsx @@ -4,7 +4,7 @@ import { type Publish } from "~/shared/pubsub"; import { useCallback } from "react"; import { useSelectedInstanceData } from "~/designer/shared/nano-states"; import { useRootInstance } from "~/shared/nano-states"; -import { Header } from "../header"; +import { Header, CloseButton } from "../header"; import { InstanceTree } from "~/designer/shared/tree"; declare module "~/shared/pubsub" { @@ -81,7 +81,10 @@ export const Navigator = ({ publish, isClosable, onClose }: NavigatorProps) => { if (rootInstance === undefined) return null; return ( -
+
onClose?.()} />} + />
{ - onSetActiveTab("none"); - }} + suffix={ onSetActiveTab("none")} />} /> diff --git a/apps/designer/app/designer/features/sidebar-left/panels/components/components.tsx b/apps/designer/app/designer/features/sidebar-left/panels/components/components.tsx index 4da2564dec..80773e8224 100644 --- a/apps/designer/app/designer/features/sidebar-left/panels/components/components.tsx +++ b/apps/designer/app/designer/features/sidebar-left/panels/components/components.tsx @@ -9,7 +9,7 @@ import { createInstance } from "~/shared/tree-utils"; import type { TabName } from "../../types"; import { ComponentThumb } from "./component-thumb"; import { useCanvasRect, useZoom } from "~/designer/shared/nano-states"; -import { Header } from "../../lib/header"; +import { Header, CloseButton } from "../../lib/header"; const componentNames = ( Object.keys(components) as Array @@ -135,9 +135,7 @@ export const TabContent = ({ publish, onSetActiveTab }: TabContentProps) => {
{ - onSetActiveTab("none"); - }} + suffix={ onSetActiveTab("none")} />} /> - {onNewPage && ( )} - {onClose && ( - - - - )} + {onClose && } } /> diff --git a/apps/designer/app/designer/features/sidebar-left/panels/pages/settings.tsx b/apps/designer/app/designer/features/sidebar-left/panels/pages/settings.tsx index 48264464e8..2cd0e1eb37 100644 --- a/apps/designer/app/designer/features/sidebar-left/panels/pages/settings.tsx +++ b/apps/designer/app/designer/features/sidebar-left/panels/pages/settings.tsx @@ -13,7 +13,7 @@ import { import { useFetcher } from "@remix-run/react"; import { ChevronDoubleLeftIcon } from "@webstudio-is/icons"; import type { ZodError } from "zod"; -import { BaseHeader } from "../../lib/header"; +import { Header } from "../../lib/header"; import { useEffect, useRef, useState } from "react"; import { type Page } from "@webstudio-is/project"; @@ -73,16 +73,14 @@ export const NewPageSettings = ({ return ( <> - - {onClose && ( - - - - )} - + suffix={ + onClose && ( + + + + ) } />