Skip to content

Commit 1d313d6

Browse files
committed
feat: intro section
1 parent b58cf4c commit 1d313d6

11 files changed

+114
-43
lines changed

components/blocks/text-block.vue

+11-6
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
<div
33
:class="['block text-block', `align__${block.align ? block.align : 'left'}`]">
44

5-
<h5 v-if="block.label" class="label">
6-
<TriangleArrow v-if="block.showLabelIcon" class="icon" />
5+
<h5 v-if="block.label" class="label h5">
76
<span>{{ block.label }}</span>
87
</h5>
98

@@ -25,16 +24,22 @@
2524
</div>
2625

2726
<div v-if="block.ctas" class="button-row">
28-
<div v-if="block.ctas && Array.isArray(block.ctas)">
27+
<template v-if="block.ctas && Array.isArray(block.ctas)">
2928
<ButtonCta
3029
v-for="(cta, index) in ctaData"
3130
:key="index"
3231
:tag="cta.tag"
3332
:to="cta.to"
34-
:theme="cta.theme">
33+
:theme="cta.theme"
34+
:disabled="cta.disabled">
3535
{{ cta.text }}
36+
<span
37+
v-if="cta.caption"
38+
class="caption">
39+
{{ cta.caption }}
40+
</span>
3641
</ButtonCta>
37-
</div>
42+
</template>
3843
</div>
3944
</div>
4045
</template>
@@ -68,7 +73,7 @@ export default {
6873
computed: {
6974
ctaData () {
7075
return this.block.ctas.map((object) => {
71-
return { ...object, disabled: object.url === undefined || object.url === '' }
76+
return { ...object, disabled: object.to === undefined || object.to === '' }
7277
})
7378
}
7479
}

components/button/cta.vue

+22-5
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ const props = defineProps({
8181

8282
<style lang="scss" scoped>
8383
// ///////////////////////////////////////////////////////////////////// General
84-
.button {
84+
:deep(.button) {
8585
white-space: nowrap;
8686
cursor: pointer;
87-
&:not([disabled="true"]) {
87+
&:not(.disabled) {
8888
&:hover {
8989
.button-content {
9090
@include transitionDefault;
@@ -95,10 +95,10 @@ const props = defineProps({
9595
@include focusBoxShadow;
9696
}
9797
}
98-
&[disabled="true"] {
98+
.disabled {
9999
box-shadow: none;
100-
opacity: 0.5;
101-
cursor: no-drop;
100+
// opacity: 0.5;
101+
cursor: default;
102102
}
103103
}
104104
@@ -144,6 +144,7 @@ const props = defineProps({
144144
width: fit-content;
145145
filter: drop-shadow(0px 2px 14px rgba(255, 197, 130, 0.32));
146146
padding-left: toRem(25);
147+
cursor: pointer;
147148
&:before {
148149
content: '';
149150
position: absolute;
@@ -219,4 +220,20 @@ const props = defineProps({
219220
display: flex;
220221
}
221222
}
223+
224+
.theme__big-number {
225+
display: block;
226+
width: fit-content;
227+
:deep(.button-content) {
228+
@include h1;
229+
@include gradientText;
230+
.caption {
231+
display: block;
232+
@include h4;
233+
-webkit-text-fill-color: $alto;
234+
-moz-text-fill-color: $alto;
235+
text-fill-color: $alto;
236+
}
237+
}
238+
}
222239
</style>

components/data-programs-logo.vue

+24-24
Large diffs are not rendered by default.

components/site-header.vue

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
:key="cta.component || cta.text"
3636
:tag="cta.tag"
3737
:target="cta.target"
38-
:theme="cta.theme">
38+
:theme="cta.theme"
39+
:to="cta.to">
3940
<component
4041
:is="getCtaComponent(cta.icon)"
4142
v-if="cta.icon"

content/core/index.json

+34-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
"to": "/signup",
2828
"tag": "nuxt-link",
2929
"theme": "primary"
30+
},
31+
{
32+
"text": "Sign up now and be first in line when our demo goes live!",
33+
"tag": "div",
34+
"theme": "caption",
35+
"disabled": true
3036
}
3137
]
3238
},
@@ -178,7 +184,34 @@
178184
}
179185
},
180186
{
181-
"id": "section-intro"
187+
"id": "section-intro",
188+
"grid": ["noGutter"],
189+
"col_1": {
190+
"type": "text_block",
191+
"cols": {
192+
"num": "col-5"
193+
},
194+
"h": 1,
195+
"label": "WHY SINGULARITY?",
196+
"heading": "Efficient, secure, and flexible data onboarding.",
197+
"description": "Basic data management isn’t enough. With your needs in mind Singularity is committed to improving the experience of data on-boarding.",
198+
"ctas": [
199+
{
200+
"theme": "big-number",
201+
"tag": "div",
202+
"disabled": true,
203+
"text": "184+",
204+
"caption": "Clients served"
205+
},
206+
{
207+
"theme": "big-number",
208+
"tag": "div",
209+
"disabled": true,
210+
"text": "278.7 PB",
211+
"caption": "PiB Data Stored"
212+
}
213+
]
214+
}
182215
},
183216
{
184217
"id": "section-features"

modules/zero-components/button/components/button.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
:href="tag === 'a' ? to : undefined"
66
:disabled="disabled || loading"
77
:target="target"
8-
:class="['button', { selected }]"
8+
:class="['button', { selected }, { disabled }]"
99
@click="clickHandler($event)">
1010

1111
<slot :loading="loading" />

pages/index.vue

+20-5
Original file line numberDiff line numberDiff line change
@@ -60,22 +60,32 @@ const sections = computed(() => {
6060
// //////////////////////////////////////////////////////////////////// Sections
6161
:deep(#hero-header) {
6262
position: relative;
63+
padding-top: 4.0625rem;
6364
padding-bottom: toRem(100);
6465
&:before {
6566
content: '';
6667
position: absolute;
6768
top: 0;
6869
left: 0;
6970
width: 100%;
70-
height: calc(100% + toRem(840));
71+
height: calc(100% + toRem(936));
7172
background-image: url('/images/ring-of-circular-cross-sections.png');
72-
background-size: 2200px;
73+
background-size: 2140px;
7374
background-position: center bottom;
7475
background-repeat: no-repeat;
7576
}
76-
.text-block {
77-
.description {
78-
padding-right: toRem(50);
77+
div[data-block-id="col_1"] {
78+
.text-block {
79+
.description {
80+
padding-right: toRem(50);
81+
margin-bottom: toRem(43);
82+
}
83+
.theme__caption {
84+
margin-top: 1rem;
85+
.button-content {
86+
@include disclaimerText;
87+
}
88+
}
7989
}
8090
}
8191
.code-block,
@@ -110,5 +120,10 @@ const sections = computed(() => {
110120
background-position: center bottom;
111121
background-repeat: no-repeat;
112122
}
123+
.text-block {
124+
.button-row {
125+
display: flex;
126+
}
127+
}
113128
}
114129
</style>

public/images/ring-of-circular-cross-sections.png

100644100755
18.3 KB
Loading
Loading
Loading

public/images/warped-torus-made-of-segments.png

100644100755
-221 KB
Loading

0 commit comments

Comments
 (0)