/* eslint-disable eslint-comments/no-unlimited-disable */
/* eslint-disable */
// TODO: enable eslint
/**
* 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, { useState } from 'react';
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import { FooterLinkItem, useThemeConfig } from '@docusaurus/theme-common';
import useBaseUrl from '@docusaurus/useBaseUrl';
import isInternalUrl from '@docusaurus/isInternalUrl';
import ThemedImage, { Props as ThemedImageProps } from '@theme/ThemedImage';
import IconExternalLink from '@theme/IconExternalLink';
import styles from './styles.module.css';
function FooterLink({
to,
href,
label,
prependBaseUrlToHref,
...props
}: FooterLinkItem) {
const toUrl = useBaseUrl(to);
const normalizedHref = useBaseUrl(href, { forcePrependBaseUrl: true });
return (
{href && !isInternalUrl(href) ? (
{label}
) : (
label
)}
);
}
function FooterItem(props) {
const [show, setShow] = useState(false);
const mouseEnterHandler = e => {
e.preventDefault();
if (window.innerWidth > 966) {
setShow(true);
}
};
const mouseLeaveHandler = e => {
e.preventDefault();
if (window.innerWidth > 966) {
setShow(false);
}
};
if (props.html) {
return (
);
}
if (props.icon) {
if (!props.qrcode) {
return (
);
} else {
const classArr = [
'footer__item',
styles.footerItemIcon,
show ? styles.active : '',
];
return (
setShow(!show)}
onMouseEnter={e => mouseEnterHandler(e)}
onMouseLeave={e => mouseLeaveHandler(e)}
className={classArr.join(' ')}
>
);
}
}
return (
);
}
const renderFooterItems = items => {
if (items != null && Array.isArray(items) && items.length > 0) {
if (items[0].icon) {
return (
{items.map((item, key) => (
))}
);
} else {
return (
{items.map((item, key) => (
))}
);
}
}
return null;
};
const FooterLogo = ({
sources,
alt,
}: Pick) => (
);
function Footer(): JSX.Element | null {
const { footer } = useThemeConfig();
const { copyright, links = [], logo = {} } = footer || {};
const sources = {
light: useBaseUrl(logo.src),
dark: useBaseUrl(logo.srcDark || logo.src),
};
if (!footer) {
return null;
}
return (
);
}
export default Footer;
/* eslint-enable */