Skip to content

Commit d9930e4

Browse files
committed
feat: signup form initial setup
1 parent 35fec55 commit d9930e4

File tree

4 files changed

+118
-13
lines changed

4 files changed

+118
-13
lines changed

components/signup-card.vue

+94-7
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44
:style="cardStyles">
55
<div class="content">
66

7-
<img v-if="type !== 'vertical' && image" :src="image" class="image" />
7+
<div class="text">
88

9-
<div v-if="type !== 'logo'" class="text">
10-
11-
<PieChartIcon />
9+
<IconPieChartIcon />
1210

1311
<div v-if="title" class="title">
1412
{{ title }}
@@ -20,14 +18,81 @@
2018

2119
</div>
2220

21+
<div class="signup-form">
22+
23+
<div class="name-fields">
24+
<input
25+
class="first-name form-field"
26+
type="text"
27+
:placeholder="firstName.placeholder"
28+
required="true" />
29+
<input
30+
class="last-name form-field"
31+
type="text"
32+
:placeholder="lastName.placeholder"
33+
required="true" />
34+
</div>
35+
36+
<input
37+
class="email form-field"
38+
type="email"
39+
:placeholder="email.placeholder"
40+
required="true" />
41+
42+
<input
43+
class="org form-field"
44+
:placeholder="org.placeholder"
45+
type="text"
46+
required="true" />
47+
48+
<ZeroDropdown class="country form-field" :display-selected="true">
49+
<template #toggle-button="{ togglePanel }">
50+
<div class="toggle-button" @click="togglePanel">
51+
<p class="toggle-button-label">
52+
Country
53+
</p>
54+
</div>
55+
</template>
56+
<template #dropdown-panel>
57+
<div class="dropdown-panel">
58+
<div
59+
v-for="option in country.options"
60+
:key="option.code"
61+
class="country-option">
62+
<p class="country-label" v-html="option.label" />
63+
</div>
64+
</div>
65+
</template>
66+
</ZeroDropdown>
67+
68+
<ZeroDropdown class="familiarity" :display-selected="true">
69+
<template #toggle-button="{ togglePanel }">
70+
<h3 class="dropdown-label" v-html="familiarity.label" />
71+
<div class="toggle-button form-field" @click="togglePanel">
72+
<p class="toggle-button-label">
73+
Select an option
74+
</p>
75+
</div>
76+
</template>
77+
<template #dropdown-panel>
78+
<div class="dropdown-panel">
79+
<div
80+
v-for="(option, index) in familiarity.options"
81+
:key="index"
82+
class="country-option">
83+
<p class="country-label" v-html="option" />
84+
</div>
85+
</div>
86+
</template>
87+
</ZeroDropdown>
88+
89+
</div>
90+
2391
</div>
2492
</div>
2593
</template>
2694

2795
<script setup>
28-
// ===================================================================== Imports
29-
const PieChartIcon = resolveComponent('icon/pie-chart-icon')
30-
3196
// ======================================================================= Props
3297
const props = defineProps({
3398
signupCard: {
@@ -49,6 +114,18 @@ const cardStyles = computed(() => {
49114
return null
50115
})
51116
117+
const firstName = computed(() => { return props.signupCard.signup_form.first_name })
118+
119+
const lastName = computed(() => { return props.signupCard.signup_form.last_name })
120+
121+
const email = computed(() => { return props.signupCard.signup_form.email })
122+
123+
const org = computed(() => { return props.signupCard.signup_form.org })
124+
125+
const country = computed(() => { return props.signupCard.signup_form.country })
126+
127+
const familiarity = computed(() => { return props.signupCard.signup_form.filecoin_familiarity })
128+
52129
53130
</script>
54131

@@ -78,4 +155,14 @@ const cardStyles = computed(() => {
78155
margin-bottom: toRem(22);
79156
}
80157
}
158+
159+
// //////////////////////////////////////////////////////////////////////// Form
160+
.form-field {
161+
border: var(--brand-color) 1px solid;
162+
border-radius: toRem(5);
163+
&:is(:not(.first-name, .last-name, :last-child)) {
164+
margin-bottom: toRem(24);
165+
}
166+
}
167+
81168
</style>

content/core/index.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"ctas": [
2525
{
2626
"text": "Sign up",
27-
"to": "/",
27+
"to": "/signup",
2828
"tag": "nuxt-link",
2929
"theme": "primary"
3030
},
@@ -174,7 +174,7 @@
174174
"text": "View all 30+ compatible storage services",
175175
"tag": "a",
176176
"to": "https://example.com",
177-
"theme": "secondary"
177+
"theme": "secondary"
178178
}
179179
]
180180
}

content/core/signup.json

+22-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,28 @@
1414
"signup_card": {
1515
"title": "Register for Singularity app preview",
1616
"description": "With Singularity, we aim to revolutionize your data management experience with our comprehensive tool, adept at handling PiB scale data effortlessly. We're crafting an intuitive drag-and-drop interface. Stay updated and be among the first to know when the Singularity app launches in the upcoming months. Meanwhile, explore more on our website.",
17-
"borderGradientAngle": "315deg"
17+
"borderGradientAngle": "315deg",
18+
"signup_form": {
19+
"first_name": {
20+
"placeholder": "First name"
21+
},
22+
"last_name": {
23+
"placeholder": "Last name"
24+
},
25+
"email": {
26+
"placeholder": "Email"
27+
},
28+
"org": {
29+
"placeholder": "Organization"
30+
},
31+
"country": {
32+
"options": [{"label":"Afghanistan","code":"AF"},{"label":"Albania","code":"AL"},{"label":"Algeria","code":"DZ"},{"label":"American Samoa","code":"AS"},{"label":"Andorra","code":"AD"},{"label":"Angola","code":"AO"},{"label":"Anguilla","code":"AI"},{"label":"Antarctica","code":"AQ"},{"label":"Antigua and Barbuda","code":"AG"},{"label":"Argentina","code":"AR"},{"label":"Armenia","code":"AM"},{"label":"Aruba","code":"AW"},{"label":"Australia","code":"AU"},{"label":"Austria","code":"AT"},{"label":"Azerbaijan","code":"AZ"},{"label":"Bahamas","code":"BS"},{"label":"Bahrain","code":"BH"},{"label":"Bangladesh","code":"BD"},{"label":"Barbados","code":"BB"},{"label":"Belarus","code":"BY"},{"label":"Belgium","code":"BE"},{"label":"Belize","code":"BZ"},{"label":"Benin","code":"BJ"},{"label":"Bermuda","code":"BM"},{"label":"Bhutan","code":"BT"},{"label":"Bolivia","code":"BO"},{"label":"Bonaire","code":"BQ"},{"label":"Bosnia and Herzegovina","code":"BA"},{"label":"Botswana","code":"BW"},{"label":"Bouvet Island","code":"BV"},{"label":"Brazil","code":"BR"},{"label":"British Indian Ocean Territory","code":"IO"},{"label":"British Virgin Islands","code":"VG"},{"label":"Brunei","code":"BN"},{"label":"Bulgaria","code":"BG"},{"label":"Burkina Faso","code":"BF"},{"label":"Burundi","code":"BI"},{"label":"Cambodia","code":"KH"},{"label":"Cameroon","code":"CM"},{"label":"Canada","code":"CA"},{"label":"Cape Verde","code":"CV"},{"label":"Cayman Islands","code":"KY"},{"label":"Central African Republic","code":"CF"},{"label":"Chad","code":"TD"},{"label":"Chile","code":"CL"},{"label":"China","code":"CN"},{"label":"Christmas Island","code":"CX"},{"label":"Cocos Islands","code":"CC"},{"label":"Colombia","code":"CO"},{"label":"Comoros","code":"KM"},{"label":"Congo DRC","code":"CG"},{"label":"Congo Republic","code":"CD"},{"label":"Cook Islands","code":"CK"},{"label":"Coral Sea Islands Territory","code":"AU"},{"label":"Costa Rica","code":"CR"},{"label":"Croatia","code":"HR"},{"label":"Cuba","code":"CU"},{"label":"Curaçao","code":"CW"},{"label":"Cyprus","code":"CY"},{"label":"Czech Republic","code":"CZ"},{"label":"Denmark","code":"DK"},{"label":"Djibouti","code":"DJ"},{"label":"Dominica","code":"DM"},{"label":"Dominican Republic","code":"DO"},{"label":"Timor-Leste","code":"TL"},{"label":"Ecuador","code":"EC"},{"label":"Egypt","code":"EG"},{"label":"El Salvador","code":"SV"},{"label":"Equatorial Guinea","code":"GQ"},{"label":"Eritrea","code":"ER"},{"label":"Estonia","code":"EE"},{"label":"Eswatini","code":"SZ"},{"label":"Ethiopia","code":"ET"},{"label":"Falkland Islands","code":"FK"},{"label":"Faroe Islands","code":"FO"},{"label":"Fiji Islands","code":"FJ"},{"label":"Finland","code":"FI"},{"label":"France","code":"FR"},{"label":"French Guiana","code":"GF"},{"label":"French Polynesia","code":"PF"},{"label":"French Southern Lands","code":"TF"},{"label":"Gabon","code":"GA"},{"label":"Gambia","code":"GM"},{"label":"Georgia","code":"GE"},{"label":"Germany","code":"DE"},{"label":"Ghana","code":"GH"},{"label":"Gibraltar","code":"GI"},{"label":"Greece","code":"GR"},{"label":"Greenland","code":"GL"},{"label":"Grenada","code":"GD"},{"label":"Guadeloupe","code":"GP"},{"label":"Guam","code":"GU"},{"label":"Guatemala","code":"GT"},{"label":"Guernsey","code":"GG"},{"label":"Guinea","code":"GN"},{"label":"Guinea-Bissau","code":"GW"},{"label":"Guyana","code":"GY"},{"label":"Haiti","code":"HT"},{"label":"Heard and McDonald Islands","code":"HM"},{"label":"Honduras","code":"HN"},{"label":"Hong Kong","code":"HK"},{"label":"Hungary","code":"HU"},{"label":"Iceland","code":"IS"},{"label":"India","code":"IN"},{"label":"Indonesia","code":"ID"},{"label":"Iran","code":"IR"},{"label":"Iraq","code":"IQ"},{"label":"Ireland","code":"IE"},{"label":"Isle of Man","code":"IM"},{"label":"Israel","code":"IL"},{"label":"Italy","code":"IT"},{"label":"Ivory Coast","code":"CI"},{"label":"Jamaica","code":"JM"},{"label":"Jan Mayen","code":"SJ"},{"label":"Japan","code":"JP"},{"label":"Jersey","code":"JE"},{"label":"Jordan","code":"JO"},{"label":"Kazakhstan","code":"KZ"},{"label":"Kenya","code":"KE"},{"label":"Kiribati","code":"KI"},{"label":"Kosovo","code":"XK"},{"label":"Kuwait","code":"KW"},{"label":"Kyrgyzstan","code":"KG"},{"label":"Laos","code":"LA"},{"label":"Latvia","code":"LV"},{"label":"Lebanon","code":"LB"},{"label":"Lesotho","code":"LS"},{"label":"Liberia","code":"LR"},{"label":"Libya","code":"LY"},{"label":"Liechtenstein","code":"LI"},{"label":"Lithuania","code":"LT"},{"label":"Luxembourg","code":"LU"},{"label":"Macau","code":"MO"},{"label":"Madagascar","code":"MG"},{"label":"Malawi","code":"MW"},{"label":"Malaysia","code":"MY"},{"label":"Maldives","code":"MV"},{"label":"Mali","code":"ML"},{"label":"Malta","code":"MT"},{"label":"Marshall Islands","code":"MH"},{"label":"Martinique","code":"MQ"},{"label":"Mauritania","code":"MR"},{"label":"Mauritius","code":"MU"},{"label":"Mayotte","code":"YT"},{"label":"Mexico","code":"MX"},{"label":"Micronesia","code":"FM"},{"label":"Moldova","code":"MD"},{"label":"Monaco","code":"MC"},{"label":"Mongolia","code":"MN"},{"label":"Montenegro","code":"ME"},{"label":"Montserrat","code":"MS"},{"label":"Morocco","code":"MA"},{"label":"Mozambique","code":"MZ"},{"label":"Myanmar","code":"MM"},{"label":"Namibia","code":"NA"},{"label":"Nauru","code":"NR"},{"label":"Navassa","code":"UM"},{"label":"Nepal","code":"NP"},{"label":"Netherlands","code":"NL"},{"label":"New Caledonia","code":"NC"},{"label":"New Zealand","code":"NZ"},{"label":"Nicaragua","code":"NI"},{"label":"Niger","code":"NE"},{"label":"Nigeria","code":"NG"},{"label":"Niue","code":"NU"},{"label":"Norfolk Island","code":"NF"},{"label":"North Korea","code":"KP"},{"label":"North Macedonia","code":"MK"},{"label":"Northern Marianas","code":"MP"},{"label":"Norway","code":"NO"},{"label":"Oman","code":"OM"},{"label":"Pakistan","code":"PK"},{"label":"Palau","code":"PW"},{"label":"Palestinian Authority","code":"PS"},{"label":"Panama","code":"PA"},{"label":"Papua New Guinea","code":"PG"},{"label":"Paraguay","code":"PY"},{"label":"Peru","code":"PE"},{"label":"Philippines","code":"PH"},{"label":"Pitcairn Island","code":"PN"},{"label":"Poland","code":"PL"},{"label":"Portugal","code":"PT"},{"label":"Puerto Rico","code":"PR"},{"label":"Qatar","code":"QA"},{"label":"Reunion","code":"RE"},{"label":"Romania","code":"RO"},{"label":"Russia","code":"RU"},{"label":"Rwanda","code":"RW"},{"label":"Saba","code":"BQ"},{"label":"Saint Barthelemy","code":"BL"},{"label":"Saint Helena, Ascension, Tristan da Cunha","code":"SH"},{"label":"Saint Kitts and Nevis","code":"KN"},{"label":"Saint Lucia","code":"LC"},{"label":"Saint Martin","code":"MF"},{"label":"Saint Pierre and Miquelon","code":"PM"},{"label":"Saint Vincent and the Grenadines","code":"VC"},{"label":"Samoa","code":"WS"},{"label":"San Marino","code":"SM"},{"label":"Sao Tome and Principe","code":"ST"},{"label":"Saudi Arabia","code":"SA"},{"label":"Senegal","code":"SN"},{"label":"Serbia","code":"CS"},{"label":"Seychelles","code":"SC"},{"label":"Sierra Leone","code":"SL"},{"label":"Singapore","code":"SG"},{"label":"Sint Eustatius","code":"BQ"},{"label":"Sint Maarten","code":"SX"},{"label":"Slovakia","code":"SK"},{"label":"Slovenia","code":"SI"},{"label":"Solomon Islands","code":"SB"},{"label":"Somalia","code":"SO"},{"label":"South Africa","code":"ZA"},{"label":"South Georgia","code":"GS"},{"label":"South Korea","code":"KR"},{"label":"South Sudan","code":"SS"},{"label":"Spain","code":"ES"},{"label":"Sri Lanka","code":"LK"},{"label":"Sudan","code":"SD"},{"label":"Suriname","code":"SR"},{"label":"Svalbard","code":"SJ"},{"label":"Sweden","code":"SE"},{"label":"Switzerland","code":"CH"},{"label":"Syria","code":"SY"},{"label":"Taiwan","code":"TW"},{"label":"Tajikistan","code":"TJ"},{"label":"Tanzania","code":"TZ"},{"label":"Thailand","code":"TH"},{"label":"Togo","code":"TG"},{"label":"Tokelau","code":"TK"},{"label":"Tonga","code":"TO"},{"label":"Trinidad and Tobago","code":"TT"},{"label":"Tunisia","code":"TN"},{"label":"Turkey","code":"TR"},{"label":"Turkmenistan","code":"TM"},{"label":"Turks and Caicos Islands","code":"TC"},{"label":"Tuvalu","code":"TV"},{"label":"U.S. Minor Pacific Islands","code":"UM"},{"label":"U.S. Virgin Islands","code":"VI"},{"label":"Uganda","code":"UG"},{"label":"Ukraine","code":"UA"},{"label":"United Arab Emirates","code":"AE"},{"label":"United Kingdom","code":"GB"},{"label":"United States","code":"US"},{"label":"Uruguay","code":"UY"},{"label":"Uzbekistan","code":"UZ"},{"label":"Vanuatu","code":"VU"},{"label":"Vatican City","code":"VA"},{"label":"Venezuela","code":"VE"},{"label":"Vietnam","code":"VN"},{"label":"Wallis and Futuna","code":"WF"},{"label":"Western Sahara","code":"EH"},{"label":"Yemen","code":"YE"},{"label":"Zambia","code":"ZM"},{"label":"Zimbabwe","code":"ZW"}]
33+
},
34+
"filecoin_familiarity": {
35+
"label": "How familiar are you with Filecoin?",
36+
"options": ["New to Filecoin", "Some experience with Filecoin", "A lot of experience with Filecoin"]
37+
}
38+
}
1839
}
1940
}
2041
]

pages/signup.vue

-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ const content = computed(() => {
2525
return signup.page_content[0]
2626
})
2727
28-
// eslint-disable-next-line no-console
29-
console.log('content ', content)
30-
3128
</script>
3229

3330
<style lang="scss" scoped>

0 commit comments

Comments
 (0)