Lots of style improvements. Dark mode is mostly useable now. Work on reports.

This commit is contained in:
Scott Idem
2025-09-16 12:59:20 -04:00
parent 32b6f59245
commit c7b8d49730
14 changed files with 180 additions and 132 deletions

View File

@@ -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}&times;` : '')}
<span class="fas fa-list-ol mx-4"></span>
{$lq__event_presenter_obj_li.length ?? 'None'}&times;
</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>

View File

@@ -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'}&times;
</span>

View File

@@ -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}

View File

@@ -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}

View File

@@ -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'}
>

View File

@@ -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) -->

View File

@@ -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>

View File

@@ -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>