Categories
@@ -3100,11 +3109,28 @@
}
// In add-menu mode, hide menu name/hours/community meal (already set during menu creation)
+ const detectedMenus = config.extractedData.menus || [];
if (config.menuId) {
- document.getElementById('menuNameInput').parentElement.style.display = 'none';
- document.getElementById('menuStartTime').closest('.summary-stat').style.display = 'none';
+ document.getElementById('singleMenuSection').style.display = 'none';
+ document.getElementById('multiMenuSection').style.display = 'none';
document.getElementById('communityMealCard').style.display = 'none';
+ } else if (detectedMenus.length > 1) {
+ // Multiple menus detected — show multi-menu UI
+ document.getElementById('singleMenuSection').style.display = 'none';
+ document.getElementById('multiMenuSection').style.display = '';
+ const menuListHtml = detectedMenus.map((m, i) => {
+ const menuItems = (config.extractedData.items || []).filter(item => item.menu === m.name);
+ return `
+
+
+ ${menuItems.length} items
+
`;
+ }).join('');
+ document.getElementById('multiMenuList').innerHTML = menuListHtml;
} else {
+ // Single menu — show normal UI
+ document.getElementById('singleMenuSection').style.display = '';
+ document.getElementById('multiMenuSection').style.display = 'none';
// Set default menu hours based on business hours (earliest open, latest close)
const hoursSchedule = business.hoursSchedule || [];
if (hoursSchedule.length > 0) {
@@ -3145,31 +3171,47 @@
// In add-menu mode, skip menu name/hours/community meal — already set
if (!config.menuId) {
- const menuName = document.getElementById('menuNameInput').value.trim() || 'Main Menu';
- const menuStartTime = document.getElementById('menuStartTime')?.value || '';
- const menuEndTime = document.getElementById('menuEndTime')?.value || '';
+ const detectedMenus = config.extractedData.menus || [];
+ if (detectedMenus.length > 1) {
+ // Multi-menu mode — collect selected menus
+ const selectedMenus = [];
+ detectedMenus.forEach((m, i) => {
+ const cb = document.getElementById(`menu_${i}`);
+ if (cb && cb.checked) selectedMenus.push(m.name);
+ });
+ if (selectedMenus.length === 0) {
+ showToast('Please select at least one menu', 'error');
+ return;
+ }
+ config.extractedData.selectedMenus = selectedMenus;
+ config.extractedData.menuName = selectedMenus[0]; // fallback
+ } else {
+ const menuName = document.getElementById('menuNameInput').value.trim() || 'Main Menu';
+ const menuStartTime = document.getElementById('menuStartTime')?.value || '';
+ const menuEndTime = document.getElementById('menuEndTime')?.value || '';
- // Validate menu hours fall within business operating hours
- if (menuStartTime && menuEndTime) {
- const hoursSchedule = config.extractedData.business.hoursSchedule || [];
- if (hoursSchedule.length > 0) {
- let earliestOpen = '23:59';
- let latestClose = '00:00';
- hoursSchedule.forEach(day => {
- if (day.open && day.open < earliestOpen) earliestOpen = day.open;
- if (day.close && day.close > latestClose) latestClose = day.close;
- });
+ // Validate menu hours fall within business operating hours
+ if (menuStartTime && menuEndTime) {
+ const hoursSchedule = config.extractedData.business.hoursSchedule || [];
+ if (hoursSchedule.length > 0) {
+ let earliestOpen = '23:59';
+ let latestClose = '00:00';
+ hoursSchedule.forEach(day => {
+ if (day.open && day.open < earliestOpen) earliestOpen = day.open;
+ if (day.close && day.close > latestClose) latestClose = day.close;
+ });
- if (menuStartTime < earliestOpen || menuEndTime > latestClose) {
- showToast(`Menu hours must be within business operating hours (${earliestOpen} - ${latestClose})`, 'error');
- return;
+ if (menuStartTime < earliestOpen || menuEndTime > latestClose) {
+ showToast(`Menu hours must be within business operating hours (${earliestOpen} - ${latestClose})`, 'error');
+ return;
+ }
}
}
- }
- config.extractedData.menuName = menuName;
- config.extractedData.menuStartTime = menuStartTime;
- config.extractedData.menuEndTime = menuEndTime;
+ config.extractedData.menuName = menuName;
+ config.extractedData.menuStartTime = menuStartTime;
+ config.extractedData.menuEndTime = menuEndTime;
+ }
// Community meal participation type (1=provide meals, 2=food bank)
const communityMealRadio = document.querySelector('input[name="communityMealType"]:checked');