Lots of style improvements. Dark mode is mostly useable now. Work on reports.
This commit is contained in:
@@ -73,29 +73,41 @@ let ae_tmp: key_val = $state({});
|
||||
</div>
|
||||
|
||||
|
||||
<section class="ae_comp event_presenter_obj_li {container_class_li}">
|
||||
|
||||
<section
|
||||
class="
|
||||
ae_comp event_presenter_obj_li
|
||||
border-1 border-dashed border-y-transparent border-r-transparent
|
||||
sm:border-l-red-400 md:border-l-yellow-400 lg:border-l-gray-100
|
||||
sm:dark:border-l-red-600 md:dark:border-l-yellow-600 lg:dark:border-l-gray-700
|
||||
px-0.5 py-2 space-y-2
|
||||
min-w-full
|
||||
w-full
|
||||
container overflow-x-scroll {container_class_li}
|
||||
"
|
||||
>
|
||||
|
||||
<h3
|
||||
class:hidden={$lq__event_presenter_obj_li?.length < 2 && !$ae_loc.edit_mode}
|
||||
class="h5 border-b-1 border-gray-300/50"
|
||||
class="h5 text-success-800-400"
|
||||
>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">
|
||||
<span class="text-sm">
|
||||
Presenters:
|
||||
|
||||
<span class="text-sm text-semibold px-4 py-1 bg-success-100-900 border rounded-lg border-success-200"
|
||||
class:hidden={!$lq__event_presenter_obj_li?.length}
|
||||
title="Presenters: {$lq__event_presenter_obj_li?.length ?? 'None'}"
|
||||
{#if $lq__event_presenter_obj_li?.length}
|
||||
<span
|
||||
class="text-3xl font-bold preset-filled-success-100-900 px-4 rounded-lg"
|
||||
title="Count {$lq__event_presenter_obj_li.length ?? 'None'}"
|
||||
>
|
||||
<span class="fas fa-user m-1"></span>
|
||||
{@html ($lq__event_presenter_obj_li?.length ? `${$lq__event_presenter_obj_li?.length}×` : '')}
|
||||
<span class="fas fa-list-ol mx-4"></span>
|
||||
{$lq__event_presenter_obj_li.length ?? 'None'}×
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
{#if !$lq__event_presenter_obj_li?.length}
|
||||
<!-- {#if !$lq__event_presenter_obj_li?.length}
|
||||
<span class="text-sm text-gray-500">
|
||||
No presenters available to show at this time
|
||||
</span>
|
||||
{/if}
|
||||
{/if} -->
|
||||
</span>
|
||||
</h3>
|
||||
|
||||
|
||||
@@ -122,9 +122,10 @@ function generate_presenter_export_csv(ae_obj_li) {
|
||||
</span>
|
||||
|
||||
{#if $lq__event_presenter_obj_li.length}
|
||||
<span class="text-3xl font-bold bg-success-100 px-4 border rounded-lg border-success-200"
|
||||
title="Count {$lq__event_presenter_obj_li.length ?? 'None'}"
|
||||
>
|
||||
<span
|
||||
class="text-3xl font-bold preset-filled-success-100-900 px-4 rounded-lg"
|
||||
title="Count {$lq__event_presenter_obj_li.length ?? 'None'}"
|
||||
>
|
||||
<span class="fas fa-list-ol mx-4"></span>
|
||||
{$lq__event_presenter_obj_li.length ?? 'None'}×
|
||||
</span>
|
||||
|
||||
@@ -123,6 +123,6 @@ let lq__event_presenter_obj_li = $derived(liveQuery(async () => {
|
||||
</Comp_event_presenter_obj_tbl>
|
||||
{:else}
|
||||
<section class="main_content grow px-1 md:px-2 pb-28 flex flex-col gap-1 items-center">
|
||||
<p>No presenters available to show. WRAPPER</p>
|
||||
<p>No presenters available to show in table.</p>
|
||||
</section>
|
||||
{/if}
|
||||
@@ -571,7 +571,13 @@ async function handle_qry__event_session(
|
||||
|
||||
{:else}
|
||||
|
||||
<h2 class="h2 text-center rounded-md p-1 px-2 bg-gray-300 flex flex-row gap-0.25 items-center justify-between w-full">
|
||||
<h2
|
||||
class="
|
||||
h2 text-center rounded-md p-1 px-2
|
||||
preset-filled-surface-400-600 text-neutral-800/90
|
||||
flex flex-row gap-0.25 items-center justify-between w-full
|
||||
"
|
||||
>
|
||||
<span
|
||||
class="flex flex-row gap-1 items-center"
|
||||
>
|
||||
@@ -691,17 +697,17 @@ async function handle_qry__event_session(
|
||||
<!-- {#await ae_promises.handle_search__event_presenter}
|
||||
<span class="fas fa-spinner fa-spin"></span>
|
||||
{/await} -->
|
||||
{#if $events_sess.pres_mgmt?.show_report == 'presenters_agree' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
|
||||
{#if $events_loc.pres_mgmt?.show_report == 'presenters_agree' && $events_sess.pres_mgmt?.status_qry__search == 'loading'}
|
||||
<span class="fas fa-spinner fa-spin"></span>
|
||||
{/if}
|
||||
|
||||
{#if $events_loc.pres_mgmt.rpt__presenter_agree}
|
||||
{:else if $events_loc.pres_mgmt.rpt__presenter_agree}
|
||||
<span class="fas fa-check m-1"></span>
|
||||
Presenters
|
||||
Agreed
|
||||
{:else}
|
||||
<span class="fas fa-times m-1"></span>
|
||||
Presenters
|
||||
{/if}
|
||||
Presenters
|
||||
{#if $events_loc.pres_mgmt.rpt__presenter_agree}
|
||||
Agreed
|
||||
{:else}
|
||||
Not Agreed
|
||||
{/if}
|
||||
</button>
|
||||
@@ -718,14 +724,16 @@ async function handle_qry__event_session(
|
||||
});
|
||||
$events_loc.pres_mgmt.show_report = 'presenters_biography';
|
||||
}}
|
||||
class:hidden={$lq__event_obj?.mod_pres_mgmt_json?.hide__report_kv.presenter_no_bio}
|
||||
class:hidden={$lq__event_obj?.mod_pres_mgmt_json?.hide__report_kv.presenter_no_bio && !$ae_loc.edit_mode}
|
||||
class="btn btn-sm preset-tonal-success border border-success-500 hover:preset-filled-success-500 transition-all m-1"
|
||||
title="Show presenters with bios."
|
||||
>
|
||||
{#if $events_sess.pres_mgmt?.show_report == 'presenters_biography' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
|
||||
{#if $events_loc.pres_mgmt?.show_report == 'presenters_biography' && $events_sess.pres_mgmt?.status_qry__search == 'loading'}
|
||||
<span class="fas fa-spinner fa-spin"></span>
|
||||
{:else}
|
||||
<span class="fas fa-id-card m-1"></span>
|
||||
<!-- <span class="fas fa-book m-1"></span> -->
|
||||
{/if}
|
||||
<span class="fas fa-book m-1"></span>
|
||||
Presenter Bios
|
||||
</button>
|
||||
|
||||
@@ -741,9 +749,9 @@ async function handle_qry__event_session(
|
||||
});
|
||||
$events_loc.pres_mgmt.show_report = 'presenters_overview';
|
||||
}}
|
||||
class:hidden={$lq__event_obj?.mod_pres_mgmt_json?.hide__report_kv.presenter_overview || !$ae_loc.administrator_access}
|
||||
class:hidden={$lq__event_obj?.mod_pres_mgmt_json?.hide__report_kv.presenter_overview}
|
||||
class="btn btn-sm preset-tonal-success border border-success-500 hover:preset-filled-success-500 transition-all m-1"
|
||||
title="NOT READY YET: Show overview of presenters' statuses. (for LCI)"
|
||||
title="Show overview of presenters' statuses. (A work in progress for LCI)"
|
||||
>
|
||||
{#if $events_sess.pres_mgmt?.show_report == 'presenters_overview' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
|
||||
<span class="fas fa-spinner fa-spin"></span>
|
||||
@@ -869,24 +877,25 @@ async function handle_qry__event_session(
|
||||
|
||||
|
||||
<!-- All Event Presenter related reports -->
|
||||
<Reports_presenters
|
||||
lq__event_obj={lq__event_obj}
|
||||
event_presenter_obj_li={$events_sess.event_presenter_obj_li}
|
||||
{#if $events_loc.pres_mgmt.show_report == 'presenters_agree' || $events_loc.pres_mgmt.show_report == 'presenters_biography' || $events_loc.pres_mgmt.show_report == 'presenters_overview'}
|
||||
<Reports_presenters
|
||||
lq__event_obj={lq__event_obj}
|
||||
event_presenter_obj_li={$events_sess.event_presenter_obj_li}
|
||||
|
||||
rpt__name={$events_loc.pres_mgmt.show_report}
|
||||
rpt__sort={$events_loc.pres_mgmt.qry__presenter_sort}
|
||||
rpt__enabled={$events_loc.pres_mgmt.qry_enabled}
|
||||
rpt__hidden={$events_loc.pres_mgmt.qry_hidden}
|
||||
rpt__limit={$events_loc.pres_mgmt.qry_limit__presenters}
|
||||
rpt__name={$events_loc.pres_mgmt.show_report}
|
||||
rpt__sort={$events_loc.pres_mgmt.qry__presenter_sort}
|
||||
rpt__enabled={$events_loc.pres_mgmt.qry_enabled}
|
||||
rpt__hidden={$events_loc.pres_mgmt.qry_hidden}
|
||||
rpt__limit={$events_loc.pres_mgmt.qry_limit__presenters}
|
||||
|
||||
qry__status={$events_sess.pres_mgmt.status_qry__search}
|
||||
qry__count={$events_sess.event_presenter_obj_li?.length ?? 0}
|
||||
bind:qry__status={$events_sess.pres_mgmt.status_qry__search}
|
||||
qry__count={$events_sess.event_presenter_obj_li?.length ?? 0}
|
||||
|
||||
hide_session_code={$events_loc.pres_mgmt?.hide__session_code}
|
||||
|
||||
log_lvl={log_lvl}
|
||||
/>
|
||||
hide_session_code={$events_loc.pres_mgmt?.hide__session_code}
|
||||
|
||||
log_lvl={log_lvl}
|
||||
/>
|
||||
{/if}
|
||||
|
||||
<!-- Show presenters that have agreed -->
|
||||
<!-- {#if 1==3 && $events_loc.pres_mgmt.show_report == 'presenters_agree' && $events_sess.event_presenter_obj_li}
|
||||
|
||||
@@ -98,7 +98,14 @@ let ae_triggers: key_val = {};
|
||||
|
||||
<!-- BEGIN: The expanded menu area for information and options -->
|
||||
<div
|
||||
class="flex flex-row items-center justify-around w-full bg-blue-100 hover:bg-blue-200 border border-blue-200 hover:border-blue-400 p-2 rounded-md"
|
||||
class="
|
||||
flex flex-row items-center justify-around
|
||||
w-full
|
||||
p-2 rounded-md
|
||||
bg-blue-100 hover:bg-blue-200
|
||||
dark:bg-blue-900 hover:dark:bg-blue-800
|
||||
border border-blue-200 hover:border-blue-400
|
||||
"
|
||||
class:hidden={$events_loc.pres_mgmt.show_menu__event_reports != 'options'}
|
||||
>
|
||||
|
||||
|
||||
@@ -274,10 +274,23 @@ async function handle_search__event_presenter(
|
||||
|
||||
<!-- Show presenters that have agreed -->
|
||||
{#if rpt__name == 'presenters_agree'}
|
||||
<!-- <div class="overflow-x-auto"> -->
|
||||
<header class="w-full flex flex-row flex-wrap items-center justify-center gap-1">
|
||||
<h3 class="h4 text-center">
|
||||
Presenters {#if $events_loc.pres_mgmt.rpt__presenter_agree}Agreed{:else}Not Agreed{/if}
|
||||
{event_presenter_obj_li.length ?? 0} found
|
||||
{#if qry__status == 'loading'}
|
||||
<span class="fas fa-spinner fa-spin m-1"></span>
|
||||
<!-- <span>Loading...</span> -->
|
||||
{:else if $events_loc.pres_mgmt.rpt__presenter_agree}
|
||||
<span class="fas fa-check m-1"></span>
|
||||
{:else}
|
||||
<span class="fas fa-times m-1"></span>
|
||||
{/if}
|
||||
Presenters
|
||||
{#if $events_loc.pres_mgmt.rpt__presenter_agree}Agreed{:else}Not Agreed{/if}
|
||||
<!-- {event_presenter_obj_li.length ?? 0} -->
|
||||
</h3>
|
||||
|
||||
|
||||
<div class="flex flex-row items-center justify-center">
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
@@ -295,6 +308,7 @@ async function handle_search__event_presenter(
|
||||
}}
|
||||
class="ae_btn_info btn btn-sm m-1"
|
||||
>
|
||||
|
||||
{#if $events_loc.pres_mgmt.rpt__presenter_agree}
|
||||
<!-- <span class="fas fa-check m-1"></span> -->
|
||||
<span class="fas fa-toggle-on m-1"></span>
|
||||
@@ -305,37 +319,24 @@ async function handle_search__event_presenter(
|
||||
Not Agreed
|
||||
{/if}
|
||||
</button>
|
||||
</h3>
|
||||
<!-- {#if !$events_loc.pres_mgmt.rpt__presenter_agree}
|
||||
<p class="text-center text-red-500 font-bold">This report is not complete! Some records will be missing from these results. This report is being worked on.</p>
|
||||
{/if} -->
|
||||
|
||||
<!-- bind:event_presenter_id_random_li={event_presenter_id_random_li} -->
|
||||
<!-- {#if event_presenter_id_random_li && event_presenter_id_random_li?.length } -->
|
||||
<!-- <Comp_event_presenter_obj_tbl
|
||||
bind:event_presenter_obj_li={event_presenter_obj_li}
|
||||
show_presentation_fields={true}
|
||||
show_session_fields={true}
|
||||
log_lvl={2}
|
||||
>
|
||||
</Comp_event_presenter_obj_tbl> -->
|
||||
<!-- {:else}
|
||||
<p class="text-center text-red-500 font-bold">No presenters found for this report.</p>
|
||||
{/if} -->
|
||||
</div>
|
||||
</header>
|
||||
{/if}
|
||||
|
||||
|
||||
<!-- Show presenters with bios -->
|
||||
{#if $events_loc.pres_mgmt.show_report == 'presenters_biography'}
|
||||
<h3 class="h4 text-center">Presenters with Bios</h3>
|
||||
|
||||
<!-- <Comp_event_presenter_obj_tbl
|
||||
bind:event_presenter_obj_li={event_presenter_obj_li}
|
||||
show_presentation_fields={true}
|
||||
show_session_fields={true}
|
||||
log_lvl={log_lvl}
|
||||
>
|
||||
</Comp_event_presenter_obj_tbl> -->
|
||||
<header class="w-full flex flex-row flex-wrap items-center justify-center gap-1">
|
||||
<h3 class="h4 text-center">
|
||||
{#if qry__status == 'loading'}
|
||||
<span class="fas fa-spinner fa-spin m-1"></span>
|
||||
<!-- <span>Loading...</span> -->
|
||||
{:else}
|
||||
<span class="fas fa-id-card m-1"></span>
|
||||
{/if}
|
||||
Presenters with Bios
|
||||
</h3>
|
||||
</header>
|
||||
{/if}
|
||||
|
||||
|
||||
@@ -343,12 +344,14 @@ async function handle_search__event_presenter(
|
||||
{#if $events_loc.pres_mgmt.show_report == 'presenters_overview'}
|
||||
<header class="w-full flex flex-row flex-wrap items-center justify-center gap-1">
|
||||
<h3 class="h4 text-center">
|
||||
{#if qry__status == 'loading'}
|
||||
<span class="fas fa-spinner fa-spin m-1"></span>
|
||||
<!-- <span>Loading...</span> -->
|
||||
{:else}
|
||||
<span class="fas fa-list m-1"></span>
|
||||
{/if}
|
||||
Presenters Overview
|
||||
</h3>
|
||||
{#if qry__status == 'loading'}
|
||||
<span class="fas fa-spinner fa-spin m-1"></span>
|
||||
<span>Loading...</span>
|
||||
{/if}
|
||||
|
||||
<div class="flex flex-row items-center justify-center">
|
||||
<!-- Sorting options (presenter name, start_datetime, updated_on) -->
|
||||
|
||||
@@ -239,7 +239,7 @@ if (!$ae_loc.authenticated_access && $events_loc.pres_mgmt.show_content__session
|
||||
class="badge text-sm preset-tonal-tertiary flex flex-col gap-0.25 max-w-fit"
|
||||
title="Session code {$lq__event_session_obj.code}"
|
||||
>
|
||||
<span>
|
||||
<span class="text-xs text-surface-800-200">
|
||||
<span class="fas fa-barcode m-1"></span>
|
||||
code
|
||||
</span>
|
||||
|
||||
@@ -201,7 +201,7 @@ let clipboard_success = $state(false);
|
||||
});
|
||||
}}
|
||||
>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">Name/title:</span>
|
||||
<span class="text-sm text-semibold text-surface-600-400">Name/title:</span>
|
||||
<span class="font-semibold">
|
||||
{$lq__event_session_obj.name}
|
||||
</span>
|
||||
@@ -236,18 +236,24 @@ let clipboard_success = $state(false);
|
||||
});
|
||||
}}
|
||||
>
|
||||
<span class="text-sm text-gray-500 bg-yellow-100 p-1 rounded-md border border-yellow-200"
|
||||
<span
|
||||
class="
|
||||
text-sm
|
||||
bg-yellow-100 dark:bg-yellow-900
|
||||
border border-yellow-200 dark:border-yellow-800
|
||||
p-1 rounded-md
|
||||
"
|
||||
title="Session code {$lq__event_session_obj.code}"
|
||||
>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">code:</span>
|
||||
<span class="fas fa-barcode"></span>
|
||||
<span class="text-sm text-semibold text-surface-600-400">code:</span>
|
||||
<span class="fas fa-barcode text-surface-600-400"></span>
|
||||
{$lq__event_session_obj.code}
|
||||
</span>
|
||||
</Element_ae_crud>
|
||||
{/if}
|
||||
</li>
|
||||
<li>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">
|
||||
<span class="text-sm text-semibold text-surface-600-400">
|
||||
Date
|
||||
&
|
||||
<button
|
||||
@@ -267,7 +273,7 @@ let clipboard_success = $state(false);
|
||||
time
|
||||
</button>
|
||||
:</span>
|
||||
<span class="fas fa-calendar-alt text-neutral-800/80"></span>
|
||||
<span class="fas fa-calendar-alt text-surface-600-400"></span>
|
||||
<Element_ae_crud
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_session'}
|
||||
@@ -324,7 +330,7 @@ let clipboard_success = $state(false);
|
||||
</Element_ae_crud>
|
||||
</li>
|
||||
<li>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">
|
||||
<span class="text-sm text-semibold text-surface-600-400">
|
||||
Location/room:
|
||||
</span>
|
||||
<!-- Minimum level access to see the link here is trusted. Administrators can see even if the show launcher link is disabled. -->
|
||||
@@ -479,7 +485,7 @@ let clipboard_success = $state(false);
|
||||
<li
|
||||
class:hidden={$events_loc.pres_mgmt?.hide__session_poc}
|
||||
>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">
|
||||
<span class="text-sm text-semibold text-surface-600-400">
|
||||
{$events_loc.pres_mgmt?.label__session_poc_name}:
|
||||
</span>
|
||||
{#if $lq__event_session_obj?.poc_person_id}
|
||||
@@ -817,10 +823,10 @@ let clipboard_success = $state(false);
|
||||
|
||||
{#if $ae_loc.administrator_access}
|
||||
<li>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">
|
||||
<span class="text-sm text-semibold text-surface-600-400">
|
||||
Session passcode:
|
||||
</span>
|
||||
<span class="fas fa-key"></span>
|
||||
<span class="fas fa-key text-surface-600-400"></span>
|
||||
{@html $lq__event_session_obj.passcode ? $lq__event_session_obj.passcode : ae_snip.html__not_set}
|
||||
<Element_ae_crud
|
||||
api_cfg={$ae_api}
|
||||
@@ -879,7 +885,7 @@ let clipboard_success = $state(false);
|
||||
});
|
||||
}}
|
||||
>
|
||||
<span class="text-sm text-semibold text-neutral-800/80">
|
||||
<span class="text-sm text-semibold text-surface-600-400">
|
||||
Session description:
|
||||
</span>
|
||||
|
||||
@@ -902,7 +908,7 @@ let clipboard_success = $state(false);
|
||||
</button>
|
||||
|
||||
<pre
|
||||
class="whitespace-pre-wrap p-2 bg-gray-100 rounded-md"
|
||||
class="whitespace-pre-wrap p-2 bg-gray-100 dark:bg-gray-700 rounded-md"
|
||||
class:hidden={!$events_loc.pres_mgmt.show_content__session_description}
|
||||
>{$lq__event_session_obj.description}</pre>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user