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">
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) {

View File

@@ -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],
})