Skip to content

Commit

Permalink
WIP fix form actions in deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
ccalobeto committed Jan 15, 2025
1 parent 7b63020 commit fdc74cb
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 26 deletions.
2 changes: 1 addition & 1 deletion src/lib/components/ContactForm.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
const { form: formData, enhance } = form;
</script>

<form method="POST" use:enhance>
<form method="POST" action="./api/actions?/sendEmail" use:enhance>
<Form.Field {form} name="from">
<Form.Control>
{#snippet children({ props })}
Expand Down
1 change: 1 addition & 0 deletions src/routes/+layout.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const prerender = true;
31 changes: 31 additions & 0 deletions src/routes/api/actions/+page.server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
export const prerender = false;

import type { Actions } from "./$types";
import { superValidate } from "sveltekit-superforms/server"
import { zod } from "sveltekit-superforms/adapters";
import { emailSchema } from "$lib/utils/schema";
import { fail } from "@sveltejs/kit";
import emailHelper from "$lib/utils/emailHelper";

export const actions: Actions = {
sendEmail: async (event) => {
const form = await superValidate(event, zod(emailSchema));
if (!form.valid) {
return fail(400, {
form,
});
}
console.log('**this is +page.server.ts**');
const { from, subject, message } = form.data;
try {
const emailResponse = await emailHelper(from, subject, message);
console.log('message sent from ', emailResponse.envelope.from);
} catch (error) {
console.log(error);
}

return {
form,
};
},
};
1 change: 1 addition & 0 deletions src/routes/contact/+layout.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const prerender = true;
29 changes: 4 additions & 25 deletions src/routes/contact/+page.server.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import type { PageServerLoad, Actions } from "./$types";
// export const prerender = true;
// export const ssr = false;

import type { PageServerLoad } from "./$types";
import { superValidate } from "sveltekit-superforms/server"
import { zod } from "sveltekit-superforms/adapters";
import { emailSchema } from "../../lib/utils/schema";
import { fail } from "@sveltejs/kit";
import emailHelper from "$lib/utils/emailHelper";

export const load: PageServerLoad = (async () => {
// Server API:
Expand All @@ -12,25 +13,3 @@ export const load: PageServerLoad = (async () => {
return { form };
});

export const actions: Actions = {
default: async (event) => {
const form = await superValidate(event, zod(emailSchema));
if (!form.valid) {
return fail(400, {
form,
});
}
console.log('**this is +page.server.ts**');
const { from, subject, message } = form.data;
try {
const emailResponse = await emailHelper(from, subject, message);
console.log('message sent from ', emailResponse.envelope.from);
} catch (error) {
console.log(error);
}

return {
form,
};
},
};

0 comments on commit fdc74cb

Please sign in to comment.