+
{@html $ae_loc.ds['hub__site__appshell_footer']}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 4de2933c..7d7e0cfe 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -52,7 +52,7 @@ onMount(() => {
-{#if $ae_loc.iframe}
+
diff --git a/src/routes/events_badges/+layout.svelte b/src/routes/events_badges/+layout.svelte
new file mode 100644
index 00000000..a50c1078
--- /dev/null
+++ b/src/routes/events_badges/+layout.svelte
@@ -0,0 +1,66 @@
+
+
+
+
+ Events Badges - {data.ae_loc.title}
+
+
+
+
+
+
+
diff --git a/src/routes/events_badges/+layout.ts b/src/routes/events_badges/+layout.ts
new file mode 100644
index 00000000..38bdbffc
--- /dev/null
+++ b/src/routes/events_badges/+layout.ts
@@ -0,0 +1,33 @@
+/** @type {import('./$types').LayoutLoad} */
+
+import { get } from 'svelte/store';
+
+import { api } from '$lib/api';
+import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores';
+import type { key_val } from '$lib/ae_stores';
+
+
+export async function load({ params, parent, url }) { // route
+ // console.log(`Svelte Events Badges layout.ts data = params:`, params);
+ // console.log(`Svelte Events Badges layout.ts data = route:`, route);
+ // console.log(`Svelte Events Badges layout.ts data = url:`, url);
+
+ // const { ae_init, root_layout_ts } = await parent();
+ let data = await parent();
+ console.log(`Svelte Events Badges layout.ts data = data:`, data);
+
+ data.ae_events_badges_layout_ts = true;
+
+ let submenu = {
+ main: {name: 'Main', href: '/events_badges', access: false},
+ manage: {name: 'Manage', href: '/events_badges/manage', access: 'administrator', disable: true},
+ review: {name: 'Review', href: '/events_badges/review', access: false},
+ print: {name: 'Print', href: '/events_badges/print', access: 'trusted', disable: true},
+ view: {name: 'View', href: '/events_badges/view', access: 'trusted', hide: true}, // event_badge_id
+ // new: {name: 'New', href: '/events_badges/new'},
+ test: {name: 'Test', href: '/sponsorships'},
+ };
+ data.submenu = submenu
+
+ return data;
+}
diff --git a/src/routes/events_badges/+page.svelte b/src/routes/events_badges/+page.svelte
new file mode 100644
index 00000000..e8c40c25
--- /dev/null
+++ b/src/routes/events_badges/+page.svelte
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
diff --git a/src/routes/events_badges/+page.ts b/src/routes/events_badges/+page.ts
new file mode 100644
index 00000000..baff2197
--- /dev/null
+++ b/src/routes/events_badges/+page.ts
@@ -0,0 +1,6 @@
+/** @type {import('./$types').PageLoad} */
+export function load() {
+ return {
+ ae_events_badges_page_ts: true,
+ };
+}
diff --git a/src/routes/events_speakers/+layout.svelte b/src/routes/events_speakers/+layout.svelte
index 39faff39..3633195f 100644
--- a/src/routes/events_speakers/+layout.svelte
+++ b/src/routes/events_speakers/+layout.svelte
@@ -3,4 +3,10 @@
export let data;
+
+
+ Events Speakers - {data.ae_loc.title}
+
+
+
\ No newline at end of file
diff --git a/src/routes/hosted_files/+page.svelte b/src/routes/hosted_files/+page.svelte
new file mode 100644
index 00000000..672f1a85
--- /dev/null
+++ b/src/routes/hosted_files/+page.svelte
@@ -0,0 +1,245 @@
+
+
+
+
+
+ Convert mp3 to mp4
+ This AV utility will take an mp3 audio file and a static image template and create a mp4 video file. This process may take a few seconds to a handful of minutes. Please be patient while it is processing.
+
+
+
+
+ {#await file_uploads_post_promise}
+ Converting... This may take a few minutes.
+ {:then}
+ {#if file_uploads_post_promise}
+ Ready to Download
+ {:else}
+ Fill out the form and select the audio file and static image template file.
+ {/if}
+ {/await}
+
+
+
+
+
+
+ Clip mp4
+ This AV utility will take an mp4 video file create a clipped mp4 video file. This process may take a few seconds to a handful of minutes. Re-encoding will take longer. Please be patient while it is processing.
+
+
+
+
+ {#await file_uploads_clip_post_promise}
+ Converting... This may take a few minutes.
+ {:then}
+ {#if file_uploads_clip_post_promise}
+ Ready to Download
+ {:else}
+ Fill out the form and select the video file to clip.
+ {/if}
+ {/await}
+
+
+
+
+
diff --git a/src/routes/sponsorships/+layout.svelte b/src/routes/sponsorships/+layout.svelte
index 405ddae9..bc399204 100644
--- a/src/routes/sponsorships/+layout.svelte
+++ b/src/routes/sponsorships/+layout.svelte
@@ -3,6 +3,11 @@
export let data;
+
+
+ Sponsorships - {data.ae_loc.title}
+
+