ui(badges): layout & fit-text tweaks; improve template form controls; remove badge modals from event settings; add documentation for passcode security
This commit is contained in:
@@ -1,14 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/state';
|
||||
import { goto } from '$app/navigation';
|
||||
import {
|
||||
Lock,
|
||||
Printer,
|
||||
Plus,
|
||||
Upload,
|
||||
FileText,
|
||||
BarChart2
|
||||
} from '@lucide/svelte';
|
||||
import { Lock, Printer } from '@lucide/svelte';
|
||||
import { liveQuery } from 'dexie';
|
||||
import { db_events, type Event } from '$lib/ae_events/db_events';
|
||||
import { onMount } from 'svelte';
|
||||
@@ -19,9 +12,6 @@ import AE_Comp_Editor_CodeMirror from '$lib/elements/element_editor_codemirror.s
|
||||
import Ae_comp_event_settings_form from './ae_comp__event_settings_form.svelte';
|
||||
import Ae_comp_event_settings_basic_form from './ae_comp__event_settings_basic_form.svelte';
|
||||
import Ae_comp_event_settings_abstracts_form from './ae_comp__event_settings_abstracts_form.svelte';
|
||||
import { Modal } from 'flowbite-svelte';
|
||||
import Comp_badge_create_form from '../(badges)/badges/ae_comp__badge_create_form.svelte';
|
||||
import Comp_badge_upload_form from '../(badges)/badges/ae_comp__badge_upload_form.svelte';
|
||||
|
||||
let event_id = page.params.event_id as string;
|
||||
let event_obj: Event | undefined | null = $state(null);
|
||||
@@ -38,9 +28,6 @@ let tmp_abstracts_json_str = $state('');
|
||||
let tmp_exhibits_json_str = $state('');
|
||||
let tmp_meetings_json_str = $state('');
|
||||
|
||||
let show_create_badge_modal: boolean = $state(false);
|
||||
let show_upload_badge_modal: boolean = $state(false);
|
||||
|
||||
onMount(() => {
|
||||
// Guard: administrator access required. 500ms grace delay matches the /core
|
||||
// layout pattern — allows the persisted store to hydrate before redirecting.
|
||||
@@ -130,33 +117,6 @@ async function handle_save(field_name: string, data: any) {
|
||||
<summary class="summary text-error-500 font-bold"
|
||||
>Admin Tools</summary>
|
||||
<div class="space-y-4 p-4">
|
||||
{#if (badges_loc.current.enable_add_badge_btn ?? true) || (badges_loc.current.enable_upload_badge_li_btn ?? true)}
|
||||
<div class="card rounded-md border p-4 text-center">
|
||||
<h4 class="h4">Badge Operations</h4>
|
||||
<div class="mt-2 flex flex-wrap justify-center gap-2">
|
||||
{#if badges_loc.current.enable_add_badge_btn ?? true}
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
onclick={() =>
|
||||
(show_create_badge_modal = true)}>
|
||||
<Plus size="1em" aria-hidden="true" /> Add New Badge
|
||||
</button>
|
||||
{/if}
|
||||
{#if badges_loc.current.enable_upload_badge_li_btn ?? true}
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary ml-2"
|
||||
onclick={() =>
|
||||
(show_upload_badge_modal = true)}>
|
||||
<Upload size="1em" aria-hidden="true" /> Upload Badge
|
||||
List
|
||||
</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if badges_loc.current.enable_mass_print ?? true}
|
||||
<div class="card rounded-md border p-4 text-center">
|
||||
<h4 class="h4">Mass Print Options</h4>
|
||||
@@ -182,20 +142,6 @@ async function handle_save(field_name: string, data: any) {
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="mt-4 flex flex-wrap justify-center gap-4">
|
||||
<a
|
||||
href={`/events/${event_id}/templates`}
|
||||
class="btn btn-tertiary">
|
||||
<FileText size="1em" aria-hidden="true" /> Manage Badge
|
||||
Templates
|
||||
</a>
|
||||
<a
|
||||
href={`/events/${event_id}/badges/stats`}
|
||||
class="btn btn-tertiary">
|
||||
<BarChart2 size="1em" aria-hidden="true" /> Badge Printing
|
||||
Stats
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
@@ -444,33 +390,6 @@ async function handle_save(field_name: string, data: any) {
|
||||
<p>Loading event data...</p>
|
||||
{/if}
|
||||
|
||||
{#if show_create_badge_modal}
|
||||
<Modal bind:open={show_create_badge_modal}>
|
||||
<div class="card p-4">
|
||||
<h3 class="h3">Create New Badge</h3>
|
||||
<Comp_badge_create_form
|
||||
{event_id}
|
||||
onsuccess={() => {
|
||||
show_create_badge_modal = false;
|
||||
}}
|
||||
oncancel={() => (show_create_badge_modal = false)} />
|
||||
</div>
|
||||
</Modal>
|
||||
{/if}
|
||||
|
||||
{#if show_upload_badge_modal}
|
||||
<Modal bind:open={show_upload_badge_modal}>
|
||||
<div class="card p-4">
|
||||
<h3 class="h3">Upload Badges (CSV)</h3>
|
||||
<Comp_badge_upload_form
|
||||
{event_id}
|
||||
onsuccess={() => {
|
||||
show_upload_badge_modal = false;
|
||||
}}
|
||||
oncancel={() => (show_upload_badge_modal = false)} />
|
||||
</div>
|
||||
</Modal>
|
||||
{/if}
|
||||
{:else}
|
||||
<!-- Non-administrator landed here — show a brief message while the onMount redirect fires -->
|
||||
<section
|
||||
|
||||
Reference in New Issue
Block a user