Fix newsletter form subscription

This commit is contained in:
2022-12-23 11:25:55 +01:00
parent e03f4321f2
commit f396864feb
2 changed files with 8 additions and 5 deletions

View File

@@ -4,6 +4,7 @@
<script lang="ts"> <script lang="ts">
import { enhance } from '$app/forms' import { enhance } from '$app/forms'
import { dev } from '$app/environment'
import { fly } from 'svelte/transition' import { fly } from 'svelte/transition'
import { quartOut } from 'svelte/easing' import { quartOut } from 'svelte/easing'
import { sendEvent } from '$utils/analytics' import { sendEvent } from '$utils/analytics'
@@ -13,7 +14,6 @@
export let past: boolean = false export let past: boolean = false
let inputInFocus = false let inputInFocus = false
let formStatus: { error: string, success: boolean, message: string } = null let formStatus: { error: string, success: boolean, message: string } = null
let formMessageTimeout: ReturnType<typeof setTimeout> | number let formMessageTimeout: ReturnType<typeof setTimeout> | number
@@ -27,7 +27,10 @@
const handleForm = () => { const handleForm = () => {
return async ({ result, update }) => { return async ({ result, update }) => {
formStatus = result.data formStatus = result.data
console.log(result.data)
if (dev) {
console.log(result.data)
}
// If successful // If successful
if (result.data.success) { if (result.data.success) {

View File

@@ -1,5 +1,5 @@
import { invalid } from '@sveltejs/kit'
import { NEWSLETTER_API_TOKEN, NEWSLETTER_LIST_ID } from '$env/static/private' import { NEWSLETTER_API_TOKEN, NEWSLETTER_LIST_ID } from '$env/static/private'
import { fail } from '@sveltejs/kit'
const formMessages = { const formMessages = {
PENDING: `Almost there! Please confirm your email address through the email you'll receive soon.`, 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') { if (res && res.status !== 'PENDING') {
// Invalid email // Invalid email
if (!email.match(/^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)) { if (!email.match(/^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)) {
return invalid(400, { return fail(400, {
error: 'INVALID_EMAIL', error: 'INVALID_EMAIL',
message () { return formMessages[this.error] } message () { return formMessages[this.error] }
}) })
} }
// Other error // Other error
return invalid(400, { return fail(400, {
error: res.error.code, error: res.error.code,
message: formMessages[res.error.code], message: formMessages[res.error.code],
}) })