chore(badges): remove legacy badge_id_only_search; sync remote badges config into badges_loc; docs update

This commit is contained in:
Scott Idem
2026-04-02 18:03:23 -04:00
parent 0ab8b936ce
commit c198ca2454
12 changed files with 254 additions and 86 deletions

View File

@@ -2,6 +2,8 @@ import type { key_val } from '$lib/stores/ae_stores';
import { api } from '$lib/api/api';
import { pres_mgmt_loc } from '$lib/stores/ae_events_stores__pres_mgmt.svelte';
import type { PressMgmtRemoteCfg } from '$lib/stores/ae_events_stores__pres_mgmt_defaults';
import { badges_loc } from '$lib/stores/ae_events_stores__badges.svelte';
import type { BadgesRemoteCfg } from '$lib/stores/ae_events_stores__badges_defaults';
import { db_save_ae_obj_li__ae_obj } from '$lib/ae_core/core__idb_dexie';
import { db_events } from '$lib/ae_events/db_events';
@@ -1060,3 +1062,43 @@ export function sync_config__event_pres_mgmt({
pres_mgmt_cfg_remote?.limit__options ?? false;
}
}
/**
* sync_config__event_badges
*
* Mirror a subset of server-side `mod_badges_json` into the local persisted
* `badges_loc.current` store so the UI can read a fast local copy of
* authoritative feature flags (search mode, QR enable, mass-print, etc.).
*
* Called reactively from badge-related pages when the event object changes.
*/
export function sync_config__event_badges({
badges_cfg_remote,
log_lvl = 0
}: {
badges_cfg_remote: Partial<BadgesRemoteCfg>;
log_lvl?: number;
}) {
if (log_lvl) {
console.log(
`*** sync_config__event_badges() *** remote:`,
badges_cfg_remote
);
}
const loc = badges_loc.current;
// Always-sync: feature flags and simple values
loc.enable_mass_print = badges_cfg_remote?.enable_mass_print ?? true;
loc.enable_add_badge_btn = badges_cfg_remote?.enable_add_badge_btn ?? true;
loc.enable_upload_badge_li_btn = badges_cfg_remote?.enable_upload_badge_li_btn ?? true;
loc.enable_search_qr = badges_cfg_remote?.enable_search_qr ?? true;
loc.qr_type = badges_cfg_remote?.qr_type ?? null;
// Passcodes and permissions (may be null)
loc.trusted_passcode = badges_cfg_remote?.trusted_passcode ?? null;
loc.administrator_passcode = badges_cfg_remote?.administrator_passcode ?? null;
loc.edit_permissions = badges_cfg_remote?.edit_permissions ?? null;
loc.remote_cfg_last_synced_on = new Date().toISOString();
}

View File

@@ -47,6 +47,7 @@ const export_obj = {
delete_ae_obj_id__event: event.delete_ae_obj_id__event,
update_ae_obj__event: event.update_ae_obj__event,
sync_config__event_pres_mgmt: event.sync_config__event_pres_mgmt,
sync_config__event_badges: event.sync_config__event_badges,
// Event Person
create_ae_obj__event_person: create_ae_obj__event_person,