Work on general clean up. Better export and email of sponsor data

This commit is contained in:
Scott Idem
2024-05-03 17:07:08 -04:00
parent a3a32e188d
commit f72d7be5b2
11 changed files with 984 additions and 5 deletions

View File

@@ -0,0 +1,164 @@
<script lang="ts">
/** @type {import('./$types').LayoutData} */
export let data: any;
import { goto } from '$app/navigation';
import { onMount } from 'svelte';
import type { Writable } from 'svelte/store';
import { localStorageStore } from '@skeletonlabs/skeleton';
import type { key_val } from '$lib/ae_stores';
// import { ae_util } from '$lib/ae_utils';
import { api } from '$lib/api';
import { ae_loc, ae_sess, ae_api, slct } from '$lib/ae_stores';
import { events_loc, events_slct, events_trigger } from '$lib/ae_events_stores';
// import Element_data_store from '$lib/element_data_store.svelte';
if (!$ae_loc.admin) {
$ae_loc.admin = {};
}
$ae_loc.qry__enabled = 'enabled';
$ae_loc.qry__hidden = 'not_hidden';
$ae_loc.qry__limit = 15;
$ae_loc.qry__offset = 0;
// Quickly save the data passed from the parent(s) to the Svelte stores, localStorage, and other.
$slct.account_id = data.account_id;
console.log(`$slct.account_id = `, $slct.account_id);
let ae_acct = data[$slct.account_id];
console.log(`ae_acct = `, ae_acct);
$events_slct.event_id = ae_acct.slct.event_id;
$events_slct.event_obj = ae_acct.slct.event_obj;
let ae_promises: key_val = {};
// if (ae_acct.loc.site_cfg_json.slct__event_id) {
// $events_slct.event_id = ae_acct.loc.site_cfg_json.slct__event_id;
// $events_loc.event_id = ae_acct.loc.site_cfg_json.slct__event_id;
// } else if ($events_loc.default__event_id) {
// $events_slct.event_id = $events_loc.default__event_id;
// $events_loc.event_id = $events_loc.default__event_id;
// } else if ($events_slct.event_id) {
// console.log(`Event ID already set:`, $events_slct.event_id);
// $events_loc.event_id = $events_slct.event_id;
// } else {
// console.log(`No Event ID set.`);
// }
// if ($events_slct.event_id) {
// $events_trigger = 'load__event_obj';
// }
// Updated 2024-03-06
// $: if ($events_trigger == 'load__event_obj' && $events_slct.event_id) {
// console.log(`$events_slct.event_id=${$events_slct.event_id}`);
// $events_trigger = null;
// let load_obj_results = handle_load_ae_obj_id__event({event_id: $events_slct.event_id, try_cache: false})
// .then(function (load_obj_results) {
// if (load_obj_results) {
// console.log(`load_obj_results=`, load_obj_results);
// } else {
// console.log('No results returned.');
// }
// });
// $events_slct.event_obj = load_obj_results;
// console.log(`load_obj_results=`, load_obj_results);
// }
onMount(() => {
console.log('Admin: +layout.svelte');
// if (data.url.searchParams.get('event_id')) {
// $events_slct.event_id = data.url.searchParams.get('event_id');
// $events_loc.event_id = data.url.searchParams.get('event_id');
// }
});
// Updated 2024-03-06
// async function handle_load_ae_obj_id__event({event_id, try_cache=false}) {
// console.log(`*** handle_load_ae_obj_id__event() *** event_id=${event_id} api_cfg=`, $ae_api);
// let params = {};
// // $events_sess.badges.status_load__event_obj = 'loading';
// ae_promises.load__event_obj = await api.get_ae_obj_id_crud({
// api_cfg: $ae_api,
// obj_type: 'event',
// obj_id: event_id, // NOTE: This is the FQDN, not normally the ID.
// use_alt_table: false, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config.
// use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value in the API config.
// params: params,
// log_lvl: 0
// })
// .then(function (event_obj_get_result) {
// if (event_obj_get_result) {
// return event_obj_get_result;
// } else {
// console.log('No results returned.');
// return null;
// }
// })
// .catch(function (error) {
// console.log('No results returned or failed.', error);
// });
// return ae_promises.load__event_obj;
// }
</script>
<svelte:head>
<title>&AElig; Admin - {$ae_loc.title ?? 'Æ loading...'}</title>
</svelte:head>
<section
class="submenu flex flex-row justify-center"
class:hidden={$ae_loc.iframe}
>
<span class="btn-group variant-soft-secondary px-4 py-2">
{#each Object.entries(data.submenu) as [key, item]}
<!-- <a href="/settings/{item.slug}">{item.title}</a> -->
<!-- class:hidden={!$ae_loc.trusted_access && item.access} -->
{#if item.disable}
<button
title={item.title}
class="hover:variant-ghost-secondary"
class:hidden={(!$ae_loc.trusted_access && item.access === 'trusted') || (!$ae_loc.administrator_access && item.access === 'administrator' || item.hide)}
disabled={item.disable}
on:click={() => {
// window.location(item.href);
// href={item.href}
// invalidateAll
goto(item.href, { });
}}
>
{item.name}
</button>
{:else}
<a
href={item.href}
title={item.title}
class="hover:variant-ghost-secondary"
class:hidden={(!$ae_loc.trusted_access && item.access === 'trusted') || (!$ae_loc.administrator_access && item.access === 'administrator' || item.hide)}
class:disabled={item.disable}
>
{item.name}
</a>
{/if}
{/each}
</span>
</section>
<slot></slot>