Prettier for Events as a whole. Everything else under that primary directory.
This commit is contained in:
@@ -1,73 +1,73 @@
|
||||
<script lang="ts">
|
||||
// console.log(`ae_events_pres_mgmt +page data:`, data);
|
||||
// console.log(`ae_events_pres_mgmt Data Params:`, data.url.searchParams.get('event_id'));
|
||||
// console.log(`ae_events_pres_mgmt +page data:`, data);
|
||||
// console.log(`ae_events_pres_mgmt Data Params:`, data.url.searchParams.get('event_id'));
|
||||
|
||||
import { onMount } from 'svelte';
|
||||
import { onMount } from 'svelte';
|
||||
|
||||
import { liveQuery } from 'dexie';
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import {
|
||||
ae_loc,
|
||||
ae_sess,
|
||||
ae_api,
|
||||
slct,
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
// import {
|
||||
// events_loc,
|
||||
// events_slct,
|
||||
// events_trigger
|
||||
// } from '$lib/stores/ae_events_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import { CalendarDays, LoaderCircle, TriangleAlert } from '@lucide/svelte';
|
||||
import { page } from '$app/stores';
|
||||
import { liveQuery } from 'dexie';
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import {
|
||||
ae_loc,
|
||||
ae_sess,
|
||||
ae_api,
|
||||
slct,
|
||||
slct_trigger
|
||||
} from '$lib/stores/ae_stores';
|
||||
// import {
|
||||
// events_loc,
|
||||
// events_slct,
|
||||
// events_trigger
|
||||
// } from '$lib/stores/ae_events_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import { CalendarDays, LoaderCircle, TriangleAlert } from '@lucide/svelte';
|
||||
import { page } from '$app/stores';
|
||||
|
||||
interface Props {
|
||||
data: any;
|
||||
interface Props {
|
||||
data: any;
|
||||
}
|
||||
|
||||
let { data }: Props = $props();
|
||||
|
||||
let lq__event_obj_li = $derived(
|
||||
liveQuery(async () => {
|
||||
const account_id = $page.data.account_id;
|
||||
if (!account_id) return [];
|
||||
let results = await db_events.event
|
||||
.where('account_id')
|
||||
.equals(account_id)
|
||||
.reverse()
|
||||
.sortBy('start_datetime');
|
||||
return results;
|
||||
})
|
||||
);
|
||||
|
||||
let items_per_page = 10;
|
||||
let current_page = $state(1);
|
||||
|
||||
let paginated_events = $derived(() => {
|
||||
const start = (current_page - 1) * items_per_page;
|
||||
const end = start + items_per_page;
|
||||
return $lq__event_obj_li?.slice(start, end) ?? [];
|
||||
});
|
||||
|
||||
let total_events = $derived($lq__event_obj_li?.length ?? 0);
|
||||
let total_pages = $derived(Math.ceil(total_events / items_per_page));
|
||||
|
||||
function next_page() {
|
||||
if (current_page < total_pages) {
|
||||
current_page++;
|
||||
}
|
||||
}
|
||||
|
||||
let { data }: Props = $props();
|
||||
|
||||
let lq__event_obj_li = $derived(
|
||||
liveQuery(async () => {
|
||||
const account_id = $page.data.account_id;
|
||||
if (!account_id) return [];
|
||||
let results = await db_events.event
|
||||
.where('account_id')
|
||||
.equals(account_id)
|
||||
.reverse()
|
||||
.sortBy('start_datetime');
|
||||
return results;
|
||||
})
|
||||
);
|
||||
|
||||
let items_per_page = 10;
|
||||
let current_page = $state(1);
|
||||
|
||||
let paginated_events = $derived(() => {
|
||||
const start = (current_page - 1) * items_per_page;
|
||||
const end = start + items_per_page;
|
||||
return $lq__event_obj_li?.slice(start, end) ?? [];
|
||||
});
|
||||
|
||||
let total_events = $derived($lq__event_obj_li?.length ?? 0);
|
||||
let total_pages = $derived(Math.ceil(total_events / items_per_page));
|
||||
|
||||
function next_page() {
|
||||
if (current_page < total_pages) {
|
||||
current_page++;
|
||||
}
|
||||
function prev_page() {
|
||||
if (current_page > 1) {
|
||||
current_page--;
|
||||
}
|
||||
}
|
||||
|
||||
function prev_page() {
|
||||
if (current_page > 1) {
|
||||
current_page--;
|
||||
}
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
// console.log('Events - Presentation Management: +page.svelte');
|
||||
});
|
||||
onMount(() => {
|
||||
// console.log('Events - Presentation Management: +page.svelte');
|
||||
});
|
||||
</script>
|
||||
|
||||
<h2 class="h3">
|
||||
@@ -119,12 +119,11 @@
|
||||
{#each $lq__event_obj_li as event_obj (event_obj.event_id)}
|
||||
<li class:dim={event_obj?.hide}>
|
||||
<span
|
||||
class="w-full flex flex-row gap-1 items-center justify-between"
|
||||
>
|
||||
class="flex w-full flex-row items-center justify-between gap-1">
|
||||
<!-- We do not want to show events more than 8 months old. -->
|
||||
{#if new Date(event_obj.start_datetime ?? '').getTime() > new Date().getTime() - 1000 * 60 * 60 * 24 * 30 * 8 || $ae_loc.trusted_access}
|
||||
<span>
|
||||
<CalendarDays size="1em" class="inline mx-1" />
|
||||
<CalendarDays size="1em" class="mx-1 inline" />
|
||||
{ae_util.iso_datetime_formatter(
|
||||
event_obj.start_datetime,
|
||||
'date_long'
|
||||
@@ -135,7 +134,7 @@
|
||||
</strong>
|
||||
{:else}
|
||||
<span>
|
||||
<CalendarDays size="1em" class="inline mx-1" />
|
||||
<CalendarDays size="1em" class="mx-1 inline" />
|
||||
{ae_util.iso_datetime_formatter(
|
||||
event_obj.start_datetime,
|
||||
'date_long'
|
||||
@@ -148,36 +147,31 @@
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="w-full flex flex-row gap-1 items-center justify-evenly"
|
||||
>
|
||||
class="flex w-full flex-row items-center justify-evenly gap-1">
|
||||
{#if $ae_loc.authenticated_access}
|
||||
<a
|
||||
data-sveltekit-reload
|
||||
href="/events/{event_obj.event_id}"
|
||||
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
|
||||
title="Presentation Management for {event_obj.name}"
|
||||
>
|
||||
class="btn btn-sm preset-tonal-secondary border-secondary-500 hover:preset-filled-secondary-500 border"
|
||||
title="Presentation Management for {event_obj.name}">
|
||||
Pres Mgmt
|
||||
</a>
|
||||
<a
|
||||
href="/events/{event_obj.event_id}/badges"
|
||||
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
|
||||
title="Badge Management for {event_obj.name}"
|
||||
>
|
||||
class="btn btn-sm preset-tonal-secondary border-secondary-500 hover:preset-filled-secondary-500 border"
|
||||
title="Badge Management for {event_obj.name}">
|
||||
Badges
|
||||
</a>
|
||||
<a
|
||||
href="/events/{event_obj.event_id}/leads"
|
||||
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
|
||||
title="Exhibitor Leads for {event_obj.name}"
|
||||
>
|
||||
class="btn btn-sm preset-tonal-secondary border-secondary-500 hover:preset-filled-secondary-500 border"
|
||||
title="Exhibitor Leads for {event_obj.name}">
|
||||
Leads
|
||||
</a>
|
||||
<a
|
||||
href="/events/{event_obj.event_id}/launcher"
|
||||
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
|
||||
title="Event Launcher for {event_obj.name}"
|
||||
>
|
||||
class="btn btn-sm preset-tonal-secondary border-secondary-500 hover:preset-filled-secondary-500 border"
|
||||
title="Event Launcher for {event_obj.name}">
|
||||
Launcher
|
||||
</a>
|
||||
{/if}
|
||||
@@ -185,9 +179,8 @@
|
||||
<a
|
||||
data-sveltekit-reload
|
||||
href="/event/{event_obj.event_id}"
|
||||
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500"
|
||||
title="Legacy Presentation Management System (Flask/Svelte) for {event_obj.name}"
|
||||
>
|
||||
class="btn btn-sm preset-tonal-warning border-warning-500 hover:preset-filled-warning-500 border"
|
||||
title="Legacy Presentation Management System (Flask/Svelte) for {event_obj.name}">
|
||||
Legacy Pres Mgmt
|
||||
</a>
|
||||
{/if}
|
||||
@@ -195,31 +188,29 @@
|
||||
</li>
|
||||
{/each}
|
||||
</ul>
|
||||
<div class="flex justify-center items-center space-x-4 mt-4">
|
||||
<div class="mt-4 flex items-center justify-center space-x-4">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm"
|
||||
onclick={prev_page}
|
||||
disabled={current_page === 1}>Previous</button
|
||||
>
|
||||
disabled={current_page === 1}>Previous</button>
|
||||
<span>Page {current_page} of {total_pages}</span>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm"
|
||||
onclick={next_page}
|
||||
disabled={current_page === total_pages}>Next</button
|
||||
>
|
||||
disabled={current_page === total_pages}>Next</button>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="flex flex-row items-center justify-center">
|
||||
<TriangleAlert size="1em" class="inline text-error-500 mx-1" />
|
||||
<TriangleAlert size="1em" class="text-error-500 mx-1 inline" />
|
||||
<span>No events available to display.</span>
|
||||
<TriangleAlert size="1em" class="inline text-error-500 mx-1" />
|
||||
<TriangleAlert size="1em" class="text-error-500 mx-1 inline" />
|
||||
</div>
|
||||
{/if}
|
||||
{:else}
|
||||
<div class="flex flex-row items-center justify-center">
|
||||
<LoaderCircle size="1em" class="inline animate-spin mx-1" />
|
||||
<LoaderCircle size="1em" class="mx-1 inline animate-spin" />
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user