/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import React from 'react'; import Link from '@docusaurus/Link'; import useBaseUrl from '@docusaurus/useBaseUrl'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import {useThemeConfig} from '@docusaurus/theme-common'; import ThemedImage from '@theme/ThemedImage'; function LogoThemedImage({logo, alt, imageClassName}) { const sources = { light: useBaseUrl(logo.src), dark: useBaseUrl(logo.srcDark || logo.src), }; const themedImage = ( ); // Is this extra div really necessary? // introduced in https://github.com/facebook/docusaurus/pull/5666 return imageClassName ? (
{themedImage}
) : ( themedImage ); } export default function Logo(props) { const { siteConfig: {title}, } = useDocusaurusContext(); const { navbar: {title: navbarTitle, logo}, } = useThemeConfig(); const {imageClassName, titleClassName, ...propsRest} = props; const logoLink = useBaseUrl(logo?.href || '/'); // If visible title is shown, fallback alt text should be // an empty string to mark the logo as decorative. const fallbackAlt = navbarTitle ? '' : title; // Use logo alt text if provided (including empty string), // and provide a sensible fallback otherwise. const alt = logo?.alt ?? fallbackAlt; return ( {logo && ( )} {navbarTitle != null && {navbarTitle}} ); }