Add pub hours admin panel, rebuild announcements/users lists on CSS Grid
- 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>
This commit is contained in:
1 parent
fd928a24cf
commit
eab20899de
14 files changed
+1224
-441
No files matched your search
@@ -0,0 +1,18 @@
|
||||
// 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();
|
||||
});
|
||||
Reference in new issue
Block a user