Use sessionStorage instead of URL params for wizard menu context

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-01-28 17:36:46 -08:00
parent ec6bfdd9c9
commit 61c10d9175
2 changed files with 20 additions and 10 deletions

View file

@ -3504,8 +3504,13 @@
const data = await response.json();
if (data.OK) {
if (data.ACTION === 'created') {
// New menu — redirect to wizard to populate it
window.location.href = `${BASE_PATH}/portal/setup-wizard.html?businessId=${this.config.businessId}&menuId=${data.MENUID}&menuName=${encodeURIComponent(menuName)}`;
// New menu — store context and redirect to wizard to populate it
sessionStorage.setItem('payfrit_wizard_menu', JSON.stringify({
businessId: this.config.businessId,
menuId: data.MENUID,
menuName: menuName
}));
window.location.href = `${BASE_PATH}/portal/setup-wizard.html`;
return;
}
this.toast(`Menu ${data.ACTION}!`, 'success');

View file

@ -1054,14 +1054,19 @@
});
function initializeConfig() {
// Parse URL parameters for add-menu mode
const params = new URLSearchParams(window.location.search);
const paramBusinessId = params.get('businessId');
const paramMenuId = params.get('menuId');
config.businessId = paramBusinessId ? parseInt(paramBusinessId) : null;
config.menuId = paramMenuId ? parseInt(paramMenuId) : null;
config.menuName = params.get('menuName') || null;
// Check for add-menu context from sessionStorage
const wizardMenu = sessionStorage.getItem('payfrit_wizard_menu');
if (wizardMenu) {
try {
const ctx = JSON.parse(wizardMenu);
config.businessId = ctx.businessId || null;
config.menuId = ctx.menuId || null;
config.menuName = ctx.menuName || null;
sessionStorage.removeItem('payfrit_wizard_menu');
} catch (e) {
sessionStorage.removeItem('payfrit_wizard_menu');
}
}
// Determine API base URL
const basePath = window.location.pathname.includes('/biz.payfrit.com/')