From f943d3f5f757d794c29aa0d089a69bd0de9607ba Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Thu, 22 Aug 2024 15:36:24 +0300 Subject: [PATCH] Client/Shared: VersionHistoryPanel: Added a header component. --- .../panels/VersionHistoryPanel/index.js | 23 ++----------------- .../shared/components/aside/Aside.types.ts | 1 + .../shared/components/aside/AsideHeader.tsx | 14 +++++++++-- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/packages/client/src/components/panels/VersionHistoryPanel/index.js b/packages/client/src/components/panels/VersionHistoryPanel/index.js index 3a6f544781..00a17f3648 100644 --- a/packages/client/src/components/panels/VersionHistoryPanel/index.js +++ b/packages/client/src/components/panels/VersionHistoryPanel/index.js @@ -27,7 +27,6 @@ import React from "react"; import PropTypes from "prop-types"; import { Backdrop } from "@docspace/shared/components/backdrop"; -import { Heading } from "@docspace/shared/components/heading"; import { Aside } from "@docspace/shared/components/aside"; import { FloatingButton } from "@docspace/shared/components/floating-button"; @@ -37,13 +36,11 @@ import { withTranslation } from "react-i18next"; import { StyledVersionHistoryPanel, StyledContent, - StyledHeaderContent, StyledBody, } from "../StyledPanels"; import { SectionBodyContent } from "../../../pages/VersionHistory/Section/"; import { inject, observer } from "mobx-react"; import config from "PACKAGE_FILE"; -import { ArticleHeaderLoader } from "@docspace/shared/skeletons/article"; class PureVersionHistoryPanel extends React.Component { onClose = () => { @@ -85,26 +82,10 @@ class PureVersionHistoryPanel extends React.Component { visible={visible} onClose={this.onClose} withoutBodyScroll + isLoading={!versions && !isLoading} + header={versions ? versions[0].title : ""} > - - {versions && !isLoading ? ( - - {versions[0].title} - - ) : ( - - )} - - diff --git a/packages/shared/components/aside/Aside.types.ts b/packages/shared/components/aside/Aside.types.ts index 9bafaf77c5..90fa1bbb48 100644 --- a/packages/shared/components/aside/Aside.types.ts +++ b/packages/shared/components/aside/Aside.types.ts @@ -51,6 +51,7 @@ export interface AsideHeaderProps { onBackClick?: () => void; onCloseClick?: () => void; style?: React.CSSProperties; + isLoading?: boolean; } export interface StyledAsideProps { visible: boolean; diff --git a/packages/shared/components/aside/AsideHeader.tsx b/packages/shared/components/aside/AsideHeader.tsx index 4cede2bcde..29251bf90e 100644 --- a/packages/shared/components/aside/AsideHeader.tsx +++ b/packages/shared/components/aside/AsideHeader.tsx @@ -31,6 +31,7 @@ import { IconButton } from "../icon-button"; import { Text } from "../text"; import { AsideHeaderProps } from "./Aside.types"; import { StyledHeaderContainer } from "./Aside.styled"; +import { RectangleSkeleton } from "../../skeletons/rectangle"; const AsideHeader = (props: AsideHeaderProps) => { const { @@ -43,6 +44,7 @@ const AsideHeader = (props: AsideHeaderProps) => { className, id, style, + isLoading, } = props; const backButtonRender = ( @@ -64,8 +66,8 @@ const AsideHeader = (props: AsideHeaderProps) => { /> ); - return ( - + const mainComponent = ( + <> {isBackButton && backButtonRender} {typeof header === "string" ? ( @@ -88,6 +90,14 @@ const AsideHeader = (props: AsideHeaderProps) => { ))} )} + + ); + + const loaderComponent = ; + + return ( + + {isLoading ? loaderComponent : mainComponent} {isCloseable && closeIconRender} );