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