Make emails editable
This commit is contained in:
@@ -10,7 +10,6 @@
|
||||
import EmailSending from './components/EmailSending.svelte';
|
||||
import EmailResults from './components/EmailResults.svelte';
|
||||
import Statistics from './components/Statistics.svelte';
|
||||
import ToastContainer from '$lib/components/ToastContainer.svelte';
|
||||
import { toast } from '$lib/stores/toast.js';
|
||||
|
||||
let { data } = $props();
|
||||
@@ -48,6 +47,7 @@
|
||||
let participantsLoading = $state(true);
|
||||
let syncingParticipants = $state(false);
|
||||
let sendingEmails = $state(false);
|
||||
let updatingEmail = $state(false);
|
||||
let emailProgress = $state({ sent: 0, total: 0 });
|
||||
let emailResults = $state<{success: boolean, results: any[], summary: any} | null>(null);
|
||||
|
||||
@@ -268,6 +268,42 @@
|
||||
}
|
||||
}
|
||||
|
||||
// For Email Template updating
|
||||
async function handleEmailUpdate(eventId: string, subject: string, body: string) {
|
||||
updatingEmail = true;
|
||||
|
||||
try {
|
||||
// Call the email_modify RPC function
|
||||
const { error } = await data.supabase.rpc('email_modify', {
|
||||
p_event_id: eventId,
|
||||
p_email_subject: subject,
|
||||
p_email_body: body
|
||||
});
|
||||
|
||||
if (error) throw error;
|
||||
|
||||
// Update the local event data on success
|
||||
if (event) {
|
||||
event.email_subject = subject;
|
||||
event.email_body = body;
|
||||
}
|
||||
|
||||
toast.add({
|
||||
message: 'Email template updated successfully',
|
||||
type: 'success'
|
||||
});
|
||||
|
||||
} catch (err) {
|
||||
console.error('Error updating email template:', err);
|
||||
toast.add({
|
||||
message: 'Failed to update email template',
|
||||
type: 'error'
|
||||
});
|
||||
} finally {
|
||||
updatingEmail = false;
|
||||
}
|
||||
}
|
||||
|
||||
function handleGoogleAuthSuccess() {
|
||||
// Success handled by toast in the component
|
||||
}
|
||||
@@ -312,7 +348,12 @@ onSyncParticipants={syncParticipants}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<EmailTemplate {event} {loading} />
|
||||
<EmailTemplate
|
||||
{event}
|
||||
{loading}
|
||||
{updatingEmail}
|
||||
onUpdateEmail={handleEmailUpdate}
|
||||
/>
|
||||
|
||||
<EmailSending
|
||||
{loading}
|
||||
|
||||
Reference in New Issue
Block a user