diff --git a/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte index b27a0c5f..238056fd 100644 --- a/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/reports/+page.svelte @@ -6,13 +6,12 @@ interface Props { } let { data, log_lvl = 0 }: Props = $props(); -import { untrack } from 'svelte'; import { liveQuery } from 'dexie'; import { page } from '$app/state'; import { ae_loc } from '$lib/stores/ae_stores'; import { db_events } from '$lib/ae_events/db_events'; -import { events_loc, events_slct } from '$lib/stores/ae_events_stores'; +import { events_loc } from '$lib/stores/ae_events_stores'; import { ArrowLeft, TrendingUp, Type, Gauge, LoaderCircle } from '@lucide/svelte'; import Reports_badge_long_names from './reports_badge_long_names.svelte'; @@ -56,46 +55,55 @@ let reprint_count = $derived(
Trusted access required for badge reports.
{:else} -{$lq__event_obj.name}
+{$lq__event_obj.name}
{/if}Select a report above to view results.
{/if} {/if} diff --git a/src/routes/events/[event_id]/(badges)/badges/reports/reports_badge_long_names.svelte b/src/routes/events/[event_id]/(badges)/badges/reports/reports_badge_long_names.svelte index b185f931..39725652 100644 --- a/src/routes/events/[event_id]/(badges)/badges/reports/reports_badge_long_names.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/reports/reports_badge_long_names.svelte @@ -12,6 +12,8 @@ type NameField = 'given' | 'family' | 'full'; let name_field: NameField = $state('full'); let threshold: number = $state(20); +const MAX_DISPLAY = 500; + function get_display_name(badge: any): string { switch (name_field) { case 'given': @@ -29,7 +31,7 @@ function get_display_name(badge: any): string { } function get_field_label(field: NameField): string { - return field === 'given' ? 'Given Name' : field === 'family' ? 'Family Name' : 'Full Name'; + return field === 'given' ? 'Given' : field === 'family' ? 'Family' : 'Full Name'; } interface BadgeRow { @@ -41,79 +43,83 @@ interface BadgeRow { has_override: boolean; } -let results: BadgeRow[] = $derived.by(() => { +let all_results: BadgeRow[] = $derived.by(() => { if (!badge_li?.length) return []; return badge_li .map((b) => { const display_name = get_display_name(b); - const has_override = - name_field === 'full' - ? !!b.full_name_override - : false; return { event_badge_id: b.event_badge_id, display_name, name_len: display_name.length, badge_type: b.badge_type_override ?? b.badge_type ?? null, affiliations: b.affiliations_override ?? b.affiliations ?? null, - has_override + has_override: name_field === 'full' ? !!b.full_name_override : false }; }) .filter((r) => r.name_len >= threshold) .sort((a, b) => b.name_len - a.name_len); }); + +let results = $derived(all_results.slice(0, MAX_DISPLAY)); +let is_truncated = $derived(all_results.length > MAX_DISPLAY);+
No badges found with a {get_field_label(name_field).toLowerCase()} of {threshold} or more characters.
{:else} -