Skip to content

Commit 2877921

Browse files
committed
feat: add hero section to api pricing page
See: FE-108
1 parent 2e66f6e commit 2877921

File tree

7 files changed

+41
-8
lines changed

7 files changed

+41
-8
lines changed

frontend/i18n/locales/en.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,13 @@
11361136
"yearly": "Yearly"
11371137
},
11381138
"products": {
1139-
"api": "API",
1139+
"api": {
1140+
"hero": {
1141+
"subtitle": "Power your apps with unified blockchain data—access real-time and historical insights across execution and consensus layers.",
1142+
"title": "Simple, Transparent Pricing"
1143+
},
1144+
"name": "API"
1145+
},
11401146
"explorer": "Explorer",
11411147
"landing_page": {
11421148
"api": {

frontend/layers/base/app/assets/css/main.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@
127127

128128
--text-4xl: 2rem; /* 32px */
129129
--text-4xl--line-height: 3rem; /* 48px */
130-
130+
--text-5xl: 2.5rem; /* 40px */
131+
--text-5xl--line-height: 3.75rem; /* 44px */
131132
--text-6xl: 3rem; /* 48px */
132133
--text-6xl--line-height: 3.5rem; /* 56px */
133134
}

frontend/layers/base/app/components/BaseHeading.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<script setup lang="ts">
2-
export type BaseHeadings = 'h2' | 'h3' | 'h4'
3-
2+
export type BaseHeadings = 'h1' | 'h2' | 'h3' | 'h4'
43
defineProps<{
54
is: BaseHeadings,
65
size:
76
| '2xl'
87
| 'lg'
98
| 'md'
9+
| 'xl'
1010
| 'xs'
1111
| 'xxs',
1212
}>()
@@ -18,6 +18,7 @@ defineProps<{
1818
class="font-bold text-balance"
1919
:class="[
2020
size === '2xl' && 'text-6xl tracking-[-.09rem]',
21+
size === 'xl' && 'text-5xl tracking-[-.075rem]',
2122
size === 'lg' && 'text-4xl tracking-[-.05rem]',
2223
size === 'xs' && 'text-xl tracking-[-0.0063rem]',
2324
size === 'xxs' && 'text-md',

frontend/layers/base/app/components/BaseText.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
<script setup lang="ts">
22
const {
3+
fontWeight = 'normal',
34
is = 'span',
45
size = 'md',
56
} = defineProps<{
7+
fontWeight?: 'bold' | 'normal',
68
is?:
79
| 'div'
810
| 'p'
911
| 'span',
1012
size?:
1113
| '2xl'
14+
| 'md'
1215
| 'sm',
1316
variant?: 'secondary',
1417
}>()
@@ -20,8 +23,10 @@ const {
2023
class=""
2124
:class="[
2225
size === 'sm' && 'text-sm',
26+
size === 'md' && 'text-md',
2327
size === '2xl' && 'text-2xl',
2428
variant === 'secondary' && 'dark:text-gray-400 text-gray-600',
29+
fontWeight === 'bold' && 'font-bold',
2530
]"
2631
>
2732
<slot />

frontend/layers/base/app/components/TheFooter.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const { t: $t } = useTranslation()
1111
1212
const productLinks: Link[] = [
1313
{
14-
href: '/products/api/docs', icon: 'file-code', text: $t('products.api'),
14+
href: '/products/api/docs', icon: 'file-code', text: $t('products.api.name'),
1515
},
1616
{
1717
href: '/dashboard', icon: 'coins', text: $t('products.staking_hub'),

frontend/layers/products/app/pages/products/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const id = {
1212
const items: BaseNavigationItem[] = [
1313
{
1414
icon: 'file-code-2',
15-
label: $t('products.api'),
15+
label: $t('products.api.name'),
1616
to: `#${id.api}`,
1717
},
1818
{

frontend/layers/products/app/pages/products/pricing.vue

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const isOpen = ref(false)
88
const items: BaseNavigationItem[] = [
99
{
1010
icon: 'file-code-2',
11-
label: $t('products.api'),
11+
label: $t('products.api.name'),
1212
to: '/product#api',
1313
},
1414
{
@@ -47,7 +47,27 @@ const faqItems = tm('items') ?? []
4747
@close="isOpen = false"
4848
/>
4949
</template>
50-
<ProductLandingpageSection v-if="faqItems.length">
50+
<ProductLandingpageSection class="mt-11xl">
51+
<BaseHeading
52+
is="h1"
53+
size="xl"
54+
class="text-center"
55+
>
56+
{{ $t('products.api.hero.title') }}
57+
</BaseHeading>
58+
<BaseText
59+
is="p"
60+
size="2xl"
61+
font-weight="bold"
62+
class="container text-center sm:text-balance"
63+
>
64+
{{ $t('products.api.hero.subtitle') }}
65+
</BaseText>
66+
</ProductLandingpageSection>
67+
<ProductLandingpageSection
68+
v-if="faqItems.length"
69+
class="mt-11xl"
70+
>
5171
<LazyProductPricingSectionFAQ
5272
:items="faqItems"
5373
/>

0 commit comments

Comments
 (0)