config/ becomes an empty drop-in mount; examples/ mirrors the mount dirs; plugins & config import the host via #plugin-api/#menu-config subpath imports

This commit is contained in:
2026-07-01 23:19:29 +02:00
parent 4adf14f386
commit 2202bdbaa0
22 changed files with 111 additions and 48 deletions
@@ -0,0 +1,20 @@
<%#
Scheduling · New shift form (reference plugin). The form POSTs to /scheduling/shifts; the handler
CSRF-verifies and forwards the write upstream. Body comes from this plugin's OWN partial
(partials/shift-form — resolved plugin-first), which reuses the core field partial.
Data: chrome, title, breadcrumbs, form, formError?
%><%
const navHtml = include("partials/nav-tree", { nodes: chrome.nav });
const body = '<div class="scheduling-page">' + include("partials/shift-form", { form, formError: locals.formError }) + '</div>';
-%>
<%- include("partials/shell", {
body,
brand: chrome.brand,
breadcrumbs,
csrfToken: chrome.csrfToken,
nav: navHtml,
styles: ["/public/scheduling/scheduling.css"],
theme: chrome.theme,
title,
user: chrome.user,
}) %>