Compare commits

..

No commits in common. "b396f6097ac600d984cf8dfce9e37febf32a83b9" and "8cfd01b95df43c7e818aefc6c7691f175e002c3c" have entirely different histories.

29 changed files with 171 additions and 339 deletions

View File

@ -15,16 +15,9 @@
{ name: 'theme-color', content: '#ffffff' } { name: 'theme-color', content: '#ffffff' }
], ],
script: [ script: [
{ defer: 'true', 'data-domain': 'crbtc.org', src: 'https://pa.inspin.io/js/latest.js' } { defer: 'true', 'data-domain': 'crbtc.org', src: 'https://pa.inspin.co/js/latest.js' }
] ]
}) })
const nuxtApp = useNuxtApp()
nuxtApp.hook("page:finish", () => {
window.scrollTo(0, 0)
})
</script> </script>
<template> <template>

View File

@ -5,14 +5,14 @@ $p-font: 'Titillium Web', sans-serif;
// Primary Colors // Primary Colors
$b-color: #000000; // background $b-color: #000000; // background
$s-color: #f7931a; // secondary $s-color: #f7931a; // secondary
$t-color: #242424; // ternary
$w-color: #ffffff; // white $w-color: #ffffff; // white
$bl-color: #000000; // black $bl-color: #000000; // black
$e-color: #d30012; // error $error: #d30012; // error
$p-color: #666666; // past $hr: #d30012; // hr
$sh-color: #0D0801; // secondary hover $btn-color: #faf1e5; // button
$btnh-color: #f5ece0; // button hover
$link: #308fe7; // link $link: #308fe7; // link
$i-color: #494949; // input $i-color: #494949; // input

View File

@ -1,155 +1,75 @@
.footer { .footer {
padding: 2rem 0 0 0; max-width: 60rem;
height: 2rem;
margin: .5rem auto;
padding: 0 4rem;
.top { .who {
display: grid; float: left;
grid-template-columns: repeat(3, 1.25fr) 2fr ; color: $f-color;
max-width: 60rem; font-size: .895rem;
padding: 2rem 4rem;
margin: 0 auto;
ul { a {
list-style-type: none; color: $link;
white-space:nowrap; margin: 0 2px;
padding: 0;
margin: 0;
li { &:hover { text-decoration: underline }
font-size: .895rem; }
margin: .25rem 0;
}
li h5 { font-size: 1rem } .icon-btc-b {
li h6 { position: relative;
font-size: .895rem; top: .25rem;
font-weight: 400; font-size: 1.1rem;
}
a {
color: $link;
&:hover { text-decoration: underline }
}
.btn a {
display: inline-block;
color: $s-color;
background: $b-color;
font-weight: 600;
border: .1rem solid $s-color;
padding: .15rem 2rem .25rem 1.55rem;
margin: .25rem 0;
.icon-btc-b {
position: relative;
top: .15rem;
font-size: 1.15rem;
}
&:hover {
text-decoration: none;
background: $sh-color;
}
}
} }
} }
hr { .links {
height: 1px; float: right;
border: none; list-style-type: none;
color: $t-color; white-space:nowrap;
background-color: $t-color; padding: 0;
margin: 0; margin: 0;
}
.bottom { li, li p {
background: $b-color; display:inline;
font-size: .895rem;
}
.center { a {
height: 5.5rem; color: $link;
max-width: 60rem; margin: 0 .5rem;
padding: 2rem 4rem;
margin: 0 auto;
.who { &:hover { text-decoration: underline }
float: left; }
color: $f-color;
font-size: .895rem;
a { p {
color: $link; color: $f-color;
margin: 0 2px; margin: 0 0 0 .5rem;
}
&:hover { text-decoration: underline } .copy .icon-copyright {
} font-size: .7rem;
opacity: .9;
.icon-btc-b {
position: relative;
top: .25rem;
font-size: 1.1rem;
}
}
ul {
float: right;
list-style-type: none;
white-space:nowrap;
padding: 0;
margin: 0;
li, li p {
display:inline;
font-size: .895rem;
}
a {
color: $link;
margin: 0 .5rem;
&:hover { text-decoration: underline }
}
p {
color: $f-color;
margin: 0 0 0 .5rem;
}
.copy .icon-copyright {
font-size: .7rem;
opacity: .9;
}
}
} }
} }
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
.footer { .footer {
height: unset; height: unset;
padding: 0; padding: 0 2rem;
margin: 1rem 0;
.top { .who,
grid-template-columns: 1fr 1fr; .links {
padding: 2rem 2rem 0 2rem; float: none;
ul {
margin: 2rem 1rem;
}
} }
.bottom { .links {
.center { padding: .5rem 0;
height: 5.5rem;
padding: .5rem 2.5rem;
margin: 0;
.who { a:first-of-type {
float: none; margin: 0 1rem 0 0;
padding: .5rem;
}
ul {
float: none;
}
} }
} }
} }

View File

@ -25,7 +25,6 @@ header {
img { img {
max-width: 6.5rem; max-width: 6.5rem;
background: $b-color;
} }
} }
} }
@ -63,21 +62,14 @@ header {
} }
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
header { header {
grid-template-columns: 5.5rem calc(100% - 5.5rem); grid-template-columns: 5.5rem calc(100% - 5.5rem);
padding: 2.5rem 2rem 1rem 2rem; padding: 2.5rem 2rem 1rem 2rem;
.logo { .logo h1 {
height: 5.25rem; font-size: 1rem;
line-height: 1rem;
a {
height: 5.25rem;
img {
max-width: 5.5rem;
}
}
} }
.nav { .nav {

View File

@ -3,19 +3,17 @@
body { body {
background: $b-color; background: $b-color;
background-image: linear-gradient(0deg, transparent 24%, rgba(255, 255, 255, .075) 25%, rgba(255, 255, 255, .075) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, .075) 75%, rgba(255, 255, 255, .075) 76%, transparent 77%, transparent), linear-gradient(90deg, transparent 24%, rgba(255, 255, 255, .075) 25%, rgba(255, 255, 255, .075) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, .075) 75%, rgba(255, 255, 255, .075) 76%, transparent 77%, transparent);
background-size: 4.5rem 4.5rem;
margin: 0; margin: 0;
} }
main { main {
max-width: 60rem; max-width: 60rem;
min-height: calc(100vh - 464px); min-height: calc(100vh - 224px);
margin: 0 auto; margin: 0 auto;
padding: 0 4rem; padding: 0 4rem;
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
main { padding: 2rem 1.5rem } main { padding: 2rem 1.5rem }
} }

View File

@ -1,13 +1,5 @@
.login,
.register { .register {
padding: 4rem 0 0 0;
text-align: center;
p {
margin: 1rem 0;
}
}
.login {
max-width: 24rem; max-width: 24rem;
padding: 2rem; padding: 2rem;
margin: 0 auto; margin: 0 auto;
@ -61,7 +53,7 @@
} }
span { span {
color: $e-color; color: $error;
font-family: $p-font; font-family: $p-font;
font-size: .75rem; font-size: .75rem;
} }
@ -75,7 +67,7 @@
&:hover { &:hover {
cursor: pointer; cursor: pointer;
background: $sh-color; background: rgba($s-color, .05);
} }
} }
} }

View File

@ -5,11 +5,6 @@
h3 { font-size: 2.5rem } h3 { font-size: 2.5rem }
h4 { h4 {
font-size: 1.05rem;
padding: .5rem 0;
}
p {
font-size: .9rem; font-size: .9rem;
font-weight: 500; font-weight: 500;
} }

View File

@ -52,7 +52,7 @@
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
.about, .about,
.workshop, .workshop,
.privacy, .privacy,

View File

@ -1,46 +1,29 @@
.banner { .banner {
display: grid; display: grid;
grid-template-columns: 1fr 2fr; grid-template-columns: 2.5fr 1fr 1fr;
max-width: 60rem; max-width: 60rem;
background: $t-color; margin: 0 auto;
padding: 2rem 2rem 2.25rem 2rem; padding: 2rem 0 8rem 0;
margin: 2rem auto 4rem auto;
h4 { h4 {
margin: 0 0 1.5rem 0; margin: 1.5rem 0;
} }
h6 { h6 {
color: $f-color; color: $f-color;
font-size: 1.1rem; font-size: 1rem;
font-weight: 400; font-weight: 500;
line-height: 1.65rem; line-height: 1.4rem;
padding: .5rem 4rem 0 0;
} }
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
.banner { .banner {
display: block; display: block;
padding: 1.5rem 1.5rem 2rem 1.5rem; padding: 3rem 1rem 8rem 1rem;
margin: 4rem .5rem 2rem .5rem;
h4 {
margin: 0 0 .5rem 0;
}
h6 {
padding: .5rem 4rem .5rem 0;
}
.msg .donate { .msg .donate {
overflow-wrap: break-word; overflow-wrap: break-word;
} }
} }
} }
@media only screen and (max-width: 600px) {
.banner h6 {
padding: .5rem 0;
}
}

View File

@ -12,7 +12,6 @@
grid-template-columns: 3fr 2fr; grid-template-columns: 3fr 2fr;
grid-template-rows: 1fr .7fr .6fr; grid-template-rows: 1fr .7fr .6fr;
grid-column: 2; grid-column: 2;
background: $b-color;
padding: 1rem 2rem; padding: 1rem 2rem;
margin: 1rem 0 0 0; margin: 1rem 0 0 0;
border: .15rem solid $w-color; border: .15rem solid $w-color;
@ -70,15 +69,11 @@
} }
.past { .past {
border-color: #666666; opacity: .4;
div {
opacity: .4;
}
} }
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
.events { .events {
grid-template-columns: 1fr; grid-template-columns: 1fr;
padding: 4rem 1rem; padding: 4rem 1rem;

View File

@ -11,7 +11,6 @@
.guide { .guide {
display: inline-block; display: inline-block;
background: $b-color;
border: .15rem solid $w-color; border: .15rem solid $w-color;
padding: 0; padding: 0;
@ -32,7 +31,7 @@
} }
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
.guides { .guides {
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
grid-gap: 1rem; grid-gap: 1rem;

View File

@ -1,5 +1,5 @@
.hero { .hero {
padding: calc(50vh - 240px) 0 10vh 0; padding: calc(50vh - 260px) 0 12vh 0;
h3 { h3 {
color: $f-color; color: $f-color;
@ -24,7 +24,7 @@
} }
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
.hero { .hero {
padding: 18vh 0; padding: 18vh 0;

View File

@ -15,7 +15,7 @@
} }
@media only screen and (max-width: 768px) { @media only screen and (max-width: 600px) {
.sponsors { .sponsors {
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
padding: 4rem 0 2rem 0; padding: 4rem 0 2rem 0;

View File

@ -1,45 +1,12 @@
<script setup>
const route = useRoute()
</script>
<template> <template>
<div class="footer" v-if="route.path === '/login' || route.path === '/register' ? false : true"> <div class="footer">
<div class="top"> <div class="who">
<ul class="info"> <p>Made with <span class="icon-btc-b"></span> by <NuxtLink to="https://ryanmoon.com" target="_blank">Ryan Moon</NuxtLink></p>
<li><h5>Resources</h5></li>
<li><NuxtLink to="/about">About Us</NuxtLink></li>
<li><NuxtLink to="/guide/what-is-bitcoin">What is Bitcoin</NuxtLink></li>
<li><NuxtLink to="/guide/how-to-get-started">Getting Started</NuxtLink></li>
</ul>
<ul class="community">
<li><h5>Community</h5></li>
<li><NuxtLink to="/#events">Events</NuxtLink></li>
<li><NuxtLink to="/workshop">Workshops</NuxtLink></li>
<li><NuxtLink to="/forms">Suggestions</NuxtLink></li>
</ul>
<ul class="social">
<li><h5>Follow us</h5></li>
<li><NuxtLink to="https://twitter.com/UpstateNYBTC" target="_BLANK">Twitter</NuxtLink></li>
<li><NuxtLink to="https://www.meetup.com/capitalregionbitcoinnetwork" target="_BLANK">Meetup</NuxtLink></li>
<li><NuxtLink to="https://discord.gg/jnrh6rPQ4b" target="_BLANK">Discord</NuxtLink></li>
</ul>
<ul class="donate">
<li><h5>Support us</h5></li>
<li class="btn" ><NuxtLink to="https://btcpay0.voltageapp.io/apps/2hjkatjQgn5LUU2bkHZxQmq8uR1y/crowdfund" target="_BLANK"><span class="icon-btc-b"></span> Donate</NuxtLink></li>
</ul>
</div>
<hr/>
<div class="bottom">
<div class="center">
<div class="who">
<p>Made with <span class="icon-btc-b"></span> by <NuxtLink to="https://ryanmoon.com" target="_blank">Ryan Moon</NuxtLink></p>
</div>
<ul>
<li><NuxtLink to="/privacy">Privacy Policy</NuxtLink></li>
<li><NuxtLink to="/terms">Terms of Service</NuxtLink></li>
<li><NuxtLink to="https://git.inspin.io/ryan/crbtc.org" target="_blank">Source Code</NuxtLink></li>
</ul>
</div>
</div> </div>
<ul class="links">
<li><NuxtLink to="/privacy">Privacy Policy</NuxtLink></li>
<li><NuxtLink to="/terms">Terms of Service</NuxtLink></li>
<li><NuxtLink to="https://git.inspin.co/ryan/crbtc.org" target="_blank">Source Code</NuxtLink></li>
</ul>
</div> </div>
</template> </template>

View File

@ -1,8 +1,13 @@
<template> <template>
<div class="banner"> <div class="banner">
<h4>Get Involved</h4>
<div class="msg"> <div class="msg">
<h6>Come learn and talk about Bitcoin. Meet new people, ask questions, suggest topics, or just hang out.</h6> <h4>Get Involved</h4>
<h6>Come learn and talk about Bitcoin. Meet new people, ask questions, suggest topics, or just come and hang out.</h6>
<br/>
<h6 class="donate">Bitcoin (<a href="/img/btc.png" target="_BLANK">QR</a>): bc1qtw78x248kzq547w0zkm790u0yhgjkerxahpm9e</h6>
</div>
<div class="social">
</div> </div>
</div> </div>
</template> </template>

View File

@ -4,7 +4,7 @@
<NuxtLink to="https://bitcoinmagazine.com/" target="_BLANK"> <NuxtLink to="https://bitcoinmagazine.com/" target="_BLANK">
<img src="/img/sponsors/b.tc.svg" alt="Bitcoin Magazine" /> <img src="/img/sponsors/b.tc.svg" alt="Bitcoin Magazine" />
</NuxtLink> </NuxtLink>
<NuxtLink to="https://inspin.io/" target="_BLANK"> <NuxtLink to="https://inspin.co/" target="_BLANK">
<img src="/img/sponsors/inspin.svg" alt="Inspin Digital" /> <img src="/img/sponsors/inspin.svg" alt="Inspin Digital" />
</NuxtLink> </NuxtLink>
<!-- <!--

View File

@ -14,6 +14,3 @@ about Bitcoin news and common questions surrounding the currency.
Follow us on <a href="https://twitter.com/UpstateNYBTC" target="_BLANK">Twitter</a> and view Follow us on <a href="https://twitter.com/UpstateNYBTC" target="_BLANK">Twitter</a> and view
the schedule of <a href="/#events">upcoming events</a> to see if you can make it to the next one. the schedule of <a href="/#events">upcoming events</a> to see if you can make it to the next one.
You can also visit <a href="https://crbtc/" target="_BLANK">crbtc/</a> to use this website with
<a href="https://handshake.org" target="_BLANK">Handshake</a>.

View File

@ -3,8 +3,8 @@ title: Monthly Meetup W/ Jason Maier
slug: monthly-meetup-10-18-2023 slug: monthly-meetup-10-18-2023
date: 2023-10-18 date: 2023-10-18
published: 2023-08-28 published: 2023-08-28
location: Mocha Lisa's Caffe location: Druther's Brewing Company
address: 22 Clifton Country Road, Clifton Park address: 7 Southside Drive, Clifton Park
time: 6:00 PM time: 6:00 PM
meetup: 295742661 meetup: 295742661
priority: 3 priority: 3
@ -14,7 +14,7 @@ priority: 3
For our October meetup we are excited to welcome Jason Maier! Jason is the author of “A Progressives Case for Bitcoin”, a wonderful speaker, wealth of knowledge, and overall amazing person. Jason will speak about his book, we will do a Q&A, and then our usual social meetup! For our October meetup we are excited to welcome Jason Maier! Jason is the author of “A Progressives Case for Bitcoin”, a wonderful speaker, wealth of knowledge, and overall amazing person. Jason will speak about his book, we will do a Q&A, and then our usual social meetup!
Looking forward to seeing everyone at the meetup! We will be holding this event at Mocha Lisas in Clifton Park. They have graciously agreed to have us after hours so we will have the venue entirely to our group! Looking forward to seeing everyone at the September meetup! Please keep an eye out for announcements as the venue for this event may change due to attendance, but will still be held in Clifton Park.
Our monthly Bitcoin meetup! This is a Bitcoin only event. Whether you are interested in learning about Bitcoin, or are a seasoned pleb, come and hang out! We will have learning materials for those who are just starting out. Our monthly Bitcoin meetup! This is a Bitcoin only event. Whether you are interested in learning about Bitcoin, or are a seasoned pleb, come and hang out! We will have learning materials for those who are just starting out.

View File

@ -1,21 +0,0 @@
---
title: Monthly Meetup
slug: monthly-meetup-11-29-2023
date: 2023-11-29
published: 2023-11-24
location: Frog Alley Brewing Co
address: 108 State St, Schenectady
time: 6:00 PM
meetup: 297525682
priority: 1
---
## Details
Okay guys finally getting our November event on the books! The holiday threw things off a little bit.
Looking forward to seeing everyone at the November meetup! We willl be at Frog Alley in Schenectady this month.
Our monthly Bitcoin meetup! This is a Bitcoin only event. Whether you are interested in learning about Bitcoin, or are a seasoned pleb, come and hang out! We will have learning materials for those who are just starting out.
This has grown into a great event about meeting new plebs, socializing, and talking all things bitcoin. Hope you all can make it! Feel free to bring a friend or two to orange pill :-). Appetizers and first hour of drinks will be provided.

View File

@ -7,7 +7,7 @@ location: Druther's Brewing Company
address: 221 Harborside Drive, Schenectady address: 221 Harborside Drive, Schenectady
time: 6:00 PM time: 6:00 PM
meetup: 294822271 meetup: 294822271
priority: 9999 index: 9999
--- ---
## Details ## Details

View File

@ -7,7 +7,7 @@ location: Druther's Brewing Company
address: 7 Southside Drive, Clifton Park address: 7 Southside Drive, Clifton Park
time: 6:00 PM time: 6:00 PM
meetup: 295741531 meetup: 295741531
priority: 9999 priority: 2
--- ---
## Details ## Details

View File

@ -7,7 +7,7 @@ location: Ballston Lake, NY
address: Ballston Lake, NY address: Ballston Lake, NY
time: 6:00 PM time: 6:00 PM
meetup: 295741625 meetup: 295741625
priority: 9999 priority: 1
--- ---
## Details ## Details

View File

@ -1,33 +0,0 @@
---
title: New England Bitcoin Meetup
slug: regional-meetup-10-29-2023
date: 2023-10-29
published: 2023-10-21
location: Sports World
address: 226 Main Street · East Windsor, CT
time: 12:00 PM
meetup: 296853356
priority: 2
---
## Details
The Capital Region Bitcoin Network is excited to share the details of New Englands 1st Regional Bitcoin Meetup!
In our mission to accelerate bitcoin mass adoption, we are trying a novel idea and bringing together bitcoin meetup groups throughout New England under 1 roof!
Meetup will have 4 stages.
1. We are preparing a “home cooked/healthy meal prepared on premises for all attendees to enjoy.
2. Jason Maier (author of “A Progressives Case for Bitcoin”) will be talking to the group (as well as bringing some books with him to sign)
3. The leaders of the N.E. Groups will talk to meetup about what each Individual group is working on.
4. A brainstorming session to help formulate and crystallize the freedom festival 2024.
Be part of the 1st N.E. Bitcoin meetup and help spread the mass adoption of bitcoin. This meet up is bringing together some of the brightest bitcoin minds in New England including groups from MA, NH, RI, CT, NY.
*This is a great opportunity for ingenious collaboration between the New England bitcoin thought leaders and hugely valuable bitcoin plebs. Come and participate in this amazing and energizing meet up.
All members of the Capital Region Bitcoin Network have been formally invited to attend this event in East Windsor, CT. Feel free to RSVP to this event, or to the original Mass Adoption event (https://meetu.ps/e/MxmMM/SgvfD/i) If anyone wants to carpool please let me know in the comments. I am happy to set something up!

View File

@ -19,4 +19,5 @@
<NuxtLink to="/">Go back</NuxtLink> <NuxtLink to="/">Go back</NuxtLink>
</div> </div>
</main> </main>
<Footer></Footer>
</template> </template>

View File

@ -1,9 +1,6 @@
{ {
"name": "crbtc", "name": "nuxt-app",
"version": "1.1.0", "private": true,
"description": "Capital Region Bitcoin Network",
"license": "GPL-3.0-only",
"homepage": "https://crbtc.org",
"scripts": { "scripts": {
"build": "nuxt build", "build": "nuxt build",
"dev": "nuxt dev", "dev": "nuxt dev",

View File

@ -19,9 +19,10 @@
<div class="guide" :id="data.slug"> <div class="guide" :id="data.slug">
<div class="hero"> <div class="hero">
<h3>{{ data.title }}</h3> <h3>{{ data.title }}</h3>
<p>Written by: {{ data.author }}</p> <h4>Written by: {{ data.author }}</h4>
<p v-if="data.updated < data.published">Updated: {{ data.updated }}</p> <h4 v-if="data.updated < data.published">Updated: {{ data.updated }}</h4>
<p v-if="data.published <= data.updated">Published: {{ data.published }}</p> <h4 v-if="data.published <= data.updated">Published: {{ data.published }}</h4>
<img :src="'/img/guide/' + data.thumbnail" :alt="data.title + ' Thumbnail'" />
</div> </div>
<ContentDoc class="content" /> <ContentDoc class="content" />
</div> </div>

View File

@ -9,13 +9,15 @@
}, },
], ],
}) })
const { isDesktopOrTablet } = useDevice();
</script> </script>
<template> <template>
<div class="index"> <div class="index">
<div class="hero"> <div class="hero">
<h3>Welcome to our <br/><span>Bitcoin</span> community.</h3> <h3>Welcome to our <br v-if="isDesktopOrTablet" /><span>Bitcoin</span> community.</h3>
</div> </div>
<IndexSponsors /> <IndexSponsors />

View File

@ -45,8 +45,8 @@
<template> <template>
<div class="login"> <div class="login">
<h3>Sign in to your account</h3> <h3>Sign in to your account</h3>
<h4 class="policy">By continuing, you agree to our <NuxtLink to="/terms">Terms of <h4 class="policy">By continuing, you agree to our <NuxtLink href="terms">Terms of
use</NuxtLink> and <NuxtLink to="/privacy">Privacy policy</NuxtLink>.</h4> use</NuxtLink> and <NuxtLink href="privacy">Privacy policy</NuxtLink>.</h4>
<Form v-slot="{ errors }" @submit="onSubmit" > <Form v-slot="{ errors }" @submit="onSubmit" >
<div class="input"> <div class="input">
@ -64,8 +64,8 @@
<button>Sign in</button> <button>Sign in</button>
</Form> </Form>
<p class="newbie">Don't have an account? <NuxtLink to="/register">Create account</NuxtLink></p> <p class="newbie">Don't have an account? <NuxtLink href="/register">Create account</NuxtLink></p>
<p class="reset">Forgot password? <NuxtLink to="/reset">Reset password</NuxtLink></p> <p class="reset">Forgot password? <NuxtLink href="/reset">Reset password</NuxtLink></p>
</div> </div>
</template> </template>

View File

@ -8,11 +8,60 @@
}, },
], ],
}) })
import { Form, Field, ErrorMessage } from 'vee-validate';
function required(value) {
return value ? true : 'This field is required'
}
const { createUser } = useDirectusAuth();
const onSubmit = async (values) => {
let slug = values.username.toLowerCase().replace(/\s/g, '')
try {
const newUser = await createUser({
first_name: values.username,
email: values.email,
password: values.password,
external_identifier: slug,
role: process.env.DIRECTUS_ROLE,
})
} catch (e) {}
}
</script> </script>
<template> <template>
<div class="register"> <div class="register">
<p>Already have an account? <NuxtLink to="/login">Sign in</NuxtLink></p> <h3>Create your account</h3>
<p>Don't have an account yet? Get in touch to <br/>have an account created for you.</p> <h4 class="policy">By continuing, you agree to our <NuxtLink href="terms">Terms of
use</NuxtLink> and <NuxtLink href="privacy">Privacy policy</NuxtLink>.</h4>
<Form v-slot="{ errors }" @submit="onSubmit" >
<div class="input">
<label>Username</label>
<Field name="username" placeholder="Choose a username" />
<ErrorMessage name="username" />
</div>
<div class="input">
<label>Email</label>
<Field name="email" placeholder="Enter your email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" />
<ErrorMessage name="email" />
</div>
<div class="input">
<label>Password</label>
<Field name="password" placeholder="********" type="password" />
<ErrorMessage name="password" />
</div>
<button>Create account</button>
</form>
<p class="newbie">Already have an account? <NuxtLink href="/login">Sign in</NuxtLink></p>
</div> </div>
</template> </template>