From cf9f91441213f0b4ca0522c80d297bb406a7a375 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 1 Aug 2024 15:43:39 -0400 Subject: [PATCH] The new menu for the session page is working well. Time for clean up. --- src/lib/ae_events_stores.ts | 2 + src/lib/ae_string_snippets.ts | 2 +- .../ae_comp__event_presenter_obj_li.svelte | 27 +- .../presenter/[slug]/+page.svelte | 1 + .../session/[slug]/+page.svelte | 738 +++++++++--------- .../events_pres_mgmt/session_view.svelte | 155 +--- .../events_pres_mgmt/sign_in_out.svelte | 233 ++++++ 7 files changed, 644 insertions(+), 514 deletions(-) create mode 100644 src/routes/events_pres_mgmt/sign_in_out.svelte diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 7f2dc5a0..9a58ad48 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -141,6 +141,8 @@ let events_local_data_struct: key_val = { show_content__session_search_help: true, show_content__presenter_page_help: true, + show_menu__session: null, + show_report__presenters_agree: false, show_report__recent_files: false, diff --git a/src/lib/ae_string_snippets.ts b/src/lib/ae_string_snippets.ts index 0abc9c63..8fddc933 100644 --- a/src/lib/ae_string_snippets.ts +++ b/src/lib/ae_string_snippets.ts @@ -15,7 +15,7 @@ string_snippets['classes__core_menu__button'] = 'btn btn-sm mx-1 variant-soft-te string_snippets['classes__core_menu__button_highlight'] = 'btn btn-sm mx-1 variant-filled-tertiary text-info-300 hover:text-info-800'; string_snippets['classes__core_menu__button_warning'] = 'btn btn-sm mx-1 variant-soft-warning text-info-300 hover:text-info-800'; -string_snippets['classes__events_pres_mgmt_menu'] = 'flex flex-col items-center space-y-1 border border-blue-200 rounded-md py-1 px-2 hover:bg-blue-100'; +string_snippets['classes__events_pres_mgmt_menu'] = 'flex flex-col items-center space-y-1 border border-blue-200 rounded-md py-1 px-2 hover:bg-blue-100 transition-all duration-700 hover:duration-300'; string_snippets['classes__events_pres_mgmt_menu__button'] = 'btn btn-sm mx-1 variant-soft-tertiary text-info-300 hover:text-info-800'; string_snippets['classes__events_pres_mgmt_menu__button_highlight'] = 'btn btn-sm mx-1 variant-filled-tertiary text-info-300 hover:text-info-800'; diff --git a/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte b/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte index 6f91f5d3..f16b3144 100644 --- a/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte +++ b/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte @@ -170,31 +170,6 @@ onMount(() => {
  • - { } ); }} - class="btn variant-ghost-secondary hover:variant-filled-secondary my-0.5" + class="btn variant-ghost-secondary hover:variant-filled-secondary my-0.5 transition-all hover:transition-all" class:btn-sm={display_mode != 'default'} title="Email the access link to the presenter" > diff --git a/src/routes/events_pres_mgmt/presenter/[slug]/+page.svelte b/src/routes/events_pres_mgmt/presenter/[slug]/+page.svelte index 60ab1985..6c153893 100644 --- a/src/routes/events_pres_mgmt/presenter/[slug]/+page.svelte +++ b/src/routes/events_pres_mgmt/presenter/[slug]/+page.svelte @@ -46,6 +46,7 @@ let lq__event_presenter_obj = liveQuery( // Functions and Logic + Presenter: {ae_util.shorten_string({ string: $lq__event_presenter_obj?.full_name, max_length: 20, begin_length: 10, end_length: 4 })} diff --git a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte index 8d74a40f..78907faa 100644 --- a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte +++ b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte @@ -25,6 +25,7 @@ import { events_loc, events_sess, events_slct, events_trigger, events_trig_kv } import { events_func } from '$lib/ae_events_functions'; import Session_view from './../../session_view.svelte'; +import Sign_in_out from './../../sign_in_out.svelte'; import { browser } from '$app/environment'; if (browser) { @@ -80,373 +81,130 @@ if (!$events_sess.pres_mgmt) { $events_sess.pres_mgmt.show_content__agree_text = false; $events_sess.pres_mgmt.show_content__presenter_start = false; -// let event_obj = liveQuery( -// () => db_events.events.get($events_slct.event_id) -// // () => db_events.events.get(param_slug_event_id) -// // () => db_events.events.toArray() -// // () => db_events.events -// // .where('id_random') -// // .equals($events_slct.event_id) -// // // .orderBy('name') -// // // .offset(10).limit(5) -// // .toArray() -// ); - let lq__event_session_obj = liveQuery( () => db_events.sessions.get($events_slct.event_session_id) ); -// let lq__event_presentation_obj_li = liveQuery( -// () => db_events.presentations -// // .where({event_session_id_random: $events_slct.event_session_id}) -// .where('event_session_id_random') -// .equals($events_slct.event_session_id) -// .sortBy('name') - -// // This works, but does it need to be async? -// // async () => await db_events.presentations -// // .where('event_session_id_random') -// // .equals($events_slct.event_session_id) -// // .sortBy('name') -// ); - -// let lq__event_presentation_obj = liveQuery( -// () => db_events.presentations.get($events_slct.event_presentation_id) -// ); - -// let lq__event_presenter_obj = liveQuery( -// () => db_events.presenters.get($events_slct.event_presenter_id) -// ); -// $events_slct.event_presenter_obj = $lq__event_presenter_obj; - -// We will filter out the presenters based on the presentation ID when they are rendered below. -// let lq__event_presenter_obj_li = liveQuery( -// () => db_events.presenters -// .where('event_session_id_random') -// .equals($events_slct.event_session_id) - -// // Why does the slct presentation ID not seem to work? -// // .where('event_presentation_id_random') -// // .equals($events_slct.event_presentation_id) -// // .equals($events_slct.event_presentation_id?? '') -// .sortBy('full_name') -// ); - -// let lq__event_file_obj_li = liveQuery( -// () => db_events.files.where('event_session_id_random').equals($events_slct.event_session_id).toArray() -// ); - - $slct.person_obj_kv = {}; // This is intended for the POC lookup list when generated. -// Load the Event Obj with ID based on the slug param. -// $events_slct.event_id = param_slug_event_id; -// console.log('Selected Event ID:', $events_slct.event_id); -// $events_trigger = 'load__event_obj'; - -// let license_submit_results: Promise<any>|key_val; - -// if (!$events_loc.leads.tab) { -// $events_loc.leads.tab = {}; -// $events_loc.leads.tab[$events_slct.event_id] = 'start'; -// } - -// if (!$events_loc.leads.auth_exhibit_kv) { -// $events_loc.leads.auth_exhibit_kv = {}; -// } - -// if ($events_loc.leads.auth_exhibit_kv && $events_loc.leads.auth_exhibit_kv[$events_slct.event_id]) { -// console.log('Logged in using shared exhibit staff passcode.'); - -// if ($events_loc.leads.auth_exhibit_kv[$events_slct.event_id].key) { -// console.log(`Using the license key: ${$events_loc.leads.auth_exhibit_kv[$events_slct.event_id].key}`); -// } else { -// console.log('License key (email) not used.'); -// $events_loc.leads.tab[$events_slct.event_id] = 'start'; -// } -// } else { -// console.log('Not logged in using shared exhibit staff passcode.'); -// $events_loc.leads.tab[$events_slct.event_id] = 'start'; -// } - onMount(() => { console.log('Events Session [slug]: +page.svelte'); - // if (!$events_slct.event_id) { - // console.log(`No ID! Nothing to show. Try setting the ID again.`); - // $events_slct.event_id = $events_slct.event_id; + // let url_person_id = data.url.searchParams.get('person_id'); + // let url_person_pass = data.url.searchParams.get('person_pass'); + // let url_presentation_id = data.url.searchParams.get('presentation_id'); + // let url_presenter_id = data.url.searchParams.get('presenter_id'); + // let url_session_id = data.url.searchParams.get('session_id'); + + // // This should be turned into a function to correctly authenticate the person and allow them access to their presentations and presenter details. + // if (url_person_pass) { + // console.log(`ae_events_pres_mgmt session [slug] +page.svelte: event_session_id=${$events_slct.event_session_id}; person_id=${url_person_id}; person_pass=${url_person_pass}; presentation_id=${url_presentation_id}; presenter_id=${url_presenter_id}`); + + // // Using temporary session values first. + // $events_sess.auth__entered_key = url_person_id; + // $events_sess.auth__entered_passcode = url_person_pass; + + // $events_sess.auth__person.id = url_person_id; + // $events_sess.auth__person.presentation_id = url_presentation_id; + // $events_sess.auth__person.presenter_id = url_presenter_id; + // $events_sess.auth__person.session_id = url_session_id; // For POC or LCI Champions for sessions. Do not set for a presenter! + + // $events_sess.auth__kv.person[url_person_id] = true; + // $events_sess.auth__kv.session[$events_slct.event_session_id] = true; // For POC or LCI Champions for sessions. Do not set for a presenter! + // $events_sess.auth__kv.presentation[url_presentation_id] = true; + // $events_sess.auth__kv.presenter[url_presenter_id] = true; + + // // We need to set the selected presentation and presenter objects based on the respective IDs. + // if (url_presentation_id && url_presenter_id) { + // $events_slct.event_presentation_id = url_presentation_id; + // $events_slct.event_presenter_id = url_presenter_id; + // } + + // // console.log('Remove the passcode from the URL.'); + // // data.url.searchParams.delete('person_id'); + // // data.url.searchParams.delete('person_pass'); + // // data.url.searchParams.delete('presentation_id'); + // // data.url.searchParams.delete('presenter_id'); + // // data.url.searchParams.delete('session_id'); + + // // let new_url = data.url.toString() + // // console.log(new_url); + // // goto(new_url, {replaceState: true}); + // if (url_presenter_id) { + // presenter_sign_in(); + // } + + // if (url_session_id) { + // session_sign_in(); + // } // } - // if (!$events_slct.event_session_id) { - // console.log(`No Session ID! Nothing to show. Try setting the Session ID again.`); - // $events_slct.event_session_id = $events_slct.event_session_id; - // } - - let url_person_id = data.url.searchParams.get('person_id'); - let url_person_pass = data.url.searchParams.get('person_pass'); - let url_presentation_id = data.url.searchParams.get('presentation_id'); - let url_presenter_id = data.url.searchParams.get('presenter_id'); - let url_session_id = data.url.searchParams.get('session_id'); - - // This should be turned into a function to correctly authenticate the person and allow them access to their presentations and presenter details. - if (url_person_pass) { - console.log(`ae_events_pres_mgmt session [slug] +page.svelte: event_session_id=${$events_slct.event_session_id}; person_id=${url_person_id}; person_pass=${url_person_pass}; presentation_id=${url_presentation_id}; presenter_id=${url_presenter_id}`); - - // Using temporary session values first. - $events_sess.auth__entered_key = url_person_id; - $events_sess.auth__entered_passcode = url_person_pass; - - $events_sess.auth__person.id = url_person_id; - $events_sess.auth__person.presentation_id = url_presentation_id; - $events_sess.auth__person.presenter_id = url_presenter_id; - $events_sess.auth__person.session_id = url_session_id; // For POC or LCI Champions for sessions. Do not set for a presenter! - - $events_sess.auth__kv.person[url_person_id] = true; - $events_sess.auth__kv.session[$events_slct.event_session_id] = true; // For POC or LCI Champions for sessions. Do not set for a presenter! - $events_sess.auth__kv.presentation[url_presentation_id] = true; - $events_sess.auth__kv.presenter[url_presenter_id] = true; - - // We need to set the selected presentation and presenter objects based on the respective IDs. - if (url_presentation_id && url_presenter_id) { - $events_slct.event_presentation_id = url_presentation_id; - $events_slct.event_presenter_id = url_presenter_id; - } - - // console.log('Remove the passcode from the URL.'); - // data.url.searchParams.delete('person_id'); - // data.url.searchParams.delete('person_pass'); - // data.url.searchParams.delete('presentation_id'); - // data.url.searchParams.delete('presenter_id'); - // data.url.searchParams.delete('session_id'); - - // let new_url = data.url.toString() - // console.log(new_url); - // goto(new_url, {replaceState: true}); - if (url_presenter_id) { - presenter_sign_in(); - } - - if (url_session_id) { - session_sign_in(); - } - } }); -function presenter_sign_in() { - console.log('Presenter sign in with URL values'); +// function presenter_sign_in() { +// console.log('Presenter sign in with URL values'); - $ae_loc.authenticated_access = true; - $ae_loc.access_type = 'authenticated'; +// $ae_loc.authenticated_access = true; +// $ae_loc.access_type = 'authenticated'; - $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id - $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case - $events_loc.auth__person.email = 'test@example.com'; - $events_loc.auth__person.full_name = 'Test Person'; +// $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id +// $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case +// $events_loc.auth__person.email = 'test@example.com'; +// $events_loc.auth__person.full_name = 'Test Person'; - $events_loc.auth__kv.person[$events_sess.entered_key] = true; - $events_loc.auth__kv.session[$events_slct.event_session_id] = false; // Set to false for presenters. - $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; - $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; +// $events_loc.auth__kv.person[$events_sess.entered_key] = true; +// $events_loc.auth__kv.session[$events_slct.event_session_id] = false; // Set to false for presenters. +// $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; +// $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; - // Setting again here... just because for now. - $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; - $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; -} - -function session_sign_in() { - console.log('Session sign in with URL values'); - - $ae_loc.authenticated_access = true; - $ae_loc.access_type = 'authenticated'; - - $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id - $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case - $events_loc.auth__person.email = 'test@example.com'; - $events_loc.auth__person.full_name = 'Test Person'; - - $events_loc.auth__kv.person[$events_sess.entered_key] = true; - $events_loc.auth__kv.session[$events_slct.event_session_id] = true; - $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = false; // Set to false for session POC (LCI Champions). - $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = false; // Set to false for session POC (LCI Champions). - - // Setting again here... just because for now. - // $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; - // $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; -} - -function sign_out() { - $ae_loc.authenticated_access = false; - $ae_loc.access_type = 'anonymous'; - - $events_loc.auth__person = { - id: null, - email: null, - full_name: null, - entered_key: null, - entered_passcode: null, - }; - $events_loc.auth__kv = { - session: {}, - presentation: {}, - presenter: {}, - person: {}, - }; -} - -// $: if ($slct_trigger == 'load__event_file_obj_li') { -// console.log(`load__event_file_obj_li event_session_id=${$slct.account_id}`); - -// $slct_trigger = null; - -// let ae_params = { -// qry__enabled: 'all', -// qry__hidden: 'all', -// qry__limit: 50 -// } - -// events_func.handle_load_ae_obj_li__event_file({ -// api_cfg: $ae_api, -// for_obj_type: 'event_session', -// for_obj_id: $events_slct.event_session_id, -// params: ae_params, -// try_cache: false -// }); +// // Setting again here... just because for now. +// $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; +// $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; // } -// $: if ($slct_trigger == 'load__event_presenter_obj_li') { -// console.log(`load__event_presenter_obj_li event_session_id=${$slct.account_id}`); +// function session_sign_in() { +// console.log('Session sign in with URL values'); -// $slct_trigger = null; +// $ae_loc.authenticated_access = true; +// $ae_loc.access_type = 'authenticated'; -// events_func.handle_load_ae_obj_li__event_presenter({ -// api_cfg: $ae_api, -// event_presentation_id: $events_slct.event_presentation_id, -// try_cache: false -// }); +// $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id +// $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case +// $events_loc.auth__person.email = 'test@example.com'; +// $events_loc.auth__person.full_name = 'Test Person'; + +// $events_loc.auth__kv.person[$events_sess.entered_key] = true; +// $events_loc.auth__kv.session[$events_slct.event_session_id] = true; +// $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = false; // Set to false for session POC (LCI Champions). +// $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = false; // Set to false for session POC (LCI Champions). + +// // Setting again here... just because for now. +// // $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; +// // $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; // } +// function sign_out() { +// $ae_loc.authenticated_access = false; +// $ae_loc.access_type = 'anonymous'; -// function send_init_confirm_email( -// { -// to_email, -// to_name, -// person_id, -// person_passcode, -// presentation_id, -// presenter_id, -// presentation_name -// }: { -// to_email: string, -// to_name: string, -// person_id: string, -// person_passcode: string, -// presentation_id: string, -// presenter_id: string, -// presentation_name: string -// } -// ) { -// console.log(`*** send_init_confirm_email() *** to ${to_email}.`); - -// // let new_passcode = Math.floor(Math.random() * 900000) + 100000 - -// // to_email = 'test+agree@oneskyit.com'; - -// let sign_in_url = encodeURI(`${data.url.origin}/events_pres_mgmt/session/${$events_slct.event_session_id}?person_id=${person_id}&person_pass=${person_passcode}&presentation_id=${presentation_id}&presenter_id=${presenter_id}`) - -// let subject = `LCI Congress 2024 - Pres Mgmt Hub Sign In Link for ${$lq__event_session_obj?.name} (ID: ${$events_slct.event_session_id})`; - -// let body_html = ` -// <div>${to_name}, -// <p>Your link to sign into the presentation management hub for LCI Congress 2024 is below. If you did not request this, please delete and ignore this email. If you need to make any changes or updates to your submission, you may use this link again later.</p> -// </div> - -// <div> -// <strong>26th Annual Lean Construction Congress (2024)</strong>:<br> -// <p> -// Session Name: ${$lq__event_session_obj?.name}<br> -// Session ID: ${$lq__event_session_obj?.event_session_id_random}<br> -// Presentation Name: ${presentation_name}<br> -// Presentation ID: ${presentation_id} -// </p> -// <p>Use this link to view or update your LCI 2024 presentation information.<br> -// Copy and paste link: <a href="${sign_in_url}">${sign_in_url}</a></p> -// </div>`; - -// api.send_email({ -// api_cfg: $ae_api, -// from_email: 'noreply+presmgmt@oneskyit.com', -// from_name: 'LCI 2024 Pres Mgmt Hub', -// to_email: to_email, -// subject: subject, -// body_html: body_html, -// }); +// $events_loc.auth__person = { +// id: null, +// email: null, +// full_name: null, +// entered_key: null, +// entered_passcode: null, +// }; +// $events_loc.auth__kv = { +// session: {}, +// presentation: {}, +// presenter: {}, +// person: {}, +// }; // } - - -// function send_sign_in_poc_email( -// { -// to_email, -// to_name, -// person_id, -// person_passcode, -// session_id, -// }: { -// to_email: string, -// to_name: string, -// person_id: string, -// person_passcode: string, -// session_id: string, -// } -// ) { -// console.log(`*** send_sign_in_poc_email() *** to ${to_email}.`); - -// // to_email = 'test+agree@oneskyit.com'; - -// let sign_in_url = encodeURI(`${data.url.origin}/events_pres_mgmt/session/${$events_slct.event_session_id}?person_id=${person_id}&person_pass=${person_passcode}&session_id=${session_id}`); - -// let subject = `LCI Congress 2024 - Pres Mgmt Hub Sign In Link for ${$lq__event_session_obj?.name} (ID: ${$events_slct.event_session_id})`; - -// let body_html = ` -// <div>${to_name}, -// <p>Your link to sign into the presentation management hub as a session Champion for LCI Congress 2024 is below. If you did not request this, please delete and ignore this email. If you need to make any changes or updates to your submission, you may use this link again later.</p> -// </div> - -// <div> -// <strong>26th Annual Lean Construction Congress (2024)</strong>:<br> -// <p> -// Session Name: ${$lq__event_session_obj?.name}<br> -// Session ID: ${$lq__event_session_obj?.event_session_id_random} -// </p> -// <p>Use this link to view or update your LCI 2024 session information.<br> -// Copy and paste link: <a href="${sign_in_url}">${sign_in_url}</a></p> -// </div>`; -// api.send_email({ -// api_cfg: $ae_api, -// from_email: 'noreply+presmgmt@oneskyit.com', -// from_name: 'LCI 2024 Pres Mgmt Hub', -// to_email: to_email, -// subject: subject, -// body_html: body_html, -// }); -// } - -$: if ($lq__event_session_obj) { - // Generate a QR code for the object ID. - // ae_promises.generate_qr_code_obj_id = core_func.generate_qr_code({api_cfg: $ae_api, account_id: $slct.account_id, qr_type: 'obj', qr_id: $lq__event_session_obj?.event_session_id_random, obj_type: 'event_session', obj_id: $lq__event_session_obj?.event_session_id_random}); - - // Generate a QR code for the URL. - let qr_id_url = `${$lq__event_session_obj?.event_session_id_random}_url`; - - // URL for this page (be sure to URL encode it): - let url_str = `${$ae_loc.url_origin}/events_pres_mgmt/session/${$lq__event_session_obj.event_session_id_random}`; - url_str = encodeURI(url_str); - - ae_promises.generate_qr_code_url = core_func.generate_qr_code({api_cfg: $ae_api, account_id: $slct.account_id, qr_type: 'str', qr_id: qr_id_url, str: url_str}); -} - </script> + <svelte:head> <title> Session: {ae_util.shorten_string({string: $lq__event_session_obj?.name, max_length: 12})} ({$lq__event_session_obj?.event_session_id}) - Pres Mgmt - {$events_loc?.title} @@ -458,33 +216,227 @@ $: if ($lq__event_session_obj) { class="ae_events_pres_mgmt_event_session md:container h-full mx-auto flex flex-col space-y-4 pt-0 pb-8" > +<!-- New standard page specific menu 2024-08-01 --> <div class="pres_mgmt__session_menu {ae_snip.classes__events_pres_mgmt_menu}" - class:border-none={!$events_loc.pres_mgmt.show_content__session_help} + class:border-none={!$events_loc.pres_mgmt.show_menu__session} > - <div> - <a href="/events_pres_mgmt/event/{$events_slct.event_session_obj.event_id_random}" class="{ae_snip.classes__events_pres_mgmt_menu__button}"> - <span class="fas fa-arrow-left mx-1"></span> - Back to Session Search - </a> + <!-- The menu button options --> + <div + class="flex flex-row items-center justify-around w-full"> - <button - type="button" - on:click={() => { - $events_loc.pres_mgmt.show_content__session_help = !$events_loc.pres_mgmt.show_content__session_help; - }} - class="{ae_snip.classes__events_pres_mgmt_menu__button}" - title="Help and information about the session" + <span + class="ae_menu__navigation_options" > - <span class="fas fa-question-circle mx-1"></span> - {#if $events_loc.pres_mgmt.show_content__session_help} - Hide - {:else} - Show + <a href="/events_pres_mgmt/event/{$events_slct.event_session_obj.event_id_random}" class="{ae_snip.classes__events_pres_mgmt_menu__button}"> + <span class="fas fa-arrow-left mx-1"></span> + Back to Session Search + </a> + </span> + + <span + class="ae_menu__object_options" + > + <button + type="button" + on:click={() => { + if ($events_loc.pres_mgmt.show_menu__session == 'options') { + $events_loc.pres_mgmt.show_menu__session = null; + } else { + $events_loc.pres_mgmt.show_menu__session = 'options'; + } + // $events_loc.pres_mgmt.show_menu__session = !$events_loc.pres_mgmt.show_menu__session; + }} + class="{ae_snip.classes__events_pres_mgmt_menu__button}" + title="Options for the session" + > + <span class="fas fa-cog mx-1"></span> + {#if $events_loc.pres_mgmt.show_menu__session == 'options'} + Hide + {:else} + Show + {/if} + Options + </button> + + <button + type="button" + on:click={() => { + if ($events_loc.pres_mgmt.show_menu__session == 'help') { + $events_loc.pres_mgmt.show_menu__session = null; + } else { + $events_loc.pres_mgmt.show_menu__session = 'help'; + } + // $events_loc.pres_mgmt.show_menu__session = !$events_loc.pres_mgmt.show_menu__session; + }} + class="{ae_snip.classes__events_pres_mgmt_menu__button}" + title="Help and information about the session" + > + <span class="fas fa-question-circle mx-1"></span> + {#if $events_loc.pres_mgmt.show_menu__session == 'help'} + Hide + {:else} + Show + {/if} + Help? + </button> + </span> + + <span + class="ae_menu__action_options" + > + <!-- The Sign_in_out component is usually just a button for Sign Out if they are signed in as a POC or presenter. --> + <Sign_in_out data={data} /> + </span> + + </div> <!-- End of the menu button options --> + + + <!-- The expanded menu area for information and options --> + <div + class="flex flex-row items-center justify-around w-full" + class:hidden={$events_loc.pres_mgmt.show_menu__session != 'options'} + > + <Element_ae_crud + trigger_patch={ae_triggers.priority} + api_cfg={$ae_api} + object_type={'event_session'} + object_id={$lq__event_session_obj?.event_session_id_random} + field_name={'priority'} + field_type={'button'} + field_value={ae_tmp.value__priority} + allow_null={true} + hide_edit_btn={true} + outline_element={false} + show_crud={false} + display_inline={true} + class_li={'m-1'} + on:ae_crud_updated={e => { + console.log(`ae_crud_updated:`, e.detail); + + events_func.handle_load_ae_obj_id__event_session({api_cfg: $ae_api, event_session_id: $lq__event_session_obj?.event_session_id_random, log_lvl: 1}); + }} + > + {@html $lq__event_session_obj?.priority ? '<span class="fas fa-star m-1"></span> High Priority' : '<span class="far fa-star m-1"></span> Priority not set'} + <button + on:click={() => { + ae_tmp.value__priority = !$lq__event_session_obj?.priority; + + // $events_slct.exhibit_tracking_obj.priority = !$lq__event_session_obj?.priority; + ae_triggers.priority = true; + }} + class="btn btn-sm variant-soft-warning" + > + {@html ($lq__event_session_obj?.priority ? '<span class="fas fa-arrow-down m-1"></span> Not Priority?' : '<span class="fas fa-star m-1"></span> High?')} + </button> + </Element_ae_crud> + + <Element_ae_crud + trigger_patch={ae_triggers.hide} + api_cfg={$ae_api} + object_type={'event_session'} + object_id={$lq__event_session_obj?.event_session_id_random} + field_name={'hide'} + field_type={'button'} + field_value={ae_tmp.value__hide} + allow_null={false} + hide_edit_btn={true} + outline_element={false} + show_crud={false} + display_inline={true} + class_li={'m-1'} + on:ae_crud_updated={e => { + console.log(`ae_crud_updated:`, e.detail); + + events_func.handle_load_ae_obj_id__event_session({api_cfg: $ae_api, event_session_id: $lq__event_session_obj?.event_session_id_random, log_lvl: 1}); + }} + > + {($lq__event_session_obj?.hide ? 'Hidden' : 'Not Hidden')} + <button + on:click={() => { + ae_tmp.value__hide = !$lq__event_session_obj?.hide; + + // $events_slct.exhibit_tracking_obj.hide = !$lq__event_session_obj?.hide; + ae_triggers.hide = true; + }} + class="btn btn-sm variant-soft-warning" + > + {@html ($lq__event_session_obj?.hide ? '<span class="fas fa-eye m-1"></span> Unhide?' : '<span class="fas fa-eye-slash m-1"></span> Hide?')} + </button> + </Element_ae_crud> + + + <!-- Enable/Disable --> + <Element_ae_crud + trigger_patch={ae_triggers.enable} + api_cfg={$ae_api} + object_type={'event_session'} + object_id={$lq__event_session_obj?.event_session_id_random} + field_name={'enable'} + field_type={'button'} + field_value={ae_tmp.value__enable} + allow_null={false} + hide_edit_btn={true} + outline_element={false} + show_crud={false} + display_inline={true} + class_li={'m-1'} + on:ae_crud_updated={e => { + console.log(`ae_crud_updated:`, e.detail); + + events_func.handle_load_ae_obj_id__event_session({api_cfg: $ae_api, event_session_id: $lq__event_session_obj?.event_session_id_random, log_lvl: 1}) + .then(function (load_results) { + // Maybe reload page? + // window.location.reload(); + }); + }} + > + {($lq__event_session_obj?.enable ? 'Enabled' : 'Disabled')} + <button + on:click={() => { + ae_tmp.value__enable = !$lq__event_session_obj?.enable; + + // $events_slct.exhibit_tracking_obj.hide = !$lq__event_session_obj?.hide; + ae_triggers.enable = true; + }} + class="btn btn-sm variant-soft-warning" + > + + {@html ($lq__event_session_obj?.enable ? '<span class="fas fa-toggle-on m-1"></span> Disable?' : '<span class="fas fa-toggle-off m-1"></span> Enable?')} + </button> + </Element_ae_crud> + + + <!-- Sort --> + + + <!-- Group --> + + + {#if $ae_loc.access_type && $ae_loc.access_type != 'anonymous' && $ae_loc.access_type != 'authenticated'} + {#if $ae_loc.edit_mode} + <button + on:click={() => { + $ae_loc.edit_mode = false; + }} + class="btn btn-sm variant-soft-success" + > + <span class="fas fa-toggle-on mx-1"></span> + Edit Mode On + </button> + {:else} + <button + on:click={() => { + $ae_loc.edit_mode = true; + }} + class="btn btn-sm variant-soft-warning" + > + <span class="fas fa-toggle-off mx-1"></span> + Edit Mode? + </button> + {/if} {/if} - Help? - </button> </div> <Element_data_store @@ -496,29 +448,30 @@ $: if ($lq__event_session_obj) { class_li="bg-yellow-100 p-2 rounded-md border border-yellow-200" show_edit={false} show_edit_btn={true} - hide={!$events_loc.pres_mgmt.show_content__session_help} + hide={$events_loc.pres_mgmt.show_menu__session != 'help'} /> <div> <button type="button" on:click={() => { - $events_loc.pres_mgmt.show_content__session_help = !$events_loc.pres_mgmt.show_content__session_help; + $events_loc.pres_mgmt.show_menu__session = !$events_loc.pres_mgmt.show_menu__session; }} class="btn btn-sm mx-1 variant-ghost-error hover:variant-filled-error" - class:hidden={!$events_loc.pres_mgmt.show_content__session_help} - title="Help and information about the session search" + class:hidden={!$events_loc.pres_mgmt.show_menu__session} + title="Collapse the expanded menu" > - <span class="fas fa-question-circle mx-1"></span> - {#if $events_loc.pres_mgmt.show_content__session_help} + <span class="fas fa-chevron-up mx-1"></span> + {#if $events_loc.pres_mgmt.show_menu__session} Hide + <!-- Collapse --> {:else} Show {/if} - Help? + <!-- Menu? --> </button> </div> -</div> +</div> <!-- End of the new standard page specific menu --> {#if !$lq__event_session_obj} <span class="fas fa-spinner fa-spin mx-1"></span> @@ -534,6 +487,57 @@ $: if ($lq__event_session_obj) { </section> +{#if $events_sess.pres_mgmt?.show_form__sign_in} + <div class="ae_quick_modal_container"> + <section class="ae_quick_popover"> + + <div class="flex flex-col items-center"> + + + <!-- <div class="h-4 p-10"> --> + + <!-- </div> --> + + <section class="ae_modal_scrollfix"> + <button + on:click={ + () => { + $events_sess.pres_mgmt.show_content__agree_text = null; + } + } + class="btn btn-md variant-soft-secondary hover:variant-filled-secondary float-right" + > + <span class="fas fa-times mx-1"></span> + Close + </button> + + + + + + </section> + + <!-- <div class="h-12"> --> + <button + on:click={ + () => { + $events_sess.pres_mgmt.show_content__agree_text = null; + } + } + class="btn btn-md variant-soft-secondary hover:variant-filled-secondary" + > + <span class="fas fa-times mx-1"></span> + Close + </button> + <!-- </div> --> + + </div> + + </section> + </div> +{/if} + + <style lang="postcss"> /* Use the div.ae_quick_modal_container to block background clicks when using the section.ae_quick_popover. */ diff --git a/src/routes/events_pres_mgmt/session_view.svelte b/src/routes/events_pres_mgmt/session_view.svelte index 623ea681..6a3743b0 100644 --- a/src/routes/events_pres_mgmt/session_view.svelte +++ b/src/routes/events_pres_mgmt/session_view.svelte @@ -69,47 +69,47 @@ onMount(() => { }); -function presenter_sign_in() { - console.log('Presenter sign in with URL values'); +// function presenter_sign_in() { +// console.log('Presenter sign in with URL values'); - $ae_loc.authenticated_access = true; - $ae_loc.access_type = 'authenticated'; +// $ae_loc.authenticated_access = true; +// $ae_loc.access_type = 'authenticated'; - $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id - $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case - $events_loc.auth__person.email = 'test@example.com'; - $events_loc.auth__person.full_name = 'Test Person'; +// $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id +// $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case +// $events_loc.auth__person.email = 'test@example.com'; +// $events_loc.auth__person.full_name = 'Test Person'; - $events_loc.auth__kv.person[$events_sess.entered_key] = true; - $events_loc.auth__kv.session[$events_slct.event_session_id] = false; // Set to false for presenters. - $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; - $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; +// $events_loc.auth__kv.person[$events_sess.entered_key] = true; +// $events_loc.auth__kv.session[$events_slct.event_session_id] = false; // Set to false for presenters. +// $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; +// $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; - // Setting again here... just because for now. - $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; - $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; -} +// // Setting again here... just because for now. +// $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; +// $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; +// } -function session_sign_in() { - console.log('Session sign in with URL values'); +// function session_sign_in() { +// console.log('Session sign in with URL values'); - $ae_loc.authenticated_access = true; - $ae_loc.access_type = 'authenticated'; +// $ae_loc.authenticated_access = true; +// $ae_loc.access_type = 'authenticated'; - $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id - $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case - $events_loc.auth__person.email = 'test@example.com'; - $events_loc.auth__person.full_name = 'Test Person'; +// $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id +// $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case +// $events_loc.auth__person.email = 'test@example.com'; +// $events_loc.auth__person.full_name = 'Test Person'; - $events_loc.auth__kv.person[$events_sess.entered_key] = true; - $events_loc.auth__kv.session[$events_slct.event_session_id] = true; - $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = false; // Set to false for session POC (LCI Champions). - $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = false; // Set to false for session POC (LCI Champions). +// $events_loc.auth__kv.person[$events_sess.entered_key] = true; +// $events_loc.auth__kv.session[$events_slct.event_session_id] = true; +// $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = false; // Set to false for session POC (LCI Champions). +// $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = false; // Set to false for session POC (LCI Champions). - // Setting again here... just because for now. - // $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; - // $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; -} +// // Setting again here... just because for now. +// // $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; +// // $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; +// } function sign_out() { $ae_loc.authenticated_access = false; @@ -734,7 +734,7 @@ $: if ($lq__event_session_obj) { </span> {/if} - {#if $events_loc.auth__person?.id} + <!-- {#if $events_loc.auth__person?.id} <button type="button" class="btn btn-sm variant-soft-warning hover:variant-ghost-warning" @@ -746,9 +746,10 @@ $: if ($lq__event_session_obj) { <span class="fas fa-times mx-1"></span> Sign Out (Clear Session) </button> - {/if} + {/if} --> {:else} + <div class="text-xl text-red-500 font-bold text-center p-1 m-1 border border-red-200 rounded-md bg-red-100" > @@ -761,92 +762,6 @@ $: if ($lq__event_session_obj) { </p> </div> - {#if ($events_sess.auth__person.presenter_id) || ($events_sess.auth__person.session_id)} - <div - class="border border-gray-200 p-2 rounded-md m-2 text-center space-y-2" - > - <div - class="text-sm text-gray-500" - > - Use the link that was sent to your email address to sign in or enter your key and passcode to sign in. - </div> - <div> - <input - type="text" - class="input max-w-36" - placeholder="Key" - value={$events_sess.auth__entered_key ?? ''} - on:input={(e) => $events_sess.auth__entered_key = e.target.value} - > - <input - type="text" - class="input max-w-36" - placeholder="Passcode" - value={$events_sess.auth__entered_passcode ?? ''} - on:input={(e) => $events_sess.auth__entered_passcode = e.target.value} - > - <button - class="btn btn-md variant-ghost-primary" - on:click={() => { - console.log('Sign in with URL values'); - - if ($events_sess.auth__person.presenter_id) { - presenter_sign_in(); - } else if ($events_sess.auth__person.session_id) { - session_sign_in(); - } - - // This needs to be moved to a function! - - // $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id - // $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case - // $events_loc.auth__person.email = 'test@example.com'; - // $events_loc.auth__person.full_name = 'Test Person'; - - // $events_loc.auth__kv.person[$events_sess.entered_key] = true; - // $events_loc.auth__kv.session[$events_slct.event_session_id] = true; - // $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; - // $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; - - // Setting again here... just because for now. - // $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; - // $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; - }} - > - <span class="fas fa-sign-in-alt mx-1"></span> - Sign In - </button> - </div> - - <div - class="text-sm text-gray-500" - > - For: - session: {$events_sess.auth__person.session_id} - presentation: {$events_sess.auth__person.presentation_id} - presenter: {$events_sess.auth__person.presenter_id} - <br> - - {$lq__event_presentation_obj?.name ? `Name: "${$lq__event_presentation_obj.name}"` : '-- not set --'} - </div> - - - {#if $events_loc.auth__person?.id} - <button - type="button" - class="btn btn-sm variant-soft-warning" - on:click={() => { - sign_out(); - alert('You have been signed out.'); - }} - > - <span class="fas fa-times mx-1"></span> - Sign Out - </button> - {/if} - </div> - {/if} - {/if} </div> diff --git a/src/routes/events_pres_mgmt/sign_in_out.svelte b/src/routes/events_pres_mgmt/sign_in_out.svelte new file mode 100644 index 00000000..b0460883 --- /dev/null +++ b/src/routes/events_pres_mgmt/sign_in_out.svelte @@ -0,0 +1,233 @@ +<script lang="ts"> +// /** @type {import('./$types').PageData} */ +export let data: any; +import { onMount } from 'svelte'; +import { browser } from '$app/environment'; +import { goto } from '$app/navigation'; + +import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores'; +import { events_loc, events_sess, events_slct, events_trigger, events_trig_kv } from '$lib/ae_events_stores'; + +if (browser) { +// onMount(() => { + console.log('Browser environment detected.'); + + let url_person_id = data.url.searchParams.get('person_id'); + let url_person_pass = data.url.searchParams.get('person_pass'); + let url_presentation_id = data.url.searchParams.get('presentation_id'); + let url_presenter_id = data.url.searchParams.get('presenter_id'); + let url_session_id = data.url.searchParams.get('session_id'); + + // This should be turned into a function to correctly authenticate the person and allow them access to their presentations and presenter details. + if (url_person_pass) { + console.log(`ae_events_pres_mgmt session [slug] +page.svelte: event_session_id=${$events_slct.event_session_id}; person_id=${url_person_id}; person_pass=${url_person_pass}; presentation_id=${url_presentation_id}; presenter_id=${url_presenter_id}`); + + // Using temporary session values first. + $events_sess.auth__entered_key = url_person_id; + $events_sess.auth__entered_passcode = url_person_pass; + + $events_sess.auth__person.id = url_person_id; + $events_sess.auth__person.presentation_id = url_presentation_id; + $events_sess.auth__person.presenter_id = url_presenter_id; + $events_sess.auth__person.session_id = url_session_id; // For POC or LCI Champions for sessions. Do not set for a presenter! + + $events_sess.auth__kv.person[url_person_id] = true; + $events_sess.auth__kv.session[$events_slct.event_session_id] = true; // For POC or LCI Champions for sessions. Do not set for a presenter! + $events_sess.auth__kv.presentation[url_presentation_id] = true; + $events_sess.auth__kv.presenter[url_presenter_id] = true; + + // We need to set the selected presentation and presenter objects based on the respective IDs. + if (url_presentation_id && url_presenter_id) { + $events_slct.event_presentation_id = url_presentation_id; + $events_slct.event_presenter_id = url_presenter_id; + } + + console.log('Remove the passcode from the URL.'); + data.url.searchParams.delete('person_id'); + data.url.searchParams.delete('person_pass'); + data.url.searchParams.delete('presentation_id'); + data.url.searchParams.delete('presenter_id'); + data.url.searchParams.delete('session_id'); + + let new_url = data.url.toString() + console.log(new_url); + goto(new_url, {replaceState: false}); + if (url_presenter_id) { + presenter_sign_in(); + } + + if (url_session_id) { + session_sign_in(); + } + } +// }); +} + +// For session point of contact (moderator, chair, LCI Champions). +function session_sign_in() { + console.log('Session sign in with URL values'); + + $ae_loc.authenticated_access = true; + $ae_loc.access_type = 'authenticated'; + + $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id + $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case + $events_loc.auth__person.email = 'test@example.com'; + $events_loc.auth__person.full_name = 'Test Person'; + + $events_loc.auth__kv.person[$events_sess.entered_key] = true; + $events_loc.auth__kv.session[$events_slct.event_session_id] = true; + $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = false; // Set to false for session POC (LCI Champions). + $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = false; // Set to false for session POC (LCI Champions). + + // Setting again here... just because for now. + // $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; + // $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; +} + +// For presenters within a session presentation. +function presenter_sign_in() { + console.log('Presenter sign in with URL values'); + + $ae_loc.authenticated_access = true; + $ae_loc.access_type = 'authenticated'; + + $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id + $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case + $events_loc.auth__person.email = 'test@example.com'; + $events_loc.auth__person.full_name = 'Test Person'; + + $events_loc.auth__kv.person[$events_sess.entered_key] = true; + $events_loc.auth__kv.session[$events_slct.event_session_id] = false; // Set to false for presenters. + $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; + $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; + + // Setting again here... just because for now. + $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; + $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; +} + +function sign_out() { + $ae_loc.authenticated_access = false; + $ae_loc.access_type = 'anonymous'; + + $events_loc.auth__person = { + id: null, + email: null, + full_name: null, + entered_key: null, + entered_passcode: null, + }; + $events_loc.auth__kv = { + session: {}, + presentation: {}, + presenter: {}, + person: {}, + }; + + $events_sess.auth__person.presenter_id = null; + // $events_sess.auth__person.presentation_id = null; + $events_sess.auth__person.session_id = null; +} +</script> + + +<span> +{#if $events_loc.auth__person?.id} +<button + type="button" + class="btn btn-sm variant-soft-warning" + on:click={() => { + sign_out(); + alert('You have been signed out.'); + }} + > + <span class="fas fa-times mx-1"></span> + Sign Out +</button> +{:else if $events_sess.auth__person.presenter_id || $events_sess.auth__person.session_id} +<div + class="border border-gray-200 p-2 rounded-md m-2 text-center space-y-2" + > + <div + class="text-sm text-gray-500" + > + Use the link that was sent to your email address to sign in or enter your key and passcode to sign in. + </div> + <div> + <input + type="text" + class="input max-w-36" + placeholder="Key" + value={$events_sess.auth__entered_key ?? ''} + on:input={(e) => $events_sess.auth__entered_key = e.target.value} + > + <input + type="text" + class="input max-w-36" + placeholder="Passcode" + value={$events_sess.auth__entered_passcode ?? ''} + on:input={(e) => $events_sess.auth__entered_passcode = e.target.value} + > + <button + class="btn btn-md variant-ghost-primary" + on:click={() => { + console.log('Sign in with URL values'); + + if ($events_sess.auth__person.presenter_id) { + presenter_sign_in(); + } else if ($events_sess.auth__person.session_id) { + session_sign_in(); + } + + // This needs to be moved to a function! + + // $events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id + // $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case + // $events_loc.auth__person.email = 'test@example.com'; + // $events_loc.auth__person.full_name = 'Test Person'; + + // $events_loc.auth__kv.person[$events_sess.entered_key] = true; + // $events_loc.auth__kv.session[$events_slct.event_session_id] = true; + // $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; + // $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; + + // Setting again here... just because for now. + // $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id; + // $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id; + }} + > + <span class="fas fa-sign-in-alt mx-1"></span> + Sign In + </button> + </div> + + <div + class="text-sm text-gray-500" + > + For: + session: {$events_sess.auth__person.session_id} + presentation: {$events_sess.auth__person.presentation_id} + presenter: {$events_sess.auth__person.presenter_id} + <br> + + <!-- {$lq__event_presentation_obj?.name ? `Name: "${$lq__event_presentation_obj.name}"` : '-- not set --'} --> + </div> + + + <!-- {#if $events_loc.auth__person?.id} + <button + type="button" + class="btn btn-sm variant-soft-warning" + on:click={() => { + sign_out(); + alert('You have been signed out.'); + }} + > + <span class="fas fa-times mx-1"></span> + Sign Out + </button> + {/if} --> +</div> +{/if} +</span> \ No newline at end of file