Skip to content

Commit 8e26f9c

Browse files
author
iexitdev
committed
Polish landing section layout
1 parent eba3bb5 commit 8e26f9c

3 files changed

Lines changed: 31 additions & 42 deletions

File tree

apps/site/src/components/ChartKitFeatures.astro

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,23 +49,23 @@ const features = [
4949
>
5050
<div class="feature-section-pattern" aria-hidden="true"></div>
5151
<div
52-
class="relative z-10 mx-auto max-w-[1320px] space-y-12 px-6 sm:px-8 md:space-y-16 md:px-10 lg:px-12 xl:px-16"
52+
class="relative z-10 mx-auto max-w-[1320px] px-6 sm:px-8 md:px-10 lg:px-12 xl:px-16"
5353
>
54-
<div class="relative z-10 mx-auto max-w-[700px] space-y-6 text-center">
54+
<div class="relative z-10 mx-auto max-w-[700px] text-center">
5555
<h2
5656
class="text-[clamp(30px,4.6vw,48px)] font-semibold leading-[1.04] tracking-[-0.025em]"
5757
>
5858
Beyond static charts
5959
</h2>
6060
<p
61-
class="mx-auto max-w-[34rem] text-base font-light leading-7 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
61+
class="mx-auto mt-5 max-w-[34rem] text-base font-light leading-7 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
6262
>
6363
Let users tap, inspect, zoom, pan, and read richer datasets.
6464
</p>
6565
</div>
6666

6767
<div
68-
class="relative isolate mx-auto grid max-w-[1120px] grid-cols-1 overflow-hidden rounded-2xl border border-white/10 bg-black/[0.82] transition-colors duration-300 sm:grid-cols-2 lg:grid-cols-3 [html[data-theme='light']_&]:border-black/10 [html[data-theme='light']_&]:bg-white/[0.82]"
68+
class="relative isolate mx-auto mt-16 grid max-w-[1120px] grid-cols-1 overflow-hidden rounded-2xl border border-white/10 bg-black/[0.82] transition-colors duration-300 sm:grid-cols-2 lg:grid-cols-3 [html[data-theme='light']_&]:border-black/10 [html[data-theme='light']_&]:bg-white/[0.82]"
6969
>
7070
<div class="feature-cross-wash" aria-hidden="true"></div>
7171
{

apps/site/src/components/Footer.astro

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ const footerGroups = [
6868
>
6969
<div>
7070
<nav
71-
class="grid w-full grid-cols-2 gap-x-10 gap-y-8 sm:grid-cols-3 sm:gap-x-16 md:gap-x-24 lg:gap-x-32 xl:gap-x-40"
71+
class="mx-auto grid w-full grid-cols-1 justify-items-center gap-x-10 gap-y-8 sm:grid-cols-3 sm:gap-x-16 md:gap-x-24 lg:gap-x-32 xl:gap-x-40"
7272
aria-label="Footer"
7373
>
7474
{
7575
footerGroups.map((group) => (
76-
<div>
76+
<div class="text-left">
7777
<h2 class="text-sm font-semibold tracking-[-0.01em] text-white transition-colors duration-300 [html[data-theme='light']_&]:text-black">
7878
{group.title}
7979
</h2>
@@ -101,13 +101,15 @@ const footerGroups = [
101101
</div>
102102

103103
<div
104-
class="flex flex-col gap-4 pt-6 text-sm text-white/42 transition-colors duration-300 sm:flex-row sm:items-center sm:justify-between sm:pt-8 [html[data-theme='light']_&]:text-black/42"
104+
class="mx-auto flex max-w-[960px] flex-col items-center gap-4 pt-6 text-center text-sm text-white/42 transition-colors duration-300 sm:flex-row sm:justify-between sm:pt-8 sm:text-left [html[data-theme='light']_&]:text-black/42"
105105
>
106-
<p class="max-w-[17rem] leading-5 sm:max-w-none">
106+
<p class="leading-5">
107107
© 2026 React Native Chart Kit. All rights reserved
108108
</p>
109109

110-
<div class="flex flex-wrap items-center gap-x-5 gap-y-3 sm:gap-x-7">
110+
<div
111+
class="flex flex-wrap items-center justify-center gap-x-5 gap-y-3 sm:justify-end sm:gap-x-7"
112+
>
111113
<a
112114
href="mailto:privacy@chartkit.io"
113115
class="font-medium transition-colors hover:text-white [html[data-theme='light']_&]:hover:text-black"

apps/site/src/components/Pricing.astro

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const proTiers = [
88
name: "Solo",
99
price: "$149",
1010
cadence: "/ year",
11-
description: "For solo developers and independent apps.",
11+
description: "For solo devs and independent apps.",
1212
cta: "Get Solo",
1313
href: "mailto:sales@chartkit.io?subject=Chart%20Kit%20Pro%20Solo%20license",
1414
features: [
@@ -24,7 +24,7 @@ const proTiers = [
2424
name: "Startup",
2525
price: "$399",
2626
cadence: "/ year",
27-
description: "For small teams building a production app.",
27+
description: "For small teams shipping one app.",
2828
cta: "Get Startup",
2929
href: "mailto:sales@chartkit.io?subject=Chart%20Kit%20Pro%20Startup%20license",
3030
features: [
@@ -40,7 +40,7 @@ const proTiers = [
4040
name: "Business",
4141
price: "$1,499",
4242
cadence: "/ year",
43-
description: "For larger teams and multiple apps.",
43+
description: "For growing teams and multiple apps.",
4444
cta: "Get Business",
4545
href: "mailto:sales@chartkit.io?subject=Chart%20Kit%20Pro%20Business%20license",
4646
features: [
@@ -68,18 +68,18 @@ const proTiersByKey = Object.fromEntries(
6868
Pricing
6969
</h2>
7070
<p
71-
class="mx-auto mt-4 max-w-3xl text-base font-light leading-7 text-white/56 transition-colors duration-300 sm:text-[17px] [html[data-theme='light']_&]:text-black/56"
71+
class="mx-auto mt-5 max-w-3xl text-base font-light leading-7 text-white/56 transition-colors duration-300 sm:text-[17px] [html[data-theme='light']_&]:text-black/56"
7272
>
7373
Pick Free, Pro, or Enterprise. Pro pricing changes by developer count,
7474
app scope, and company size.
7575
</p>
7676
</div>
7777

7878
<div
79-
class="mx-auto mt-10 grid max-w-[1120px] grid-cols-1 items-stretch gap-5 lg:grid-cols-3"
79+
class="mx-auto mt-16 grid max-w-[1120px] grid-cols-1 items-stretch gap-5 lg:grid-cols-3"
8080
>
8181
<article
82-
class="relative flex min-h-[438px] flex-col rounded-2xl border border-white/10 bg-white/[0.025] p-5 shadow-[0_24px_80px_rgba(0,0,0,0.24)] transition-colors duration-300 sm:p-6 [html[data-theme='light']_&]:border-black/10 [html[data-theme='light']_&]:bg-black/[0.018] [html[data-theme='light']_&]:shadow-[0_24px_80px_rgba(0,0,0,0.055)]"
82+
class="relative flex min-h-[470px] flex-col rounded-2xl border border-white/10 bg-white/[0.025] p-5 shadow-[0_24px_80px_rgba(0,0,0,0.24)] transition-colors duration-300 sm:p-6 [html[data-theme='light']_&]:border-black/10 [html[data-theme='light']_&]:bg-black/[0.018] [html[data-theme='light']_&]:shadow-[0_24px_80px_rgba(0,0,0,0.055)]"
8383
>
8484
<div class="pricing-card-header">
8585
<div class="flex items-center gap-4">
@@ -105,14 +105,14 @@ const proTiersByKey = Object.fromEntries(
105105
</p>
106106
</div>
107107
<p
108-
class="mt-2 text-sm font-light leading-5 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
108+
class="mt-2 text-[13px] font-light leading-5 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
109109
>
110-
Common React Native charts for free and commercial apps.
110+
MIT React Native charts for apps.
111111
</p>
112112
</div>
113113
</div>
114114

115-
<ul class="mt-5 space-y-3 pb-8">
115+
<ul class="my-auto space-y-3 py-8">
116116
{
117117
[
118118
"Line, area, bar, stacked bar",
@@ -135,15 +135,15 @@ const proTiersByKey = Object.fromEntries(
135135

136136
<a
137137
href="/docs/react-native/getting-started/installation"
138-
class="mt-auto inline-flex h-10 items-center justify-center rounded-full border border-white/15 px-5 text-sm font-semibold text-white/78 transition-colors hover:border-white/28 hover:text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white/45 [html[data-theme='light']_&]:border-black/15 [html[data-theme='light']_&]:text-black/70 [html[data-theme='light']_&]:hover:border-black/28 [html[data-theme='light']_&]:hover:text-black [html[data-theme='light']_&]:focus-visible:outline-black/40"
138+
class="inline-flex h-10 items-center justify-center rounded-full border border-white/15 px-5 text-sm font-semibold text-white/78 transition-colors hover:border-white/28 hover:text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white/45 [html[data-theme='light']_&]:border-black/15 [html[data-theme='light']_&]:text-black/70 [html[data-theme='light']_&]:hover:border-black/28 [html[data-theme='light']_&]:hover:text-black [html[data-theme='light']_&]:focus-visible:outline-black/40"
139139
>
140140
Read the docs
141141
</a>
142142
</article>
143143

144144
<article
145145
data-pro-pricing
146-
class="relative isolate flex min-h-[438px] flex-col overflow-hidden rounded-2xl border border-white/30 bg-white/[0.035] p-5 shadow-[0_24px_80px_rgba(0,0,0,0.28)] transition-colors duration-300 sm:p-6 [html[data-theme='light']_&]:border-black/24 [html[data-theme='light']_&]:bg-black/[0.02] [html[data-theme='light']_&]:shadow-[0_24px_80px_rgba(0,0,0,0.07)]"
146+
class="relative isolate flex min-h-[470px] flex-col overflow-hidden rounded-2xl border border-white/30 bg-white/[0.035] p-5 shadow-[0_24px_80px_rgba(0,0,0,0.28)] transition-colors duration-300 sm:p-6 [html[data-theme='light']_&]:border-black/24 [html[data-theme='light']_&]:bg-black/[0.02] [html[data-theme='light']_&]:shadow-[0_24px_80px_rgba(0,0,0,0.07)]"
147147
>
148148
<span class="pro-card-border-trail" aria-hidden="true">
149149
<span class="pro-card-border-trail-runner"></span>
@@ -191,7 +191,7 @@ const proTiersByKey = Object.fromEntries(
191191
</p>
192192
</div>
193193
<p
194-
class="mt-2 text-sm font-light leading-5 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
194+
class="mt-2 text-[13px] font-light leading-5 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
195195
data-pro-description
196196
>
197197
{defaultProTier.description}
@@ -232,7 +232,7 @@ const proTiersByKey = Object.fromEntries(
232232
</div>
233233
</div>
234234

235-
<ul class="mt-5 space-y-3 pb-8" data-pro-features>
235+
<ul class="my-auto -translate-y-2 space-y-3 py-8" data-pro-features>
236236
{
237237
defaultProTier.features.map((feature) => (
238238
<li class="flex items-center gap-3 text-sm font-medium text-white/62 transition-colors duration-300 [html[data-theme='light']_&]:text-black/62">
@@ -251,14 +251,14 @@ const proTiersByKey = Object.fromEntries(
251251
<a
252252
href={defaultProTier.href}
253253
data-pro-cta
254-
class="mt-auto inline-flex h-10 items-center justify-center rounded-full bg-white px-5 text-sm font-semibold text-black transition-colors hover:bg-white/88 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white/45 [html[data-theme='light']_&]:bg-black [html[data-theme='light']_&]:text-white [html[data-theme='light']_&]:hover:bg-black/82 [html[data-theme='light']_&]:focus-visible:outline-black/40"
254+
class="inline-flex h-10 items-center justify-center rounded-full bg-white px-5 text-sm font-semibold text-black transition-colors hover:bg-white/88 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white/45 [html[data-theme='light']_&]:bg-black [html[data-theme='light']_&]:text-white [html[data-theme='light']_&]:hover:bg-black/82 [html[data-theme='light']_&]:focus-visible:outline-black/40"
255255
>
256256
{defaultProTier.cta}
257257
</a>
258258
</article>
259259

260260
<article
261-
class="relative flex min-h-[438px] flex-col rounded-2xl border border-white/10 bg-white/[0.025] p-5 shadow-[0_24px_80px_rgba(0,0,0,0.24)] transition-colors duration-300 sm:p-6 [html[data-theme='light']_&]:border-black/10 [html[data-theme='light']_&]:bg-black/[0.018] [html[data-theme='light']_&]:shadow-[0_24px_80px_rgba(0,0,0,0.055)]"
261+
class="relative flex min-h-[470px] flex-col rounded-2xl border border-white/10 bg-white/[0.025] p-5 shadow-[0_24px_80px_rgba(0,0,0,0.24)] transition-colors duration-300 sm:p-6 [html[data-theme='light']_&]:border-black/10 [html[data-theme='light']_&]:bg-black/[0.018] [html[data-theme='light']_&]:shadow-[0_24px_80px_rgba(0,0,0,0.055)]"
262262
>
263263
<div class="pricing-card-header">
264264
<div class="flex items-center gap-4">
@@ -275,20 +275,19 @@ const proTiersByKey = Object.fromEntries(
275275
Custom
276276
</p>
277277
<p
278-
class="mt-2 text-sm font-light leading-5 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
278+
class="mt-2 text-[13px] font-light leading-5 text-white/56 transition-colors duration-300 [html[data-theme='light']_&]:text-black/56"
279279
>
280-
Larger teams, purchasing workflows, and custom terms.
280+
Larger teams, purchasing, and custom terms.
281281
</p>
282282
</div>
283283
</div>
284284

285-
<ul class="mt-5 space-y-3 pb-8">
285+
<ul class="my-auto space-y-3 py-8">
286286
{
287287
[
288288
"7+ developers or custom scope",
289289
"Multiple products or app families",
290290
"Custom terms and invoicing",
291-
"Named support contact",
292291
"Affiliate or multi-team use"
293292
].map((feature) => (
294293
<li class="flex items-center gap-3 text-sm font-medium text-white/62 transition-colors duration-300 [html[data-theme='light']_&]:text-black/62">
@@ -306,7 +305,7 @@ const proTiersByKey = Object.fromEntries(
306305

307306
<a
308307
href="mailto:sales@chartkit.io?subject=Chart%20Kit%20Pro%20Enterprise"
309-
class="mt-auto inline-flex h-10 items-center justify-center rounded-full border border-white/15 px-5 text-sm font-semibold text-white/78 transition-colors hover:border-white/28 hover:text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white/45 [html[data-theme='light']_&]:border-black/15 [html[data-theme='light']_&]:text-black/70 [html[data-theme='light']_&]:hover:border-black/28 [html[data-theme='light']_&]:hover:text-black [html[data-theme='light']_&]:focus-visible:outline-black/40"
308+
class="inline-flex h-10 items-center justify-center rounded-full border border-white/15 px-5 text-sm font-semibold text-white/78 transition-colors hover:border-white/28 hover:text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white/45 [html[data-theme='light']_&]:border-black/15 [html[data-theme='light']_&]:text-black/70 [html[data-theme='light']_&]:hover:border-black/28 [html[data-theme='light']_&]:hover:text-black [html[data-theme='light']_&]:focus-visible:outline-black/40"
310309
>
311310
Talk to sales
312311
</a>
@@ -315,22 +314,10 @@ const proTiersByKey = Object.fromEntries(
315314

316315
<p
317316
class="mx-auto mt-6 max-w-[1120px] text-center text-sm font-light text-white/44 transition-colors duration-300 [html[data-theme='light']_&]:text-black/44"
318-
>
319-
Need SDK, white-label, embedded, or customer-distributed use?
320-
<a
321-
href="mailto:sales@chartkit.io?subject=Chart%20Kit%20Pro%20OEM%20license"
322-
class="font-semibold text-white/72 transition-colors hover:text-white [html[data-theme='light']_&]:text-black/68 [html[data-theme='light']_&]:hover:text-black"
323-
>
324-
Contact us for OEM terms.
325-
</a>
326-
</p>
327-
328-
<p
329-
class="mx-auto mt-4 max-w-[1120px] text-center text-sm font-light text-white/44 transition-colors duration-300 [html[data-theme='light']_&]:text-black/44"
330317
>
331318
<a
332319
href="/docs/react-native/charts/pricing"
333-
class="font-semibold text-white/72 transition-colors hover:text-white [html[data-theme='light']_&]:text-black/68 [html[data-theme='light']_&]:hover:text-black"
320+
class="text-white/72 transition-colors hover:text-white [html[data-theme='light']_&]:text-black/68 [html[data-theme='light']_&]:hover:text-black"
334321
>
335322
Compare plan capabilities in the docs.
336323
</a>

0 commit comments

Comments
 (0)