Jam3/adviser

View on GitHub
docusaurus/website/core/Footer.js

Summary

Maintainability
B
4 hrs
Test Coverage
/**
 * Copyright (c) 2017-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

const React = require('react');

class Footer extends React.Component {
  docUrl(doc, language) {
    const baseUrl = this.props.config.baseUrl;
    const docsUrl = this.props.config.docsUrl;
    const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
    const langPart = `${language ? `${language}/` : ''}`;
    return `${baseUrl}${docsPart}${langPart}${doc}`;
  }

  pageUrl(doc, language) {
    const baseUrl = this.props.config.baseUrl;
    return baseUrl + (language ? `${language}/` : '') + doc;
  }

  render() {
    return (
      <footer className="nav-footer" id="footer">
        <section className="sitemap">
          <a href={this.props.config.baseUrl} className="nav-home">
            {this.props.config.footerIcon && (
              <img
                src={this.props.config.baseUrl + this.props.config.footerIcon}
                alt={this.props.config.title}
                width="66"
                height="58"
              />
            )}
          </a>
          <div>
            <h5>Docs</h5>
            <a href={this.docUrl('installation.html', this.props.language)}>Getting Started</a>
            <a href={this.docUrl('create-plugins.html', this.props.language)}>Development</a>
            <a href={this.docUrl('api.html', this.props.language)}>API Reference</a>
          </div>
          <div>
            <h5>Community</h5>
            <a href="https://discord.gg/mC7GRW7">Discord</a>
            <a href="https://twitter.com/jam3">Twitter</a>
            <a href="https://github.com/Jam3/adviser/issues">Issues</a>
          </div>
          <div>
            <h5>More</h5>
            <a href={`${this.props.config.baseUrl}blog`}>Blog</a>
            <a href="https://github.com/jam3/adviser">GitHub</a>
            <a
              className="github-button"
              href={this.props.config.repoUrl}
              data-icon="octicon-star"
              data-count-href="/jam3/adviser/stargazers"
              data-show-count="true"
              data-count-aria-label="# stargazers on GitHub"
              aria-label="Star this project on GitHub"
            >
              Star
            </a>
            {this.props.config.twitterUsername && (
              <div className="social">
                <a href={`https://twitter.com/${this.props.config.twitterUsername}`} className="twitter-follow-button">
                  Follow @{this.props.config.twitterUsername}
                </a>
              </div>
            )}
            {this.props.config.facebookAppId && (
              <div className="social">
                <div
                  className="fb-like"
                  data-href={this.props.config.url}
                  data-colorscheme="dark"
                  data-layout="standard"
                  data-share="true"
                  data-width="225"
                  data-show-faces="false"
                />
              </div>
            )}
          </div>
        </section>
        <section className="copyright">
          <span>Crafted with </span>
          <img src="/adviser/img/heart.svg" alt="Love" width="16" className="copyright-heart" />
          <span> by your Open Source team at Jam3 in </span>
          <img src="/adviser/img/canada.svg" alt="Canada" width="16" className="copyright-canada" />
        </section>
      </footer>
    );
  }
}

module.exports = Footer;