@@ -17,7 +17,9 @@ defmodule AlgoraWeb.SwiftBountiesLive do
17
17
push_navigate ( socket , to: ~p" /home" )
18
18
else
19
19
socket
20
- |> assign ( :page_title , "Swift Bounties" )
20
+ |> assign ( :page_title , "Fund Swift Together" )
21
+ |> assign ( :page_description , "Help grow the Swift ecosystem by funding the work we all depend on." )
22
+ |> assign ( :page_image , "#{ AlgoraWeb.Endpoint . url ( ) } /images/og/swift.png" )
21
23
|> assign_tickets ( )
22
24
end
23
25
@@ -66,8 +68,8 @@ defmodule AlgoraWeb.SwiftBountiesLive do
66
68
>
67
69
</ div >
68
70
</ div >
69
- < div class = "mx-auto max-w-7xl px-6 pt-10 pb-12 sm:pb-16 lg:flex lg:px-8 lg:py -20 xl:py-24 " >
70
- < div class = "mx-auto max-w-2xl shrink-0 lg:mx-0 lg:pt-8 " >
71
+ < div class = "mx-auto max-w-7xl px-6 py-3 pb-12 sm:pb-16 lg:flex lg:px-8 lg:pb -20 xl:pb-0 xl:min-h-screen xl:items-center " >
72
+ < div class = "mx-auto max-w-2xl shrink-0 lg:mx-0 lg:pt-8 xl:pt-0 " >
71
73
< . wordmark />
72
74
< h1 class = "font-display mt-10 text-2xl font-semibold tracking-tight text-white sm:text-6xl " >
73
75
Fund
@@ -102,7 +104,7 @@ defmodule AlgoraWeb.SwiftBountiesLive do
102
104
</ . link >
103
105
</ div >
104
106
</ div >
105
- < div class = "mx-auto mt-16 flex max-w-2xl sm:mt-24 lg:mt-0 lg:mr-0 lg:ml-10 lg:max-w-none xl:ml-32 " >
107
+ < div class = "mx-auto mt-16 flex max-w-2xl sm:mt-24 lg:mt-0 lg:mr-0 lg:ml-10 lg:max-w-none xl:ml-24 " >
106
108
< div class = "max-w-3xl sm:max-w-5xl sm:flex-none lg:max-w-none " >
107
109
< . card class = "-mx-3 bg-card/25 sm:mx-0 " id = "how-it-works " >
108
110
< . card_header class = "-mx-3 sm:mx-0 " >
@@ -160,6 +162,30 @@ defmodule AlgoraWeb.SwiftBountiesLive do
160
162
</ div >
161
163
</ div >
162
164
</ div >
165
+
166
+ < div class = "space-y-2 " >
167
+ < div class = "flex items-center gap-2 sm:flex-col sm:items-start " >
168
+ < . icon name = "tabler-contract " class = "h-8 w-8 text-white " />
169
+ < div class = "flex items-center gap-2 " >
170
+ < h3 class = "font-semibold " > Start Contracts</ h3 >
171
+ < span class = "rounded bg-gray-950/75 px-2 py-0.5 text-xs font-medium text-gray-400 ring-1 ring-gray-400/25 " >
172
+ Coming Soon
173
+ </ span >
174
+ </ div >
175
+ </ div >
176
+ < div class = "space-y-2 text-sm font-medium text-muted-foreground sm:space-y-1 " >
177
+ < div >
178
+ Engage contributors for longer-term Swift development work.
179
+ </ div >
180
+ < div class = "space-x-1 " >
181
+ < span > Just comment</ span >
182
+ < code class = "inline-block rounded bg-orange-950/75 px-1 py-0.5 font-mono text-sm text-orange-400 ring-1 ring-orange-400/25 " >
183
+ /contract $5000 @username
184
+ </ code >
185
+ < span > to offer a contract.</ span >
186
+ </ div >
187
+ </ div >
188
+ </ div >
163
189
</ div >
164
190
</ . card_content >
165
191
</ . card >
@@ -176,8 +202,8 @@ defmodule AlgoraWeb.SwiftBountiesLive do
176
202
< p class = "font-display mt-2 text-center text-3xl font-semibold tracking-tight text-white sm:text-5xl " >
177
203
You don't even need to leave GitHub
178
204
</ p >
179
- < div class = "mt-10 grid grid-cols-1 gap-4 sm:mt-16 lg:grid-cols-7 " >
180
- < div class = "flex p-px lg:col-span-4 " >
205
+ < div class = "mt-10 grid grid-cols-1 gap-4 sm:mt-16 lg:grid-cols-[repeat(14,_minmax(0,_1fr))] " >
206
+ < div class = "flex p-px lg:col-span-8 " >
181
207
< div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 max-lg:rounded-t-[2rem] lg:rounded-tl-[2rem] " >
182
208
< img class = "object-cover object-left " src = { ~p" /images/screenshots/bounty.png" } alt = "" />
183
209
< div class = "p-4 sm:p-6 " >
@@ -191,7 +217,7 @@ defmodule AlgoraWeb.SwiftBountiesLive do
191
217
</ div >
192
218
</ div >
193
219
</ div >
194
- < div class = "flex p-px lg:col-span-3 " >
220
+ < div class = "flex p-px lg:col-span-6 " >
195
221
< div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 lg:rounded-tr-[2rem] " >
196
222
< img class = "object-cover " src = { ~p" /images/screenshots/tip.png" } alt = "" />
197
223
< div class = "p-4 sm:p-6 " >
@@ -205,8 +231,8 @@ defmodule AlgoraWeb.SwiftBountiesLive do
205
231
</ div >
206
232
</ div >
207
233
</ div >
208
- < div class = "flex p-px lg:col-span-3 " >
209
- < div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 lg:rounded-bl-[2rem] " >
234
+ < div class = "flex p-px lg:col-span-6 " >
235
+ < div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 " >
210
236
< div class = "flex object-cover " >
211
237
< div class = "flex h-full w-full items-center justify-center gap-x-4 p-4 pb-0 sm:gap-x-6 " >
212
238
< div class = "flex w-full flex-col space-y-3 sm:w-auto sm:py-9 " >
@@ -220,7 +246,7 @@ defmodule AlgoraWeb.SwiftBountiesLive do
220
246
viewBox = "0 0 20 20 "
221
247
fill = "currentColor "
222
248
aria-hidden = "true "
223
- class = "h-4 w-4 text-emerald -500 "
249
+ class = "h-4 w-4 text-success -500 "
224
250
>
225
251
< path
226
252
fill-rule = "evenodd "
@@ -244,7 +270,7 @@ defmodule AlgoraWeb.SwiftBountiesLive do
244
270
viewBox = "0 0 20 20 "
245
271
fill = "currentColor "
246
272
aria-hidden = "true "
247
- class = "h-4 w-4 text-emerald -500 "
273
+ class = "h-4 w-4 text-success -500 "
248
274
>
249
275
< path
250
276
fill-rule = "evenodd "
@@ -308,8 +334,8 @@ defmodule AlgoraWeb.SwiftBountiesLive do
308
334
</ div >
309
335
</ div >
310
336
</ div >
311
- < div class = "flex p-px lg:col-span-4 " >
312
- < div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 max-lg:rounded-b-[2rem] lg:rounded-br-[2rem] " >
337
+ < div class = "flex p-px lg:col-span-8 " >
338
+ < div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 " >
313
339
< img class = "object-cover object-left " src = { ~p" /images/screenshots/bounties.png" } alt = "" />
314
340
< div class = "p-4 sm:p-6 " >
315
341
< h3 class = "text-sm/4 font-semibold text-gray-400 " > Pooling</ h3 >
@@ -322,6 +348,39 @@ defmodule AlgoraWeb.SwiftBountiesLive do
322
348
</ div >
323
349
</ div >
324
350
</ div >
351
+ < div class = "flex p-px lg:col-span-5 " >
352
+ < div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 lg:rounded-bl-[2rem] " >
353
+ < img
354
+ class = "object-cover object-left "
355
+ src = { ~p" /images/screenshots/payout-account.png" }
356
+ alt = ""
357
+ />
358
+ < div class = "p-4 sm:p-6 " >
359
+ < h3 class = "text-sm/4 font-semibold text-gray-400 " > Payouts</ h3 >
360
+ < p class = "mt-2 text-lg font-medium tracking-tight text-white " >
361
+ Get Paid Quickly
362
+ </ p >
363
+ < p class = "mt-2 text-sm/6 text-gray-400 " >
364
+ Receive payments directly to your bank account from all around the world
365
+ < span class = "font-medium text-foreground " > (120 countries supported)</ span >
366
+ </ p >
367
+ </ div >
368
+ </ div >
369
+ </ div >
370
+ < div class = "flex p-px lg:col-span-9 " >
371
+ < div class = "w-full overflow-hidden rounded-lg bg-card ring-1 ring-white/15 max-lg:rounded-b-[2rem] lg:rounded-br-[2rem] " >
372
+ < img class = "object-cover " src = { ~p" /images/screenshots/contract.png" } alt = "" />
373
+ < div class = "p-4 sm:p-6 " >
374
+ < h3 class = "text-sm/4 font-semibold text-gray-400 " > Contracts (coming soon)</ h3 >
375
+ < p class = "mt-2 text-lg font-medium tracking-tight text-white " >
376
+ Flexible Engagement
377
+ </ p >
378
+ < p class = "mt-2 text-sm/6 text-gray-400 " >
379
+ Set hourly rates, weekly hours, and payment schedules for ongoing Swift development work. Track progress and manage payments all in one place.
380
+ </ p >
381
+ </ div >
382
+ </ div >
383
+ </ div >
325
384
</ div >
326
385
</ div >
327
386
</ div >
0 commit comments