feat(signup): community guidelines agreement and policies routes
Introduces /community-guidelines and /policies/{privacy,terms,[slug]} pages,
swaps the signup/invite checkbox from agreedToTerms to agreedToGuidelines,
adds Member.agreement.acceptedAt, and stamps the field when a Helcim
customer is created.
This commit is contained in:
parent
e0d11e47f4
commit
c5e901ed24
13 changed files with 1292 additions and 54 deletions
|
|
@ -32,7 +32,7 @@
|
|||
class="form-input"
|
||||
type="text"
|
||||
required
|
||||
/>
|
||||
>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="accept-email">Email</label>
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
class="form-input"
|
||||
type="email"
|
||||
disabled
|
||||
/>
|
||||
>
|
||||
<p class="field-note">Email cannot be changed. Contact us if you need to use a different email.</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
class="form-input"
|
||||
type="text"
|
||||
placeholder="e.g. they/them, she/her"
|
||||
/>
|
||||
>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="accept-location">City / Region</label>
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
class="form-input"
|
||||
type="text"
|
||||
placeholder="e.g. Vancouver, BC"
|
||||
/>
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="form-group full-width">
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
type="radio"
|
||||
name="circle"
|
||||
value="community"
|
||||
/>
|
||||
>
|
||||
<label for="circle-community">
|
||||
<span class="circle-label-name" style="color: var(--c-community);">Community</span>
|
||||
<span class="circle-label-desc">Learning about co-ops</span>
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
type="radio"
|
||||
name="circle"
|
||||
value="founder"
|
||||
/>
|
||||
>
|
||||
<label for="circle-founder">
|
||||
<span class="circle-label-name" style="color: var(--c-founder);">Founder</span>
|
||||
<span class="circle-label-desc">Building your studio</span>
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
type="radio"
|
||||
name="circle"
|
||||
value="practitioner"
|
||||
/>
|
||||
>
|
||||
<label for="circle-practitioner">
|
||||
<span class="circle-label-name" style="color: var(--c-practitioner);">Practitioner</span>
|
||||
<span class="circle-label-desc">Leading and mentoring</span>
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
class="form-input"
|
||||
rows="3"
|
||||
placeholder="2-3 sentences about what you're looking for"
|
||||
></textarea>
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="form-group full-width">
|
||||
|
|
@ -142,14 +142,12 @@
|
|||
<div class="form-group full-width">
|
||||
<label class="checkbox-label">
|
||||
<input
|
||||
v-model="form.agreedToGuidelines"
|
||||
type="checkbox"
|
||||
v-model="form.agreedToTerms"
|
||||
/>
|
||||
>
|
||||
<span>
|
||||
I've read and agree to the
|
||||
<NuxtLink to="/agreement" target="_blank">Member Agreement</NuxtLink>
|
||||
and
|
||||
<NuxtLink to="/guidelines" target="_blank">Code of Conduct</NuxtLink>
|
||||
I agree to the Ghost Guild
|
||||
<NuxtLink to="/community-guidelines" target="_blank">Community Guidelines</NuxtLink>.
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
|
@ -221,11 +219,11 @@ const form = reactive({
|
|||
circle: "community",
|
||||
motivation: "",
|
||||
contributionTier: "15",
|
||||
agreedToTerms: false,
|
||||
agreedToGuidelines: false,
|
||||
});
|
||||
|
||||
const isFormValid = computed(() => {
|
||||
return form.name && form.circle && form.contributionTier && form.agreedToTerms;
|
||||
return form.name && form.circle && form.contributionTier && form.agreedToGuidelines;
|
||||
});
|
||||
|
||||
const needsPayment = computed(() => {
|
||||
|
|
@ -283,7 +281,7 @@ const handleAccept = async () => {
|
|||
circle: form.circle,
|
||||
motivation: form.motivation || undefined,
|
||||
contributionTier: form.contributionTier,
|
||||
agreedToTerms: form.agreedToTerms,
|
||||
agreedToGuidelines: form.agreedToGuidelines,
|
||||
token: token.value,
|
||||
},
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue