]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-19971 Fix custom logo width
authorDavid Cho-Lerat <david.cho-lerat@sonarsource.com>
Wed, 19 Jul 2023 12:36:54 +0000 (14:36 +0200)
committersonartech <sonartech@sonarsource.com>
Wed, 19 Jul 2023 20:03:04 +0000 (20:03 +0000)
server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.tsx [deleted file]
server/sonar-web/src/main/js/app/components/nav/global/MainSonarQubeBar.tsx
server/sonar-web/src/main/js/helpers/mocks/definitions-list.ts
sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java

diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.tsx b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.tsx
deleted file mode 100644 (file)
index 5f3f3ae..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2023 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-import * as React from 'react';
-import Link from '../../../../components/common/Link';
-import { translate } from '../../../../helpers/l10n';
-import { getBaseUrl } from '../../../../helpers/system';
-import { AppState } from '../../../../types/appstate';
-import { GlobalSettingKeys } from '../../../../types/settings';
-import withAppStateContext from '../../app-state/withAppStateContext';
-
-export interface GlobalNavBrandingProps {
-  appState: AppState;
-}
-
-export function GlobalNavBranding({ appState: { settings } }: GlobalNavBrandingProps) {
-  const customLogoUrl = settings[GlobalSettingKeys.LogoUrl];
-  const customLogoWidth = settings[GlobalSettingKeys.LogoWidth];
-
-  const title = translate('layout.nav.home_logo_alt');
-  const url = customLogoUrl || `${getBaseUrl()}/images/logo.svg?v=6.6`;
-  const width = customLogoUrl ? customLogoWidth || 100 : 83;
-
-  return (
-    <Link className="navbar-brand" to="/">
-      <img alt={title} height={30} src={url} title={title} width={width} />
-    </Link>
-  );
-}
-
-export default withAppStateContext(GlobalNavBranding);
index e7f0afadc52b766389c6afdfd84a70e0121e6d2d..19c2edb1ef543d94b2188bc560d060b62e53622f 100644 (file)
@@ -24,15 +24,22 @@ import { translate } from '../../../../helpers/l10n';
 import { GlobalSettingKeys } from '../../../../types/settings';
 import { AppStateContext } from '../../app-state/AppStateContext';
 
+const DEFAULT_CUSTOM_LOGO_WIDTH_IN_PX = 100;
+
 function LogoWithAriaText() {
   const { settings } = React.useContext(AppStateContext);
   const customLogoUrl = settings[GlobalSettingKeys.LogoUrl];
+  const customLogoWidth = settings[GlobalSettingKeys.LogoWidth] ?? DEFAULT_CUSTOM_LOGO_WIDTH_IN_PX;
 
   const title = translate('layout.nav.home_logo_alt');
 
   return (
     <div aria-label={title} role="img">
-      {customLogoUrl ? <img alt={title} src={customLogoUrl} /> : <SonarQubeLogo />}
+      {customLogoUrl ? (
+        <img alt={title} src={customLogoUrl} width={customLogoWidth} />
+      ) : (
+        <SonarQubeLogo />
+      )}
     </div>
   );
 }
index 32e36b16e27e1225354434c0ea841473b3404208..6b56a5ad3f4642a41af91b91ad278073208e07bc 100644 (file)
@@ -1514,7 +1514,8 @@ export const definitions: ExtendedSettingDefinition[] = [
   {
     key: 'sonar.lf.logoWidthPx',
     name: 'Width of image in pixels',
-    description: 'Width in pixels, given that the height of the the image is constrained to 30px.',
+    description:
+      'Width in pixels, constrained to 150px (the height of the image is constrained to 40px).',
     category: 'general',
     subCategory: 'looknfeel',
     options: [],
index 360e34ffee6d96f6ebefc7063992a1d522bfa252..403a03cc2e89eac759f9ff69b84a8616ab05f826 100644 (file)
@@ -141,7 +141,7 @@ public class CorePropertyDefinitions {
       PropertyDefinition.builder(WebConstants.SONAR_LF_LOGO_WIDTH_PX)
         .deprecatedKey("sonar.branding.image.width")
         .name("Width of image in pixels")
-        .description("Width in pixels, given that the height of the the image is constrained to 30px.")
+        .description("Width in pixels, constrained to 150px (the height of the image is constrained to 40px).")
         .category(CoreProperties.CATEGORY_GENERAL)
         .subCategory(CoreProperties.SUBCATEGORY_LOOKNFEEL)
         .build(),