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