diff --git a/src/lib/ae_idaa_stores.ts b/src/lib/ae_idaa_stores.ts index c93202e3..79e24738 100644 --- a/src/lib/ae_idaa_stores.ts +++ b/src/lib/ae_idaa_stores.ts @@ -30,6 +30,9 @@ let idaa_local_data_struct: key_val = { "c9ea07b5-06b0-4a43-a2d0-8d06558c8a82", "58db22ee-4b0a-49a7-9f34-53d2ba85a84b", ], + novi_jitsi_mod_li: [ + "5724aad7-6d89-47e7-8943-966fd22911bd", + ], novi_archives_base_url: "https://www.idaa.org/idaa-archives", novi_bb_base_url: "https://www.idaa.org/idaa-bulletin-board", diff --git a/src/routes/idaa/(idaa)/+layout.svelte b/src/routes/idaa/(idaa)/+layout.svelte index 8ccdd5e8..a3cbb046 100644 --- a/src/routes/idaa/(idaa)/+layout.svelte +++ b/src/routes/idaa/(idaa)/+layout.svelte @@ -10,7 +10,7 @@ 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'; +// import Help_tech from '$lib/e_app_help_tech.svelte'; interface Props { /** @type {import('./$types').LayoutData} */ diff --git a/src/routes/idaa/+layout.svelte b/src/routes/idaa/+layout.svelte index 0e210873..cf910002 100644 --- a/src/routes/idaa/+layout.svelte +++ b/src/routes/idaa/+layout.svelte @@ -7,11 +7,11 @@ import { browser } from '$app/environment'; // *** Import other supporting libraries // import * as icons from '@lucide/svelte'; import { - Brain, - House, Library, - RefreshCw, - Satellite - } from '@lucide/svelte'; + Brain, + House, Library, + RefreshCw, + Satellite +} from '@lucide/svelte'; // import { AppBar } from '@skeletonlabs/skeleton-svelte'; // import type { // ModalComponent diff --git a/static/idaa_novi_iframe_jitsi_meeting.html b/static/idaa_novi_iframe_jitsi_meeting.html index 829f46ef..0e33dc80 100644 --- a/static/idaa_novi_iframe_jitsi_meeting.html +++ b/static/idaa_novi_iframe_jitsi_meeting.html @@ -23,11 +23,12 @@ let novi_api_key_for_idaa = 'CmNdWgdPmgluBWjiTd8xsUCk5mio8F1O9DYAh0pVDcg='; let novi_current_user_obj = null; let novi_current_user_email = null; -let is_moderator = true; +let room_name = 'IDAA-Student-and-Resident-Meeting'; // 'IDAA-Student-and-Resident-Meeting' 'idaa-meeting' +let is_moderator = false; let idaa_osit_site_key = '8VTOJ0X5hvT6JdiTJsGEzQ'; // 'restricted-access' // let idaa_ae_api_root_url = 'https://sk-idaa.oneskyit.com/idaa/jitsi_meet'; -let idaa_ae_api_root_url = 'https://static.oneskyit.com/c/DgrZone/idaa_novi_iframe_jitsi.html'; +let idaa_ae_api_root_url = 'https://static.oneskyit.com/c/DgrZone/jitsi_iframe_api.html'; let idaa_ae_params = new URLSearchParams(document.location.search); // let idaa_ae_slct_event_id = idaa_ae_params.get('event_id'); @@ -55,7 +56,7 @@ fetch(novi_api_get_customer_endpoint, requestOptions) let idaa_ae_iframe_element = document.getElementById('ae_idaa_jitsi_meeting_iframe'); - idaa_ae_iframe_element.src = `${idaa_ae_api_root_url}?uuid=${novi_customer_uid}&email=${novi_current_user_obj.Email}&full_name=${novi_current_user_obj.Name}&moderator=${is_moderator}&iframe=true&key=${idaa_osit_site_key}`; + idaa_ae_iframe_element.src = `${idaa_ae_api_root_url}?uuid=${novi_customer_uid}&email=${novi_current_user_obj.Email}&full_name=${novi_current_user_obj.Name}&moderator=${is_moderator}&room=${room_name}&iframe=true&key=${idaa_osit_site_key}`; // url.searchParams.delete('event_id'); // history.pushState({}, '', url); @@ -116,7 +117,7 @@ window.addEventListener('message', function(event) { -

+

diff --git a/static/jitsi_iframe_api.html b/static/jitsi_iframe_api.html index 2310c6f5..91e2aebb 100644 --- a/static/jitsi_iframe_api.html +++ b/static/jitsi_iframe_api.html @@ -3,13 +3,13 @@ - Jitsi iframe API Test Page + Jitsi Meetings iframe API for IDAA -

Testing the Jitsi Meet iframe API

-

The URL parameters are passed from the Novi page that contains this as an iframe. This will automatically set the attendees name, email address, and moderator status. The UUID is not currently used. For now, everyone is set as moderator when viewing from this page. There are many other options that can be set through the Jitsi API.

+

New Jitsi Meetings for IDAA

+

The URL parameters are passed from the Novi page that contains this as an iframe. This will automatically set the attendees name, email address, moderator status, and room name. The moderator status is based on the Novi UUID.

@@ -25,13 +25,23 @@ let user_moderator = novi_url_params.get('moderator'); // Jitsi Meet External API variables let domain = 'jitsi.dgrzone.com'; -let room_name = 'it-is-hot-outside'; +let room_name = novi_url_params.get('room') ?? 'the-default-room'; let display_name = user_full_name ?? 'Not My Name'; let email = user_email ?? 'test+unknown@oneskyit.com'; // Replace spaces with plus symbol in email addresses email = email.replace(/\s+/g, '+'); let is_moderator = (user_moderator === 'true' || user_moderator === true) ? true : false; + +// Temporarily hard coding moderators: +// 5724aad7-6d89-47e7-8943-966fd22911bd = Steven L. Klein - Stevenklein425@gmail.com +let novi_jitsi_mod_li = ["2b078deb-b4e7-4203-99da-9f7cd62159a5", "c9ea07b5-06b0-4a43-a2d0-8d06558c8a82", "58db22ee-4b0a-49a7-9f34-53d2ba85a84b", "5724aad7-6d89-47e7-8943-966fd22911bd"]; + +if (novi_jitsi_mod_li.includes(user_id)) { + is_moderator = true; +} + + // 1. Function to fetch the JWT from your backend async function getJitsiJwt() { // This is the URL of your backend API endpoint. @@ -85,7 +95,7 @@ async function initJitsiApi() { const options = { roomName: room_name, width: '100%', - height: 750, + height: '100%', parentNode: document.getElementById('jitsi_meet_external_api_container'), userInfo: { displayName: display_name,