blob: 65b7025b989e9cd7ce4b5fca08b9dd6653582caa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
export const title = "Patrons";
export const layout = "base.njk";
const PatronCard = ({ full_name, image_url }) => (
<div className="bg-bg-1 dark:bg-bgDark-1 rounded-xl m-2 shadow-md w-xs">
<div className="items-center text-lg p-2">
{full_name}
</div>
<div className="flex items-center justify-center p-2">
<img className="rounded-xl w-24 h-24" src={image_url} alt={full_name} />
</div>
</div>
);
export default ({ patrons }) => {
const users = patrons.included.Items
.filter((item) => item.type === "user")
.map((item) => item.attributes)
.filter((item) => item.full_name !== "Xe");
return (
<>
<h1 className="text-3xl mb-4">Patrons</h1>
<p className="mb-4">
This page is a list of all of my patrons. Thank you all so much for your
support! If you want to get on this list, please consider{" "}
<a href="https://patreon.com/cadey">becoming a patron</a> or sponsoring me on{" "}
<a href="https://github.com/sponsors/Xe">GitHub Sponsors</a>! This page
will update whenever something changes on Patreon.
</p>
<div className="flex flex-wrap items-start justify-center p-2">
{users.map((user) => <PatronCard key={user.full_name} {...user} />)}
</div>
{users.length === 0 && (
<>
<p className="text-center">
No patrons yet!
</p>
<p className="text-center">
<a href="https://patreon.com/cadey">Become a patron</a>{" "}
to get on this list!
</p>
</>
)}
</>
);
};
|