-
Notifications
You must be signed in to change notification settings - Fork 0
/
gift-ideas.html
105 lines (98 loc) · 3.91 KB
/
gift-ideas.html
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
title: Gift Ideas
date: 2023-07-02 15:41:00 Z
permalink: "/gift-ideas/"
layout: page
---
<div class="mt-8">
<h2
class="border-t-2 pt-4 mt-4 lg:pt-8 lg:mt-8 font-sans tracking-tight font-bold"
>
Wants:
</h2>
<div id="root">Loading...</div>
</div>
<p class="mt-4 lg:mt-8 border-t-2 pt-4 lg:pt-8">
Full Amazon wishlist can be found <a class="underline" href="https://www.amazon.com/hz/wishlist/ls/1ERTF41O4NYAE?ref_=wl_share">here</a>.
</p>
<script src="https://unpkg.com/react@18/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">
function MyApp() {
const wants = [
{
name: 'Darkthrone shirt',
url: 'https://www.nightshiftmerch.com/products/darkthrone-a-blaze-in-the-sky-long-sleeve?_pos=3&_sid=c76ac743a&_ss=r',
imgSrc: 'https://nightshiftmerch.com/cdn/shop/products/CL189_1800x1800.jpg?v=1661531560',
description: 'Longsleeve sick Darkthrone tee shirt',
price: '31.99'
},
{
name: 'Emperor shirt',
url: 'https://www.nightshiftmerch.com/products/emperor-in-the-nightside-eclipse-black-long-sleeve?_pos=12&_sid=0f62cd2e6&_ss=r',
imgSrc: 'https://www.nightshiftmerch.com/cdn/shop/products/emperor_in_the_nightside_eclipse_long_sleeve_shirt_front_1__07396_1800x1800.jpg?v=1663016137',
description: 'Cool ass tee shirt for the band Emperor',
price: '32.99'
},
{
name: 'Tushy bidet',
url: 'https://www.amazon.com/dp/B09MGD77GZ/?coliid=I388ZGM0TT6AN2&colid=1ERTF41O4NYAE&psc=1&ref_=list_c_wl_lv_ov_lig_dp_it',
imgSrc: 'https://m.media-amazon.com/images/I/51shprcHUPL._AC_SL1500_.jpg',
description: 'Need to change my life with bidet',
price: '89'
},
{
name: 'Audio Technica Turntable',
url: 'https://www.amazon.com/dp/B07N3W8B5M/?coliid=I27BU74BJMX061&colid=1ERTF41O4NYAE&psc=1&ref_=list_c_wl_lv_ov_lig_dp_it',
imgSrc: 'https://m.media-amazon.com/images/I/81hU1YoIlvL._AC_SL1500_.jpg',
description: 'I want a really nice turntable for our living room now that we have upped our game.',
price: '350'
},
{
name: 'Button maker',
url: 'https://www.amazon.com/dp/B0BGS1G1H8/?coliid=I3HMJ1I7QAJR4M&colid=1ERTF41O4NYAE&psc=1&ref_=list_c_wl_lv_ov_lig_dp_it',
imgSrc: 'https://m.media-amazon.com/images/I/71pk4eBPBmL._AC_SL1500_.jpg',
description: 'I want to be able to print buttons for us whenever we want',
price: '60'
}
];
const formatter = new Intl.NumberFormat("en-US", {
style: "currency",
currency: "USD",
});
return (
<div>
<ul className="mt-4 lg:mt-8 grid lg:grid-cols-2 gap-4 lg:gap-8">
{wants.map((want) => {
return (
<li key={want.name}>
<a href={want.url} target="_blank">
<div className="overflow-hidden aspect-video w-full rounded">
<img
src={want.imgSrc}
alt={want.name}
className="hover:scale-125 transition-all duration-500 db w-full h-full object-cover"
height="9"
width="16"
/>
</div>
<h3 className="mt-4 underline">
{want.name}{" "}
<span className="no-underline">
– {formatter.format(want.price)}
</span>
</h3>
<div className="text-base mt-2">{want.description}</div>
</a>
</li>
);
})}
</ul>
</div>
);
}
const container = document.getElementById("root");
const root = ReactDOM.createRoot(container);
root.render(<MyApp />);
</script>