Reset KDS station filter on business change, add default Kitchen station

KDS was keeping the station filter from a previous business in
localStorage, causing orders to be hidden when switching businesses.
Now tracks businessId and resets station selection on change.

New businesses also get a default "Kitchen" station so the KDS works
out of the box.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-03-11 12:17:51 -07:00
parent c79a750a50
commit d80d4bd4c4
2 changed files with 21 additions and 3 deletions

View file

@ -344,6 +344,15 @@ try {
} }
response.steps.append("Created 7 default task categories"); response.steps.append("Created 7 default task categories");
// Create default kitchen station
queryTimed("
INSERT INTO Stations (BusinessID, Name, Color, SortOrder)
VALUES (:businessID, 'Kitchen', '##FF9800', 1)
", {
businessID: { value: businessId, cfsqltype: "cf_sql_integer" }
}, { datasource: "payfrit" });
response.steps.append("Created default Kitchen station");
// Save business hours from structured schedule // Save business hours from structured schedule
if (structKeyExists(biz, "hoursSchedule") && isArray(biz.hoursSchedule)) { if (structKeyExists(biz, "hoursSchedule") && isArray(biz.hoursSchedule)) {
hoursSchedule = biz.hoursSchedule; hoursSchedule = biz.hoursSchedule;

View file

@ -59,9 +59,17 @@ function loadConfig() {
if (saved) { if (saved) {
try { try {
const parsed = JSON.parse(saved); const parsed = JSON.parse(saved);
config.stationId = parsed.stationId !== undefined ? parsed.stationId : null; // Reset station selection if business changed since last KDS use
config.stationName = parsed.stationName || null; if (parsed.businessId && parsed.businessId !== config.businessId) {
config.stationColor = parsed.stationColor || null; config.stationId = null;
config.stationName = null;
config.stationColor = null;
saveConfigToStorage();
} else {
config.stationId = parsed.stationId !== undefined ? parsed.stationId : null;
config.stationName = parsed.stationName || null;
config.stationColor = parsed.stationColor || null;
}
config.refreshInterval = (parsed.refreshInterval || 5) * 1000; config.refreshInterval = (parsed.refreshInterval || 5) * 1000;
} catch (e) { } catch (e) {
console.error('[KDS] Failed to load config:', e); console.error('[KDS] Failed to load config:', e);
@ -73,6 +81,7 @@ function loadConfig() {
function saveConfigToStorage() { function saveConfigToStorage() {
localStorage.setItem('kds_config', JSON.stringify({ localStorage.setItem('kds_config', JSON.stringify({
businessId: config.businessId,
stationId: config.stationId, stationId: config.stationId,
stationName: config.stationName, stationName: config.stationName,
stationColor: config.stationColor, stationColor: config.stationColor,