diff --git a/src/lib/e_app_clipboard.svelte b/src/lib/e_app_clipboard.svelte
index 86506f43..18862e72 100644
--- a/src/lib/e_app_clipboard.svelte
+++ b/src/lib/e_app_clipboard.svelte
@@ -36,7 +36,7 @@ import {
// RefreshCw, RefreshCcw, RefreshCcwDot,
// ShieldEllipsis, ShieldMinus, ShieldPlus, ShieldUser,
// User, UserCheck
- } from '@lucide/svelte';
+} from '@lucide/svelte';
if (log_lvl) {
console.log(`Clipboard component initialized with value:`, value);
diff --git a/src/lib/e_app_help_tech.svelte b/src/lib/e_app_help_tech.svelte
new file mode 100644
index 00000000..8efbd2b7
--- /dev/null
+++ b/src/lib/e_app_help_tech.svelte
@@ -0,0 +1,284 @@
+
+
+
+
+
+
+ {#if $ae_sess.show_help_tech}
+
+ {#if e_success}
+
+
+ Help Requested
+
+ {:else}
+
+
+
+ Notify Technical Support
+
+
+ {/if}
+
+
+
+
+ This is intended for technical issues only. Please contact your organization's staff if you have a question about your membership, recorded content, meetings, or posts.
+
+
+
+
+ Additional Information Included
+
+
+ Datetime = {new Date().toISOString()}
+ URL: {window.location.href}
+ Browser = {navigator.userAgent}
+ Viewport Size = {window.innerWidth} x {window.innerHeight}
+ Screen Resolution = {window.screen.width} x {window.screen.height}
+ In iframe = {$ae_loc?.iframe}
+ Theme Mode = {$ae_loc?.theme_mode}
+ Theme Name = {$ae_loc?.theme_name}
+ Account ID = {$slct.account_id}
+ Access Type = {$ae_loc?.access_type}
+ {#if $ae_loc?.person_id}
+ person_id = {$ae_loc?.person_id}
+ full_name = {$ae_loc?.full_name}
+ {/if}
+ {#if $ae_loc?.user_id}
+ user_id = {$ae_loc?.user_id}
+ username = {$ae_loc?.username}
+ email = {$ae_loc?.email}
+ {/if}
+ API Base URL: {$ae_api.base_url}
+
+ {#if additional_kv && Object.keys(additional_kv).length > 0}
+ Additional Component Info:
+
+ {#each Object.entries(additional_kv) as [key, value]}
+ {key} = {value}
+ {/each}
+
+ {/if}
+
+
+
+ This information will be included in the help request to assist technical support in diagnosing the issue.
+
+
+
+
+
+ {:else}
+
+
($ae_sess.show_help_tech = true)}
+ class="
+ btn btn-sm
+ m-1
+ preset-outlined-warning-600-400
+ transition-all
+ {btn_class}
+ "
+ title={btn_title}
+ >
+ {#if !hide_icon}
+
+ {/if}
+ {btn_text}
+
+
+ {/if}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/routes/idaa/(idaa)/+layout.svelte b/src/routes/idaa/(idaa)/+layout.svelte
index b30b19a4..5ee83520 100644
--- a/src/routes/idaa/(idaa)/+layout.svelte
+++ b/src/routes/idaa/(idaa)/+layout.svelte
@@ -10,6 +10,8 @@ import { browser } from '$app/environment';
import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
import { idaa_loc, idaa_sess, idaa_slct } from '$lib/ae_idaa_stores';
+import Help_tech from '$lib/e_app_help_tech.svelte';
+
interface Props {
/** @type {import('./$types').LayoutData} */
data: any;
@@ -192,6 +194,16 @@ if (browser) {
{#if (browser && ($ae_loc.trusted_access || ($ae_loc.authenticated_access && $idaa_loc.novi_uuid)))}
+
+