feat(leads): V3 API migration, QR Scanner v3, and Exhibitor Leads UI overhaul
- Migrate event_exhibit and event_exhibit_tracking CRUD to V3 API (parent_type/child_type params). - Implement Element_qr_scanner_v3.svelte: A Svelte 5 / Runes component using html5-qrcode with auto-start and unique viewfinder IDs. - Integrate QR Scanner v3 into ae_comp__badge_search.svelte and lead capture. - Refactor Exhibitor Leads UI: - Add 'Rapid Scan' vs 'Qualify Mode' toggles for efficient lead capture. - Upgrade ae_comp__lead_detail_form.svelte to support new question/response schema with backward compatibility. - Implement 'Sign Out of Booth' functionality in exhibit management. - Optimize lead detail layout for mobile readability and high information density. - Fix component prop sync for event_id and exhibit_id. - UI/UX refinements: standardizing icons (SquarePen), cleaning up unused imports, and improving responsive states.
This commit is contained in:
@@ -309,9 +309,9 @@ export async function create_ae_obj__exhibit({
|
||||
}): Promise<ae_EventExhibit | null> {
|
||||
const result = await api.create_nested_obj_v3({
|
||||
api_cfg,
|
||||
for_obj_type: 'event',
|
||||
for_obj_id: event_id,
|
||||
obj_type: 'event_exhibit',
|
||||
parent_type: 'event',
|
||||
parent_id: event_id,
|
||||
child_type: 'event_exhibit',
|
||||
fields: { ...data_kv },
|
||||
log_lvl
|
||||
});
|
||||
@@ -353,10 +353,10 @@ export async function update_ae_obj__exhibit({
|
||||
}): Promise<ae_EventExhibit | null> {
|
||||
const result = await api.update_nested_obj_v3({
|
||||
api_cfg,
|
||||
for_obj_type: 'event',
|
||||
for_obj_id: event_id,
|
||||
obj_type: 'event_exhibit',
|
||||
obj_id: exhibit_id,
|
||||
parent_type: 'event',
|
||||
parent_id: event_id,
|
||||
child_type: 'event_exhibit',
|
||||
child_id: exhibit_id,
|
||||
fields: data_kv,
|
||||
log_lvl
|
||||
});
|
||||
|
||||
@@ -326,9 +326,9 @@ export async function create_ae_obj__exhibit_tracking({
|
||||
}): Promise<ae_EventExhibitTracking | null> {
|
||||
const result = await api.create_nested_obj_v3({
|
||||
api_cfg,
|
||||
for_obj_type: 'event_exhibit',
|
||||
for_obj_id: exhibit_id,
|
||||
obj_type: 'event_exhibit_tracking',
|
||||
parent_type: 'event_exhibit',
|
||||
parent_id: exhibit_id,
|
||||
child_type: 'event_exhibit_tracking',
|
||||
fields: {
|
||||
event_badge_id: event_badge_id,
|
||||
external_person_id,
|
||||
@@ -374,10 +374,10 @@ export async function update_ae_obj__exhibit_tracking({
|
||||
}): Promise<ae_EventExhibitTracking | null> {
|
||||
const result = await api.update_nested_obj_v3({
|
||||
api_cfg,
|
||||
for_obj_type: 'event_exhibit',
|
||||
for_obj_id: exhibit_id,
|
||||
obj_type: 'event_exhibit_tracking',
|
||||
obj_id: exhibit_tracking_id,
|
||||
parent_type: 'event_exhibit',
|
||||
parent_id: exhibit_id,
|
||||
child_type: 'event_exhibit_tracking',
|
||||
child_id: exhibit_tracking_id,
|
||||
fields: data,
|
||||
log_lvl
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user