import type { Settings } from 'src/stores/main/models'; /** * Build a settings object safe to persist in wp_vtables.settings. * Strips ephemeral runtime-only fields while keeping pagination preferences * (rowsPerPage, page) that should survive reloads and public embeds. */ export function buildSettingsPayloadForSave(settings: Settings): Settings { const payload = JSON.parse(JSON.stringify(settings)) as Settings; if (payload.search) { payload.search.filter = ''; } if (payload.bottom?.initial) { const initial = payload.bottom.initial as Record; initial.sortBy = null; initial.descending = false; delete initial.rowsNumber; } return payload; }