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