Implement exhibitor search constraints and sync telemetry

- Restricted public exhibitor search to Priority (paid) items only.
- Enforced 3-character search minimum for non-trusted users on landing page.
- Implemented real-time sync telemetry (last refresh and countdown) in Manage tab.
- Added auto-refresh logic with configurable intervals.
This commit is contained in:
Scott Idem
2026-02-08 19:46:53 -05:00
parent b3114c619a
commit 16acae03d0
5 changed files with 67 additions and 5 deletions

View File

@@ -362,6 +362,7 @@ export async function search__exhibit({
fulltext_search_qry_str = null,
enabled = 'enabled',
hidden = 'not_hidden',
priority = 'all',
view = 'default',
order_by_li = { name: 'ASC' },
limit = 100,
@@ -374,6 +375,7 @@ export async function search__exhibit({
fulltext_search_qry_str?: string | null;
enabled?: 'enabled' | 'all' | 'not_enabled';
hidden?: 'hidden' | 'all' | 'not_hidden';
priority?: 'all' | 'priority' | 'not_priority';
view?: string;
order_by_li?: any;
limit?: number;
@@ -398,6 +400,9 @@ export async function search__exhibit({
if (hidden === 'hidden') search_query.and.push({ field: 'hide', op: 'eq', value: 1 });
else if (hidden === 'not_hidden') search_query.and.push({ field: 'hide', op: 'eq', value: 0 });
if (priority === 'priority') search_query.and.push({ field: 'priority', op: 'eq', value: 1 });
else if (priority === 'not_priority') search_query.and.push({ field: 'priority', op: 'eq', value: 0 });
try {
const result_li = await api.search_ae_obj_v3({
api_cfg,

View File

@@ -477,6 +477,9 @@ const events_session_data_struct: key_val = {
submit_status__search: null, // 'searching', 'complete'
last_refresh_time: null as string | null,
next_refresh_countdown: 0,
// The entered_passcode is the exhibit booths shared passcode for staff. This is used to initially access the lead retrieval service.
entered_passcode: null,