1
1
import React from "react" ;
2
- // import firebase from "firebase/compat/app";
3
- // import db from "../firebase";
4
2
import Hero from "../images/hero.png" ;
5
3
import Peersky from "../images/peersky-browser.png" ;
6
4
import DScan from "../images/dscan.png" ;
7
5
import Dhost from "../images/dhost.png" ;
8
6
import NFT from "../images/1clicknft.png" ;
9
7
10
8
function LandingPage ( ) {
11
- // Newsletter
12
- // const [input, setInput] = useState("");
13
- // const [subscribe, setSubscribe] = useState("");
14
-
15
- // function inputHandler(e) {
16
- // setInput(e.target.value);
17
- // }
18
-
19
- // async function submitHandler(e) {
20
- // e.preventDefault();
21
- // if (input) {
22
- // await db.collection("emails").add({
23
- // email: input,
24
- // time: firebase.firestore.FieldValue.serverTimestamp(),
25
- // });
26
- // setSubscribe("Subscribed successfully!");
27
- // setTimeout(() => {
28
- // setSubscribe("");
29
- // }, 3690);
30
- // }
31
- // }
32
9
33
10
return (
34
11
< div style = { { backgroundColor : "#FFFCF9" } } >
@@ -54,7 +31,6 @@ function LandingPage() {
54
31
</ b >
55
32
</ p >
56
33
< div className = "block justify-center" >
57
- { /* <form onSubmit={submitHandler}> */ }
58
34
< div className = "flex xl:flex-nowrap md:flex-nowrap lg:flex-wrap flex-wrap justify-center items-end md:justify-start" >
59
35
< div className = "relative w-48 sm:w-auto xl:mr-4 lg:mr-0 sm:mr-4 mr-2" >
60
36
< label
@@ -71,28 +47,8 @@ function LandingPage() {
71
47
@p2plabs.xyz:matrix.org
72
48
</ a >
73
49
</ label >
74
- { /* <input
75
- type="email"
76
- onChange={inputHandler}
77
- value={input}
78
- id="footer-field"
79
- placeholder="email address"
80
- name="footer-field"
81
- className="w-full bg-white bg-opacity-50 rounded border border-gray-300 focus:bg-transparent focus:ring-2 focus:ring-cyan-200 focus:border-cyan-500 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out"
82
- required
83
- /> */ }
84
50
</ div >
85
- { /* <button
86
- type="submit"
87
- className="lg:mt-2 xl:mt-0 flex-shrink-0 inline-flex text-white bg-cyan-400 border-0 py-2 px-4 focus:outline-none hover:bg-cyan-500 rounded"
88
- >
89
- Subscribe
90
- </button> */ }
91
51
</ div >
92
- { /* </form> */ }
93
- { /* <p className="text-sky-400 text-sm mt-2 md:text-left text-center">
94
- {subscribe}
95
- </p> */ }
96
52
</ div >
97
53
</ div >
98
54
< div className = "lg:max-w-lg lg:w-full md:w-1/2 w-5/6" >
@@ -124,39 +80,40 @@ function LandingPage() {
124
80
</ div >
125
81
{ /* dscan */ }
126
82
< div className = "flex flex-wrap -m-4" >
83
+ { /* Peersky */ }
127
84
< div className = "p-4 md:w-1/3" >
128
- < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden" >
85
+ < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden flex flex-col " >
129
86
< img
130
87
className = "lg:h-48 md:h-36 w-full object-cover object-center"
131
88
src = { Peersky }
132
89
alt = "Peersky Browser"
133
90
/>
134
- < div className = "p-6" >
91
+ < div className = "p-6 flex flex-col flex-grow " >
135
92
< h2 className = "tracking-widest text-xs title-font font-medium text-gray-400 mb-1" >
136
93
Infrastructure
137
94
</ h2 >
138
95
< h1 className = "title-font text-lg font-medium text-gray-900 mb-3" >
139
96
Peersky Browser
140
97
</ h1 >
141
- < p className = "leading-relaxed mb-3 " >
142
- A minimal p2p web browser.
98
+ < p className = "leading-relaxed mb-5 " >
99
+ A Minimal Local-First P2P Web Browser: Access, Communicate, and Publish Offline
143
100
</ p >
144
- < br />
145
- < br />
146
- < div className = "flex items-center flex-wrap" >
101
+ < div className = "mt-auto" >
147
102
< a
148
- className = "text-sky-500 hover:text-sky-600 inline-flex items-center md:mb-2 lg:mb-0 "
103
+ className = "text-sky-500 hover:text-sky-600 inline-flex items-center"
149
104
href = "https://peersky.p2plabs.xyz"
105
+ target = "_blank"
106
+ rel = "noopener noreferrer"
150
107
>
151
108
Download for desktop
152
109
< svg
153
110
className = "w-4 h-4 ml-2"
154
111
viewBox = "0 0 24 24"
155
112
stroke = "currentColor"
156
- stroke-width = "2"
113
+ strokeWidth = "2"
157
114
fill = "none"
158
- stroke-linecap = "round"
159
- stroke-linejoin = "round"
115
+ strokeLinecap = "round"
116
+ strokeLinejoin = "round"
160
117
>
161
118
< path d = "M5 12h14" > </ path >
162
119
< path d = "M12 5l7 7-7 7" > </ path >
@@ -166,28 +123,29 @@ function LandingPage() {
166
123
</ div >
167
124
</ div >
168
125
</ div >
169
- { /* dscan */ }
126
+
127
+ { /* DScan */ }
170
128
< div className = "p-4 md:w-1/3" >
171
- < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden" >
129
+ < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden flex flex-col " >
172
130
< img
173
131
className = "lg:h-48 md:h-36 w-full object-cover object-center"
174
132
src = { DScan }
175
133
alt = "DScan"
176
134
/>
177
- < div className = "p-6" >
135
+ < div className = "p-6 flex flex-col flex-grow " >
178
136
< h2 className = "tracking-widest text-xs title-font font-medium text-gray-400 mb-1" >
179
- Tool
137
+ Publishing
180
138
</ h2 >
181
139
< h1 className = "title-font text-lg font-medium text-gray-900 mb-3" >
182
140
DScan
183
141
</ h1 >
184
- < p className = "leading-relaxed mb-3 " >
185
- A decentralized storage and file-sharing tool that uploads
186
- content to IPFS and generates decentralized QR codes.
142
+ < p className = "leading-relaxed mb-5 " >
143
+ A decentralized storage and file-sharing tool that uploads content to
144
+ IPFS and generates decentralized QR codes.
187
145
</ p >
188
- < div className = "flex items-center flex-wrap " >
146
+ < div className = "mt-auto " >
189
147
< a
190
- className = "text-sky-500 hover:text-sky-600 inline-flex items-center md:mb-2 lg:mb-0 "
148
+ className = "text-sky-500 hover:text-sky-600 inline-flex items-center"
191
149
href = "https://chrome.google.com/webstore/detail/dscan-decentralized-qr-co/idpfgkgogjjgklefnkjdpghkifbjenap"
192
150
target = "_blank"
193
151
rel = "noopener noreferrer"
@@ -197,10 +155,10 @@ function LandingPage() {
197
155
className = "w-4 h-4 ml-2"
198
156
viewBox = "0 0 24 24"
199
157
stroke = "currentColor"
200
- stroke-width = "2"
158
+ strokeWidth = "2"
201
159
fill = "none"
202
- stroke-linecap = "round"
203
- stroke-linejoin = "round"
160
+ strokeLinecap = "round"
161
+ strokeLinejoin = "round"
204
162
>
205
163
< path d = "M5 12h14" > </ path >
206
164
< path d = "M12 5l7 7-7 7" > </ path >
@@ -210,29 +168,28 @@ function LandingPage() {
210
168
</ div >
211
169
</ div >
212
170
</ div >
213
- { /* dhost */ }
171
+
172
+ { /* DHost */ }
214
173
< div className = "p-4 md:w-1/3" >
215
- < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden" >
174
+ < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden flex flex-col " >
216
175
< img
217
176
className = "lg:h-48 md:h-36 w-full object-cover object-center"
218
177
src = { Dhost }
219
178
alt = "Dhost"
220
179
/>
221
- < div className = "p-6" >
180
+ < div className = "p-6 flex flex-col flex-grow " >
222
181
< h2 className = "tracking-widest text-xs title-font font-medium text-gray-400 mb-1" >
223
182
Dev tool
224
183
</ h2 >
225
184
< h1 className = "title-font text-lg font-medium text-gray-900 mb-3" >
226
185
DHost
227
186
</ h1 >
228
- < p className = "leading-relaxed mb-3" >
229
- DHost is a vscode extension that publishes static websites
230
- to IPFS.
187
+ < p className = "leading-relaxed mb-5" >
188
+ DHost is a vscode extension that publishes static websites to IPFS.
231
189
</ p >
232
- < br />
233
- < div className = "flex items-center flex-wrap" >
190
+ < div className = "mt-auto" >
234
191
< a
235
- className = "text-sky-500 hover:text-sky-600 inline-flex items-center md:mb-2 lg:mb-0 "
192
+ className = "text-sky-500 hover:text-sky-600 inline-flex items-center"
236
193
href = "https://marketplace.visualstudio.com/items?itemName=DHost.dhost"
237
194
target = "_blank"
238
195
rel = "noopener noreferrer"
@@ -242,10 +199,10 @@ function LandingPage() {
242
199
className = "w-4 h-4 ml-2"
243
200
viewBox = "0 0 24 24"
244
201
stroke = "currentColor"
245
- stroke-width = "2"
202
+ strokeWidth = "2"
246
203
fill = "none"
247
- stroke-linecap = "round"
248
- stroke-linejoin = "round"
204
+ strokeLinecap = "round"
205
+ strokeLinejoin = "round"
249
206
>
250
207
< path d = "M5 12h14" > </ path >
251
208
< path d = "M12 5l7 7-7 7" > </ path >
@@ -255,28 +212,29 @@ function LandingPage() {
255
212
</ div >
256
213
</ div >
257
214
</ div >
258
- { /* 1clicknft */ }
215
+
216
+ { /* 1ClickNFT */ }
259
217
< div className = "p-4 md:w-1/3" >
260
- < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden" >
218
+ < div className = "h-full bg-white border-2 border-gray-200 border-opacity-60 rounded-lg overflow-hidden flex flex-col " >
261
219
< img
262
220
className = "lg:h-48 md:h-36 w-full object-cover object-center"
263
221
src = { NFT }
264
222
alt = "1clickNFT"
265
223
/>
266
- < div className = "p-6" >
224
+ < div className = "p-6 flex flex-col flex-grow " >
267
225
< h2 className = "tracking-widest text-xs title-font font-medium text-gray-400 mb-1" >
268
226
Dev tool
269
227
</ h2 >
270
228
< h1 className = "title-font text-lg font-medium text-gray-900 mb-3" >
271
229
1clickNFT
272
230
</ h1 >
273
- < p className = "leading-relaxed mb-3 " >
274
- 1clickNFT allows you to instantly upload NFT data to IPFS
275
- right from VS Code by using nft.storage.
231
+ < p className = "leading-relaxed mb-5 " >
232
+ 1clickNFT allows you to instantly upload NFT data to IPFS right from VS
233
+ Code by using nft.storage.
276
234
</ p >
277
- < div className = "flex items-center flex-wrap " >
235
+ < div className = "mt-auto " >
278
236
< a
279
- className = "text-sky-500 hover:text-sky-600 inline-flex items-center md:mb-2 lg:mb-0 "
237
+ className = "text-sky-500 hover:text-sky-600 inline-flex items-center"
280
238
href = "https://marketplace.visualstudio.com/items?itemName=1clickNFT.1clicknft"
281
239
target = "_blank"
282
240
rel = "noopener noreferrer"
@@ -286,10 +244,10 @@ function LandingPage() {
286
244
className = "w-4 h-4 ml-2"
287
245
viewBox = "0 0 24 24"
288
246
stroke = "currentColor"
289
- stroke-width = "2"
247
+ strokeWidth = "2"
290
248
fill = "none"
291
- stroke-linecap = "round"
292
- stroke-linejoin = "round"
249
+ strokeLinecap = "round"
250
+ strokeLinejoin = "round"
293
251
>
294
252
< path d = "M5 12h14" > </ path >
295
253
< path d = "M12 5l7 7-7 7" > </ path >
@@ -299,6 +257,7 @@ function LandingPage() {
299
257
</ div >
300
258
</ div >
301
259
</ div >
260
+
302
261
</ div >
303
262
</ div >
304
263
</ section >
0 commit comments