]> Untitled Git - lemmy-ui.git/blob - src/shared/components/app/footer.tsx
d9ae173d7b93c57b2b9f32d940a65bbf7ac16e9e
[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
20         id="footer"
21         className="container-lg navbar navbar-expand-md navbar-light navbar-bg p-3"
22       >
23         <div className="navbar-collapse">
24           <ul className="navbar-nav ml-auto">
25             {this.props.site?.version !== VERSION && (
26               <li className="nav-item">
27                 <span className="nav-link">UI: {VERSION}</span>
28               </li>
29             )}
30             <li className="nav-item">
31               <span className="nav-link">BE: {this.props.site?.version}</span>
32             </li>
33             <li className="nav-item">
34               <NavLink className="nav-link" to="/modlog">
35                 {i18n.t("modlog")}
36               </NavLink>
37             </li>
38             {this.props.site?.site_view.local_site.legal_information && (
39               <li className="nav-item">
40                 <NavLink className="nav-link" to="/legal">
41                   {i18n.t("legal_information")}
42                 </NavLink>
43               </li>
44             )}
45             {this.props.site?.site_view.local_site.federation_enabled && (
46               <li className="nav-item">
47                 <NavLink className="nav-link" to="/instances">
48                   {i18n.t("instances")}
49                 </NavLink>
50               </li>
51             )}
52             <li className="nav-item">
53               <a className="nav-link" href={docsUrl}>
54                 {i18n.t("docs")}
55               </a>
56             </li>
57             <li className="nav-item">
58               <a className="nav-link" href={repoUrl}>
59                 {i18n.t("code")}
60               </a>
61             </li>
62             <li className="nav-item">
63               <a className="nav-link" href={joinLemmyUrl}>
64                 {i18n.t("join_lemmy")}
65               </a>
66             </li>
67           </ul>
68         </div>
69       </nav>
70     );
71   }
72 }