From 1b6aeb5b02ed9651b25ffb68ae413c6835c20458 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 2 Jun 2026 19:11:37 -0400 Subject: [PATCH] fix(badges): polish print page chrome; fix header overlap with controls panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add pr-64/pr-80 + transition to page
so Review/Email actions stay clear of the fixed right controls panel (same as badge_render_area) - Remove redundant Re-print button from header — controls panel Test button covers the same use case; having both caused clipping and confusion - Fix datetime formatting: toLocaleString → ae_util.iso_datetime_formatter (date_full_no_year + time_12_long) for consistent display with badge list - Unify loading state to p-16/text-xl/mb-2 matching badge list style - Polish Badge Not Found layout; swap button weights (Back = primary action) - Add left-edge shadow to controls panel for better visual separation - Badge view debug section: gate to administrator_access, add object ID labels, add hover:max-h-64 expand and transition on pre blocks Co-Authored-By: Claude Sonnet 4.6 --- .../[badge_id]/ae_comp__badge_obj_view.svelte | 25 +++++++- .../badges/[badge_id]/print/+page.svelte | 64 ++++++++----------- 2 files changed, 50 insertions(+), 39 deletions(-) diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte index 2868c43b..46b6287f 100644 --- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte @@ -1225,22 +1225,41 @@ const code_to_icon: { -{#if $ae_loc.edit_mode} +{#if $ae_loc.edit_mode && $ae_loc.administrator_access}

Debug Information

+ +
+ Badge Object ID: {$lq__event_badge_obj?.event_badge_id}:
{JSON.stringify(
+            class="bg-surface-200 border-surface-300 text-surface-900 max-h-32 hover:max-h-64 overflow-auto rounded border p-2 text-xs wrap-break-words whitespace-pre-wrap dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 transition-all duration-500">{JSON.stringify(
                 $lq__event_badge_obj,
                 null,
                 2
             )}
+
+
+ +
+ Badge Template Object ID: {$lq__event_badge_template_obj?.event_badge_template_id}:
{JSON.stringify(
+            class="bg-surface-200 border-surface-300 text-surface-900 max-h-32 hover:max-h-64 overflow-auto rounded border p-2 text-xs wrap-break-words whitespace-pre-wrap dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 transition-all duration-500">{JSON.stringify(
                 $lq__event_badge_template_obj,
                 null,
                 2
             )}
+
+ +
{/if} diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte index 976d0fac..f331d812 100644 --- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/print/+page.svelte @@ -11,11 +11,13 @@ import { untrack } from 'svelte'; import { liveQuery } from 'dexie'; import { browser } from '$app/environment'; +import { fade } from 'svelte/transition'; import { ae_loc, ae_sess } from '$lib/stores/ae_stores'; import { db_events } from '$lib/ae_events/db_events'; import { events_loc } from '$lib/stores/ae_events_stores'; import { page } from '$app/state'; -import { ArrowLeft, Eye, LoaderCircle, Mail, Printer } from '@lucide/svelte'; +import { ArrowLeft, Eye, LoaderCircle, Mail } from '@lucide/svelte'; +import { ae_util } from '$lib/ae_utils/ae_utils'; import Comp_badge_obj_view from '../ae_comp__badge_obj_view.svelte'; import Comp_badge_print_controls from '../ae_comp__badge_print_controls.svelte'; @@ -390,9 +392,13 @@ $effect(() => { {#if $lq__event_badge_obj && $lq__event_badge_obj.event_id && event_badge_id} +
+ class="mb-3 flex w-full flex-row flex-wrap items-center justify-between gap-2 border-b border-gray-300 dark:border-gray-700 pb-2 transition-all duration-200 print:hidden" + class:hidden={hide_chrome} + class:pr-80={is_editing} + class:pr-64={!is_editing}> - +