chore(badges): remove legacy badge_id_only_search; sync remote badges config into badges_loc; docs update
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user