fix: consistent Lucide icons and auth checks on all Agreed buttons

session_view.svelte: replaced raw Unicode ✓/✗ in hardcoded color spans with
Check/X Lucide components (class="mr-1") matching the app icon pattern.

ae_comp__event_presenter_obj_li.svelte: same icon cleanup (removed bg-red-500,
px-1, text-green-500 etc). Also brought disabled conditions in line with
presenter_page_menu.svelte — now checks auth__kv.presenter by both
event_presenter_id and email, plus person_id match, so multi-session and
email-identity presenters can interact with their Agreed buttons from the list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-06-15 17:15:37 -04:00
parent 06f52bae34
commit a784395d7b
2 changed files with 13 additions and 22 deletions

View File

@@ -249,55 +249,44 @@ let ae_tmp: key_val = $state({});
<button
type="button"
disabled={!$ae_loc.trusted_access &&
!events_auth_loc.current.auth__kv.presenter[
event_presenter_obj.event_presenter_id
]}
!events_auth_loc.current.auth__kv.presenter[event_presenter_obj.event_presenter_id] &&
!events_auth_loc.current.auth__kv.presenter[event_presenter_obj.email ?? ''] &&
!(events_auth_loc.current.auth__person.id && events_auth_loc.current.auth__person.id === event_presenter_obj.person_id)}
onclick={() => {
console.log('View terms and conditions');
$events_slct.event_presentation_id =
event_presenter_obj.event_presentation_id;
// $events_slct.event_presentation_obj = $lq__event_presentation_obj;
$events_slct.event_presenter_id =
event_presenter_obj.event_presenter_id;
// $events_slct.event_presenter_obj = event_presenter_obj;
$events_sess.pres_mgmt.show_modal__presenter_agree =
event_presenter_obj.event_presenter_id;
}}
class="btn preset-tonal-success hover:preset-filled-success-500 my-0.5"
class:btn-sm={display_mode != 'default'}
title="Agreed to terms and conditions">
<Check size="1em" class="px-1 text-green-500" />
<Check size="1em" class="mr-1" />
Agreed
</button>
{:else}
<button
type="button"
disabled={!$ae_loc.trusted_access &&
!events_auth_loc.current.auth__kv.presenter[
event_presenter_obj.event_presenter_id
]}
!events_auth_loc.current.auth__kv.presenter[event_presenter_obj.event_presenter_id] &&
!events_auth_loc.current.auth__kv.presenter[event_presenter_obj.email ?? ''] &&
!(events_auth_loc.current.auth__person.id && events_auth_loc.current.auth__person.id === event_presenter_obj.person_id)}
onclick={() => {
console.log('View terms and conditions');
$events_slct.event_presentation_id =
event_presenter_obj.event_presentation_id;
// $events_slct.event_presentation_obj = $lq__event_presentation_obj;
$events_slct.event_presenter_id =
event_presenter_obj.event_presenter_id;
// $events_slct.event_presenter_obj = event_presenter_obj;
$events_sess.pres_mgmt.show_modal__presenter_agree =
event_presenter_obj.event_presenter_id;
}}
class="btn preset-tonal-warning border-warning-500 hover:preset-filled-warning-500 my-0.5 border"
class:btn-sm={display_mode != 'default'}
title="View terms and conditions">
<X
size="1em"
class="mx-1 bg-red-500 px-1 text-white" />
<X size="1em" class="mr-1" />
Not yet agreed
</button>
{/if}

View File

@@ -36,6 +36,7 @@ import { db_events } from '$lib/ae_events/db_events';
import Comp_event_session_poc_profile from './ae_comp__event_session_poc_profile.svelte';
import Comp_event_session_poc_form_agree from './ae_comp__event_session_poc_form_agree.svelte';
import {
Check,
ChevronDown,
ChevronUp,
Clock,
@@ -45,7 +46,8 @@ import {
MapPin,
Pencil,
RefreshCw,
Unlink
Unlink,
X
} from '@lucide/svelte';
if (!$events_sess.pres_mgmt) {
@@ -512,9 +514,9 @@ async function send_poc_email_link() {
onclick={() =>
($events_sess.pres_mgmt.show_modal__session_poc_agree = true)}>
{#if $lq__event_session_obj?.poc_agree}
<span class="mr-1 text-green-500"></span> Agreed
<Check size="1em" class="mr-1" /> Agreed
{:else}
<span class="mr-1 text-red-500"></span> Not yet agreed
<X size="1em" class="mr-1" /> Not yet agreed
{/if}
</button>