Fix newsletter form subscription
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import { enhance } from '$app/forms'
|
||||
import { dev } from '$app/environment'
|
||||
import { fly } from 'svelte/transition'
|
||||
import { quartOut } from 'svelte/easing'
|
||||
import { sendEvent } from '$utils/analytics'
|
||||
@@ -13,7 +14,6 @@
|
||||
|
||||
export let past: boolean = false
|
||||
|
||||
|
||||
let inputInFocus = false
|
||||
let formStatus: { error: string, success: boolean, message: string } = null
|
||||
let formMessageTimeout: ReturnType<typeof setTimeout> | number
|
||||
@@ -27,7 +27,10 @@
|
||||
const handleForm = () => {
|
||||
return async ({ result, update }) => {
|
||||
formStatus = result.data
|
||||
console.log(result.data)
|
||||
|
||||
if (dev) {
|
||||
console.log(result.data)
|
||||
}
|
||||
|
||||
// If successful
|
||||
if (result.data.success) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { invalid } from '@sveltejs/kit'
|
||||
import { NEWSLETTER_API_TOKEN, NEWSLETTER_LIST_ID } from '$env/static/private'
|
||||
import { fail } from '@sveltejs/kit'
|
||||
|
||||
const formMessages = {
|
||||
PENDING: `Almost there! Please confirm your email address through the email you'll receive soon.`,
|
||||
@@ -28,14 +28,14 @@ export default async ({ request }) => {
|
||||
if (res && res.status !== 'PENDING') {
|
||||
// Invalid email
|
||||
if (!email.match(/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)) {
|
||||
return invalid(400, {
|
||||
return fail(400, {
|
||||
error: 'INVALID_EMAIL',
|
||||
message () { return formMessages[this.error] }
|
||||
})
|
||||
}
|
||||
|
||||
// Other error
|
||||
return invalid(400, {
|
||||
return fail(400, {
|
||||
error: res.error.code,
|
||||
message: formMessages[res.error.code],
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user