]> Untitled Git - lemmy-ui.git/blob - src/shared/components/app/footer.tsx
Merge branch 'LemmyNet:main' into multiple-images-upload
[lemmy-ui.git] / src / shared / components / app / footer.tsx
1 import { Component } from "inferno";
2 import { NavLink } from "inferno-router";
3 import { GetSiteResponse } from "lemmy-js-client";
4 import { i18n } from "../../i18next";
5 import { docsUrl, joinLemmyUrl, repoUrl } from "../../utils";
6 import { VERSION } from "../../version";
7
8 interface FooterProps {
9   site: GetSiteResponse;
10 }
11
12 export class Footer extends Component<FooterProps, any> {
13   constructor(props: any, context: any) {
14     super(props, context);
15   }
16
17   render() {
18     return (
19       <nav className="container navbar navbar-expand-md navbar-light navbar-bg p-3">
20         <div className="navbar-collapse">
21           <ul className="navbar-nav ml-auto">
22             {this.props.site.version !== VERSION && (
23               <li className="nav-item">
24                 <span className="nav-link">UI: {VERSION}</span>
25               </li>
26             )}
27             <li className="nav-item">
28               <span className="nav-link">BE: {this.props.site.version}</span>
29             </li>
30             <li className="nav-item">
31               <NavLink className="nav-link" to="/modlog">
32                 {i18n.t("modlog")}
33               </NavLink>
34             </li>
35             {this.props.site.site_view
36               .andThen(s => s.site.legal_information)
37               .isSome() && (
38               <li className="nav-item">
39                 <NavLink className="nav-link" to="/legal">
40                   {i18n.t("legal_information")}
41                 </NavLink>
42               </li>
43             )}
44             {this.props.site.federated_instances && (
45               <li className="nav-item">
46                 <NavLink className="nav-link" to="/instances">
47                   {i18n.t("instances")}
48                 </NavLink>
49               </li>
50             )}
51             <li className="nav-item">
52               <a className="nav-link" href={docsUrl}>
53                 {i18n.t("docs")}
54               </a>
55             </li>
56             <li className="nav-item">
57               <a className="nav-link" href={repoUrl}>
58                 {i18n.t("code")}
59               </a>
60             </li>
61             <li className="nav-item">
62               <a className="nav-link" href={joinLemmyUrl}>
63                 {i18n.t("join_lemmy")}
64               </a>
65             </li>
66           </ul>
67         </div>
68       </nav>
69     );
70   }
71 }