]> Untitled Git - lemmy.git/blob - ui/src/components/sponsors.tsx
Merge pull request #2 from dessalines/master
[lemmy.git] / ui / src / components / sponsors.tsx
1 import { Component } from 'inferno';
2 import { WebSocketService } from '../services';
3 import { i18n } from '../i18next';
4 import { T } from 'inferno-i18next';
5
6 let general = [
7   'Nathan J. Goode',
8   'Andre Vallestero',
9   'riccardo',
10   'NotTooHighToHack',
11 ];
12 let highlighted = ['Alex Benishek'];
13 // let silver = [];
14 // let gold = [];
15 // let latinum = [];
16
17 export class Sponsors extends Component<any, any> {
18   constructor(props: any, context: any) {
19     super(props, context);
20   }
21
22   componentDidMount() {
23     document.title = `${i18n.t('sponsors')} - ${
24       WebSocketService.Instance.site.name
25     }`;
26     window.scrollTo(0, 0);
27   }
28
29   render() {
30     return (
31       <div class="container text-center">
32         {this.topMessage()}
33         <hr />
34         {this.sponsors()}
35         <hr />
36         {this.bitcoin()}
37       </div>
38     );
39   }
40
41   topMessage() {
42     return (
43       <div>
44         <h5>{i18n.t('donate_to_lemmy')}</h5>
45         <p>
46           <T i18nKey="sponsor_message">
47             #<a href="https://github.com/dessalines/lemmy">#</a>
48           </T>
49         </p>
50         <a class="btn btn-secondary" href="https://liberapay.com/Lemmy/">
51           {i18n.t('support_on_liberapay')}
52         </a>
53         <a
54           class="btn btn-secondary ml-2"
55           href="https://www.patreon.com/dessalines"
56         >
57           {i18n.t('support_on_patreon')}
58         </a>
59       </div>
60     );
61   }
62   sponsors() {
63     return (
64       <div class="container">
65         <h5>{i18n.t('sponsors')}</h5>
66         <p>{i18n.t('general_sponsors')}</p>
67         <div class="row card-columns">
68           {highlighted.map(s => (
69             <div class="card bg-primary col-12 col-md-2 font-weight-bold">
70               <div>{s}</div>
71             </div>
72           ))}
73           {general.map(s => (
74             <div class="card col-12 col-md-2">
75               <div>{s}</div>
76             </div>
77           ))}
78         </div>
79       </div>
80     );
81   }
82
83   bitcoin() {
84     return (
85       <div>
86         <h5>{i18n.t('crypto')}</h5>
87         <div class="table-responsive">
88           <table class="table table-hover text-center">
89             <tbody>
90               <tr>
91                 <td>{i18n.t('bitcoin')}</td>
92                 <td>
93                   <code>1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK</code>
94                 </td>
95               </tr>
96               <tr>
97                 <td>{i18n.t('ethereum')}</td>
98                 <td>
99                   <code>0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01</code>
100                 </td>
101               </tr>
102               <tr>
103                 <td>{i18n.t('monero')}</td>
104                 <td>
105                   <code>
106                     41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV
107                   </code>
108                 </td>
109               </tr>
110             </tbody>
111           </table>
112         </div>
113       </div>
114     );
115   }
116 }