From fc00671595be53074a730166ab97e7629c5a8fc9 Mon Sep 17 00:00:00 2001 From: Oleksii Orel Date: Thu, 7 Sep 2023 17:02:29 +0300 Subject: [PATCH] fix: logo for the About modal window Signed-off-by: Oleksii Orel --- .../src/Layout/Header/Tools/AboutMenu/Modal.tsx | 6 +++--- .../src/Layout/Header/Tools/AboutMenu/index.tsx | 10 ++++++++-- .../src/Layout/Header/Tools/index.tsx | 8 +++++++- yarn.lock | 8 ++++---- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/Modal.tsx b/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/Modal.tsx index e391c81f8..c8194e8a1 100644 --- a/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/Modal.tsx +++ b/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/Modal.tsx @@ -29,9 +29,9 @@ type Props = { }; export class AboutModal extends React.PureComponent { - private browserVersion: string | undefined | null; - private browserOS: string | undefined | null; - private browserName: string | undefined; + private readonly browserVersion: string | undefined | null; + private readonly browserOS: string | undefined | null; + private readonly browserName: string | undefined; constructor(props: Props) { super(props); diff --git a/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/index.tsx b/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/index.tsx index 96118b4c1..e3872fb52 100644 --- a/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/index.tsx +++ b/packages/dashboard-frontend/src/Layout/Header/Tools/AboutMenu/index.tsx @@ -23,6 +23,7 @@ import { BrandingData } from '../../../../services/bootstrap/branding.constant'; type Props = { branding: BrandingData; username: string; + dashboardLogo?: { base64data: string; mediatype: string }; }; type State = { isLauncherOpen: boolean; @@ -88,11 +89,16 @@ export class AboutMenu extends React.PureComponent { } public render(): React.ReactElement { - const { username } = this.props; + const { username, dashboardLogo } = this.props; const { isLauncherOpen, isModalOpen } = this.state; const { logoFile, name, productVersion } = this.props.branding; + const logoSrc = + dashboardLogo !== undefined + ? `data:${dashboardLogo.mediatype};base64,${dashboardLogo.base64data}` + : logoFile; + return ( <> { isOpen={isModalOpen} closeModal={() => this.closeModal()} username={username} - logo={logoFile} + logo={logoSrc} productName={name} serverVersion={productVersion} /> diff --git a/packages/dashboard-frontend/src/Layout/Header/Tools/index.tsx b/packages/dashboard-frontend/src/Layout/Header/Tools/index.tsx index 607b03394..658f4b379 100644 --- a/packages/dashboard-frontend/src/Layout/Header/Tools/index.tsx +++ b/packages/dashboard-frontend/src/Layout/Header/Tools/index.tsx @@ -27,6 +27,7 @@ import { AboutMenu } from './AboutMenu'; import UserMenu from './UserMenu'; import { ApplicationsMenu } from './ApplicationsMenu'; import { selectApplications } from '../../../store/ClusterInfo/selectors'; +import { selectDashboardLogo } from '../../../store/ServerConfig/selectors'; type Props = MappedProps & { history: History; @@ -50,7 +51,11 @@ export class HeaderTools extends React.PureComponent { {applications.length !== 0 && } - + {isUserAuthenticated && ( @@ -73,6 +78,7 @@ export class HeaderTools extends React.PureComponent { const mapStateToProps = (state: AppState) => ({ userProfile: selectUserProfile(state), branding: selectBranding(state), + dashboardLogo: selectDashboardLogo(state), applications: selectApplications(state), }); diff --git a/yarn.lock b/yarn.lock index f26eb502b..4735d318f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -374,10 +374,10 @@ resolved "https://registry.yarnpkg.com/@eclipse-che/api/-/api-7.72.0.tgz#f16a19f2628c307783203aa5c205b6098b7e57df" integrity sha512-baah1TSYAmCOuiFCHssb7mBoO5BrTAAz8tLV8Y1nqXvDIYMXXyHOnbBpl8/rVeplHGEZIDpFyFN1OGLoy6mcJA== -"@eclipse-che/che-devworkspace-generator@0.0.1-99986b8": - version "0.0.1-99986b8" - resolved "https://registry.yarnpkg.com/@eclipse-che/che-devworkspace-generator/-/che-devworkspace-generator-0.0.1-99986b8.tgz#64ba99846e07ba1dcb608a74a7a7a5bc57cf2e25" - integrity sha512-ajBZpXxZ+DZ+jyL19Yf6M/fykddxaywHB4UBffj7alfAxXpyIW/YNnB1Y0ImzQQoMTvGu+mA2aMfrq6aoJ4LPw== +"@eclipse-che/che-devworkspace-generator@next-7.74.x": + version "7.74.1-next-8021ddc" + resolved "https://registry.yarnpkg.com/@eclipse-che/che-devworkspace-generator/-/che-devworkspace-generator-7.74.1-next-8021ddc.tgz#31fd350dac9e7d3434975535844c2047d6babfe3" + integrity sha512-dluq/4tTFmFuFMyF/5+IpKInF6u07ihILFsoMx/b+Ipl5MCc5uHyFPq4FnG6pf7lmiqAkGbpbStORQmX+NGOow== dependencies: "@devfile/api" latest axios "0.21.2"