- Add a Hours admin panel (admin/hours.php, admin/hours.js) for editing the weekly open/close schedule and an optional per-day kitchen closing time, with a live preview of how it'll read on the public site - Store hours in a new pub_hours table (inc/db.php), seeded with the site's existing Thu-Sat/9pm-kitchen schedule; inc/hours.php formats and groups it for display (day ranges, kitchen-close note, footer summary) - Wire the public Visit card and both site footers (index.php, menu.php) to read hours from that data instead of hardcoded copy - Rebuild the Announcements and Users admin tables onto the same CSS Grid list pattern already used for the Menu (admin-table-actions -> row-actions), and make the Announcements status toggle an in-place AJAX action like the menu item's (admin/index.js) - Add the Hours tab to admin nav across all four admin pages Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
19 lines
635 B
JavaScript
19 lines
635 B
JavaScript
// Hours admin page: purely a progressive enhancement over the plain form
|
|
// POST that actually saves — greys out (and stops submitting) a day's time
|
|
// fields while its "Open" box is unchecked, so a closed day can't look like
|
|
// it still has stale hours set.
|
|
|
|
document.querySelectorAll('.hours-day-row').forEach((row) => {
|
|
const toggle = row.querySelector('input[type="checkbox"]');
|
|
const timeFields = row.querySelectorAll('.day-time-field');
|
|
|
|
function applyState() {
|
|
timeFields.forEach((field) => {
|
|
field.disabled = !toggle.checked;
|
|
});
|
|
}
|
|
|
|
toggle.addEventListener('change', applyState);
|
|
applyState();
|
|
});
|