From 4136c08cdb1e511326d71680f6d557d94351419d Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 8 Mar 2024 21:09:58 -0500 Subject: [PATCH] Sponsor Hub part looks pretty good now. Still need to enable the delete buttons. --- src/lib/ae_utils.ts | 2 +- src/routes/events_speakers/+page.svelte | 4 +- .../10_edit_modal__event_presenter_obj.svelte | 75 +++-- .../events_speakers/[slug]/+page.svelte | 12 +- .../10_edit_modal__sponsorship_obj.svelte | 282 +++++++++++++----- src/routes/sponsorships/[slug]/+page.svelte | 13 +- 6 files changed, 290 insertions(+), 98 deletions(-) diff --git a/src/lib/ae_utils.ts b/src/lib/ae_utils.ts index aeb32660..e9fb0342 100644 --- a/src/lib/ae_utils.ts +++ b/src/lib/ae_utils.ts @@ -427,7 +427,7 @@ function handle_url_and_message(name: string, value: null|string) { if (value) { url.searchParams.set(name, value); - // history.pushState({}, '', url); + history.pushState({}, '', url); // console.log('url:', url); // pushState(url.href, {}); diff --git a/src/routes/events_speakers/+page.svelte b/src/routes/events_speakers/+page.svelte index 47759cca..70912ef3 100644 --- a/src/routes/events_speakers/+page.svelte +++ b/src/routes/events_speakers/+page.svelte @@ -32,7 +32,7 @@ const modalComponentEditEventPresenterObj: ModalComponent = { ref: Edit_modal_ev const modal_edit__event_presenter_obj: ModalSettings = { type: 'component', component: modalComponentEditEventPresenterObj, - title: 'Speaker Submission Form', // Editing Event Presenter + title: 'Speaker Form', // Editing Event Presenter position: '', // default is "items-center" response: (r: boolean | undefined) => handle_modal_close(r) @@ -117,7 +117,7 @@ onMount(() => { ae_util.handle_url_and_message('event_presenter_id', $slct.event_presenter_id); if ($slct.event_presenter_id) { console.log(`Got an ID. Let's show the modal!`); - modalStore.trigger(modal_edit__event_presenter_obj); + // modalStore.trigger(modal_edit__event_presenter_obj); // $slct_trigger = 'load__event_presenter_obj'; } }); diff --git a/src/routes/events_speakers/10_edit_modal__event_presenter_obj.svelte b/src/routes/events_speakers/10_edit_modal__event_presenter_obj.svelte index f902105f..c0b87987 100644 --- a/src/routes/events_speakers/10_edit_modal__event_presenter_obj.svelte +++ b/src/routes/events_speakers/10_edit_modal__event_presenter_obj.svelte @@ -41,17 +41,6 @@ import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; import type { key_val } from '$lib/ae_stores'; -onMount(() => { - console.log('** Component Mounted: ** View Modal - Presenter Obj'); - - if ($slct.event_presenter_id && $ae_loc.href_url) { - // $ae_loc.mod.events.presenter_link = `${$ae_loc.href_url}/load?event_presenter_id=${$slct.event_presenter_id}`; - $ae_loc.mod.events.presenter_link = `${$ae_loc.site_domain}/events_speakers/load?event_presenter_id=${$slct.event_presenter_id}`; - console.log('Speaker link:', $ae_loc.mod.events.presenter_link); - } -}); - - let ae_promises: key_val = {}; // Promise; $ae_loc.mod.events.submit_status = null; @@ -98,6 +87,17 @@ if ($slct.event_presenter_id) { } +onMount(() => { + console.log('** Component Mounted: ** Edit Modal - Presenter Obj'); + + if ($slct.event_presenter_id && $ae_loc.href_url) { + // $ae_loc.mod.events.presenter_link = `${$ae_loc.href_url}/load?event_presenter_id=${$slct.event_presenter_id}`; + $ae_loc.mod.events.presenter_link = `${$ae_loc.site_domain}/events_speakers/load?event_presenter_id=${$slct.event_presenter_id}`; + console.log('Speaker link:', $ae_loc.mod.events.presenter_link); + } +}); + + $: if ($slct.event_presenter_obj) { // Create HTML for showing pictures here? if ($slct.event_presenter_obj.image_li_json) { @@ -106,7 +106,7 @@ $: if ($slct.event_presenter_obj) { account_id: $ae_loc.account_id, base_url: $ae_api.base_url, hosted_file_id: $slct.event_presenter_obj.image_li_json.headshot.hosted_file_id_random, - filename: `${$slct.event_presenter_obj.full_name} [headshot]`, + filename: `${$slct.event_presenter_obj.full_name} [headshot].${$slct.event_presenter_obj.image_li_json.headshot.extension}`, style: 'max-width: 20em;', inc_link: true, }) @@ -279,10 +279,15 @@ async function handle_submit_form(event) { if ($slct.event_presenter_id) { if ($store_current_tab == 'start' && $slct.event_presenter_id) { $store_current_tab = 'biograhpy'; - send_init_confirm_email(); + if (!$slct.event_presenter_obj.updated_on) { + send_init_confirm_email(); + } + // Move on to files } else if ($store_current_tab == 'biograhpy' && $slct.event_presenter_id) { $store_current_tab = 'files'; + + // Move on to summary } else if ($store_current_tab == 'files' && $slct.event_presenter_id) { $store_current_tab = 'summary'; } @@ -297,6 +302,9 @@ async function handle_submit_form(event) { async function handle_submit_form_files(event) { console.log('*** handle_submit_form() ***'); + $ae_sess.mod.events.disable_submit__event_presenter_obj = true; + $ae_sess.mod.events.submit_status = 'saving'; + let event_presenter_do: key_val = {}; // if ($slct.event_presenter_obj.logo_li_json) { @@ -329,12 +337,23 @@ async function handle_submit_form_files(event) { if (hosted_file_results) { event_presenter_do.image_li_json.headshot = hosted_file_results[0]; console.log(event_presenter_do.image_li_json); - placeholder_li.image_headshot = `${event_presenter_do.image_li_json.headshot.filename}`; + placeholder_li.image_headshot = ae_util.create_img_element({ + account_id: $ae_loc.account_id, + base_url: $ae_api.base_url, + hosted_file_id: event_presenter_do.image_li_json.headshot.hosted_file_id_random, + filename: `${$slct.event_presenter_obj.full_name} [headshot].${event_presenter_do.image_li_json.headshot.extension}`, + // style: 'max-width: 20em;', + inc_link: true, + }) + + // `${event_presenter_do.image_li_json.headshot.filename}`; } } + console.log(event_presenter_do); + ae_promises.update__event_presenter_obj = await handle_update__event_presenter({ obj_type: 'event_presenter', obj_id: $slct.event_presenter_id, @@ -358,6 +377,9 @@ async function handle_submit_form_files(event) { if ($store_current_tab == 'files' && $slct.event_presenter_id) { $store_current_tab = 'summary'; } + + console.log('Trigger a reload of the object list.'); + $slct_trigger = 'load__event_presenter_obj_li'; } @@ -457,9 +479,11 @@ async function handle_update__event_presenter({ } function send_init_confirm_email() { + console.log(`*** send_init_confirm_email() *** to ${$slct.event_presenter_obj.email}`); + let subject = `CHOW 2024 Speaker Hub Link for ${$slct.event_presenter_obj.full_name} (ID: ${$slct.event_presenter_id})`; - let body_html = `

Thank you for your submission to the Speaker Hub. You are an integral part of Capitol Hill Ocean Week and we appreciate your participation. If you need to make any changes or updates to your submission, you may access it via the below hyperlink:

Name: ${$slct.event_presenter_obj.full_name} (Speaker ID: ${$slct.event_presenter_id})

Use this link to view or update your CHOW 2024 speaker information.

Copy and paste link: ${$ae_loc.mod.events.presenter_link}

` + let body_html = `

Thank you for your submission to the Speaker Hub. You are an integral part of Capitol Hill Ocean Week and we appreciate your participation. If you need to make any changes or updates to your submission, you may access it via the below hyperlink:

Name: ${$slct.event_presenter_obj.full_name} (Speaker ID: ${$slct.event_presenter_id})

Use this link to view or update your CHOW 2024 speaker information.

Copy and paste link: ${$ae_loc.mod.events.presenter_link}

`; api.send_email({ api_cfg: $ae_api, @@ -474,7 +498,7 @@ function send_init_confirm_email() { function send_summary_email() { let subject = `CHOW 2024 Speaker Hub Link for ${$slct.event_presenter_obj.full_name} (ID: ${$slct.event_presenter_id})`; - let body_html = `

Thank you for your submission to the Speaker Hub. You are an integral part of Capitol Hill Ocean Week and we appreciate your participation. If you need to make any changes or updates to your submission, you may access it via the link below.

Name: ${$slct.event_presenter_obj.full_name} (ID: ${$slct.event_presenter_id})

Professional title: ${$slct.event_presenter_obj.professional_title}

Affiliations: ${$slct.event_presenter_obj.affiliations}

Email: ${$slct.event_presenter_obj.email}

Biography:
${$slct.event_presenter_obj.biography}
Headshot:
${placeholder_li.image_headshot}

Use this link to view or update your CHOW 2024 speaker information.

Copy and paste link: ${$ae_loc.mod.events.presenter_link}

` + let body_html = `

Thank you for your submission to the Speaker Hub. You are an integral part of Capitol Hill Ocean Week and we appreciate your participation. If you need to make any changes or updates to your submission, you may access it via the link below.

Name: ${$slct.event_presenter_obj.full_name} (ID: ${$slct.event_presenter_id})

Professional title: ${$slct.event_presenter_obj.professional_title}

Affiliations: ${$slct.event_presenter_obj.affiliations}

Email: ${$slct.event_presenter_obj.email}

Biography:
${$slct.event_presenter_obj.biography}
Headshot:
${placeholder_li.image_headshot}

Use this link to view or update your CHOW 2024 speaker information.

Copy and paste link: ${$ae_loc.mod.events.presenter_link}

`; api.send_email({ api_cfg: $ae_api, @@ -552,7 +576,9 @@ async function handle_delete_event_presenter_obj({event_presenter_id, hosted_fil {#if $modalStore[0]}
- {$modalStore[0].title ?? '-- No Title --'} +

{$modalStore[0].title ?? '-- No Title --'}: + {$slct.event_presenter_obj && $slct.event_presenter_obj.full_name ? $slct.event_presenter_obj.full_name : '-- Fill out and save --'} +

{#await ae_promises.update__event_presenter_obj}