From 26dbe57b221c56a4ba18c1551efe7198f921bc7e Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 13 Mar 2026 11:02:04 -0400 Subject: [PATCH] fix(pres_mgmt): migrate QR generation from API to js_generate_qr_code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The API-based generate_qr_code was returning 404 (backend endpoint broken), causing TypeError crashes on the Presenter, Session, and Location views. Switch all three to the pure-JS js_generate_qr_code('str', { str: url_str }) which uses the qrcode npm library client-side — consistent with badge views. - presenter_view.svelte: replace generate_qr_code, remove unused qr_id_url var - session_view.svelte: replace generate_qr_code, remove unused slct import - location_view.svelte: replace generate_qr_code, remove unused slct/slct_trigger imports Co-Authored-By: Claude Sonnet 4.6 --- .../[event_location_id]/location_view.svelte | 14 ++---------- .../[presenter_id]/presenter_view.svelte | 22 +++++++------------ .../session/[session_id]/session_view.svelte | 11 ++-------- 3 files changed, 12 insertions(+), 35 deletions(-) diff --git a/src/routes/events/[event_id]/(pres_mgmt)/location/[event_location_id]/location_view.svelte b/src/routes/events/[event_id]/(pres_mgmt)/location/[event_location_id]/location_view.svelte index b372f541..79591cde 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/location/[event_location_id]/location_view.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/location/[event_location_id]/location_view.svelte @@ -35,9 +35,7 @@ ae_loc, ae_sess, ae_api, - ae_trig, - slct, - slct_trigger + ae_trig } from '$lib/stores/ae_stores'; import { events_loc, @@ -92,20 +90,12 @@ // ae_promises.generate_qr_code_obj_id = core_func.generate_qr_code({api_cfg: $ae_api, account_id: $slct.account_id, qr_type: 'obj', qr_id: $lq__event_location_obj?.event_location_id, obj_type: 'event_location', obj_id: $lq__event_location_obj?.event_location_id}); // Generate a QR code for the URL. - let qr_id_url = `${$lq__event_location_obj?.event_location_id}_url`; - // URL for this page (be sure to URL encode it): let url_str = `${$ae_loc.url_origin}/events/${$lq__event_location_obj?.event_id}/location/${$lq__event_location_obj?.event_location_id}`; url_str = encodeURI(url_str); ae_promises.generate_qr_code_url = - core_func.generate_qr_code({ - api_cfg: $ae_api, - account_id: $slct.account_id, - qr_type: 'str', - qr_id: qr_id_url, - str: url_str - }); + core_func.js_generate_qr_code('str', { str: url_str }); $events_sess.pres_mgmt.location__updated_on = $lq__event_location_obj?.updated_on; diff --git a/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_view.svelte b/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_view.svelte index 5997cfeb..69fadc60 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_view.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/presenter/[presenter_id]/presenter_view.svelte @@ -114,20 +114,12 @@ // ae_promises.generate_qr_code_obj_id = core_func.generate_qr_code({api_cfg: $ae_api, account_id: $slct.account_id, qr_type: 'obj', qr_id: $lq__event_presenter_obj?.event_presenter_id, obj_type: 'event_presenter', obj_id: $lq__event_presenter_obj?.event_presenter_id}); // Generate a QR code for the URL. - let qr_id_url = `${$lq__event_presenter_obj?.event_presenter_id}_url`; - // URL for this page (be sure to URL encode it): let url_str = `${$ae_loc.url_origin}/events/${$lq__event_presenter_obj?.event_id}/presenter/${$lq__event_presenter_obj?.event_presenter_id}`; url_str = encodeURI(url_str); ae_promises.generate_qr_code_url = - core_func.generate_qr_code({ - api_cfg: $ae_api, - account_id: $slct.account_id, - qr_type: 'str', - qr_id: qr_id_url, - str: url_str - }); + core_func.js_generate_qr_code('str', { str: url_str }); // $events_sess.pres_mgmt.presenter__url_str = url_str; $events_sess.pres_mgmt.presenter__updated_on = @@ -206,10 +198,12 @@ class:hover:h-96={$events_sess.pres_mgmt.qr_bigger} class:hover:w-96={$events_sess.pres_mgmt.qr_bigger} class="qr_code qr_type_url - h-32 w-32 - hover:h-54 hover:w-54 - transition-all ease-in-out duration-500 - " + h-32 w-32 + + transition-all ease-in-out duration-500 + cursor-crosshair + z-10 + " alt="URL QR code" /> @@ -217,7 +211,7 @@ Presenter URL diff --git a/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_view.svelte b/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_view.svelte index 0de381f5..6bd35d7d 100644 --- a/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_view.svelte +++ b/src/routes/events/[event_id]/(pres_mgmt)/session/[session_id]/session_view.svelte @@ -22,7 +22,7 @@ import Element_ae_obj_field_editor_v3 from '$lib/elements/element_ae_obj_field_editor_v3.svelte'; import MyClipboard from '$lib/app_components/e_app_clipboard.svelte'; import { core_func } from '$lib/ae_core/ae_core_functions'; - import { ae_snip, ae_loc, ae_api, slct } from '$lib/stores/ae_stores'; + import { ae_snip, ae_loc, ae_api } from '$lib/stores/ae_stores'; import { events_loc, events_sess, events_slct } from '$lib/stores/ae_events_stores'; import { events_func } from '$lib/ae_events_functions'; @@ -45,14 +45,7 @@ $events_sess.pres_mgmt.session_qr_url[$lq__event_session_obj.id] = true; let url_str = encodeURI(`${$ae_loc.url_origin}/events/${$lq__event_session_obj.event_id}/session/${$lq__event_session_obj.id}`); - core_func.generate_qr_code({ - api_cfg: $ae_api, - account_id: $slct.account_id, - qr_type: 'str', - qr_id: `${$lq__event_session_obj.id}_url`, - str: url_str, - return_blob: true - }).then(result => { + core_func.js_generate_qr_code('str', { str: url_str }).then(result => { $events_sess.pres_mgmt.session_qr_url[$lq__event_session_obj.id] = result; }); }