Files
casa-daenzo-web/dist/_astro/hoisted.T3ji74Vi.js
T

74 lines
9.2 KiB
JavaScript

import"./hoisted.jAcVTPu2.js";const b=document.querySelectorAll(".admin-tab"),f=document.querySelectorAll(".tab-content");b.forEach(e=>{e.addEventListener("click",()=>{const n=e.getAttribute("data-tab");b.forEach(t=>{t.classList.remove("bg-[#C85A32]","text-white","shadow-sm"),t.classList.add("bg-white","text-stone-700")}),e.classList.remove("bg-white","text-stone-700"),e.classList.add("bg-[#C85A32]","text-white","shadow-sm"),f.forEach(t=>{t.id===`tab-${n}`?t.classList.remove("hidden"):t.classList.add("hidden")})})});let u="",d="",a="";window.openAiDraftModal=function(e,n,t,s,r,o){u=e,d=n,a=t;const i=document.getElementById("ai-modal");document.getElementById("modal-title");const l=document.getElementById("modal-guest-name"),c=document.getElementById("modal-action-type"),g=document.getElementById("modal-details"),m=document.getElementById("ai-draft-textarea");l&&(l.textContent=n),c&&(c.textContent=t==="Confirm"?"Tischbestätigung":"Absage / Alternativtermin"),g&&(g.textContent=`${s} (${r})`),m&&(t==="Confirm"?m.value=`Liebe/r ${n},
herzlichen Dank für Ihre Anfrage! Sehr gerne bestätigen wir Ihren Tisch in der Trattoria da Enzo am ${s} für ${r}.
Ihre Wünsche (${o}) haben wir sehr gerne vermerkt. Wir freuen uns darauf, Sie bei uns in der Bäckerstraße 18 begrüßen zu dürfen und Sie mit kulinarischen Köstlichkeiten aus Sizilien zu verwöhnen!
Herzlichst,
Alessandra & das Casa da Enzo Team`:m.value=`Liebe/r ${n},
vielen Dank für Ihr Interesse an der Trattoria da Enzo. Leider sind für den gewünschten Termin (${s}) bereits alle Tische ausgebucht.
Sehr gerne bieten wir Ihnen eine Alternative an demselben Tag um 21:00 Uhr oder am Folgetag an. Antworten Sie einfach auf diese Nachricht.
Herzliche Grüße,
Alessandra & das Casa da Enzo Team`),i&&i.classList.remove("hidden")};window.closeAiModal=function(){const e=document.getElementById("ai-modal");e&&e.classList.add("hidden")};window.regenerateAiDraft=function(){const e=document.getElementById("ai-draft-textarea");e&&(a==="Confirm"?e.value=`Caro/a ${d},
Benvenuto! Wir freuen uns außerordentlich, Ihnen mitteilen zu können, dass Ihr Tisch am ${new Date().toLocaleDateString("de-DE")} reserviert ist.
Alessandra bereitet bereits die besten Zutaten vor. Bis ganz bald in Goslar!
Saluti festosi,
Enzo & Familie`:e.value=`Liebe/r ${d},
leider lässt unsere Kapazität am gewünschten Abend keine weitere Reservierung zu. Wir möchten Sie jedoch unbedingt bei Ihrem nächsten Goslar-Besuch begrüßen!
Herzliche Grüße,
Trattoria da Enzo`)};window.confirmAndSendDraft=function(){const e=document.getElementById(`res-card-${u}`);e&&e.remove();const n=document.getElementById("processed-res-tbody");if(n){const r=document.createElement("tr"),o=new Date().toLocaleString("de-DE");r.innerHTML=`
<td class="p-3 font-mono font-bold">#RES-${u}</td>
<td class="p-3 font-semibold">${d}</td>
<td class="p-3">Anfrage bearbeitet</td>
<td class="p-3">${a==="Confirm"?"Bestätigt":"Abgelehnt"}</td>
<td class="p-3"><span class="px-2 py-0.5 rounded ${a==="Confirm"?"bg-emerald-100 text-emerald-800":"bg-rose-100 text-rose-800"} font-bold">${a==="Confirm"?"Bestätigt":"Abgelehnt"}</span></td>
<td class="p-3 text-stone-500">ENZO-STAFF-01 (Alessandra) • ${o}</td>
`,n.prepend(r)}const t=document.getElementById("history-log-tbody");if(t){const r=document.createElement("tr"),o=new Date().toLocaleString("de-DE");r.innerHTML=`
<td class="p-3 text-stone-500">${o}</td>
<td class="p-3"><span class="px-2 py-0.5 bg-emerald-100 text-emerald-900 font-bold rounded">Reservierung</span></td>
<td class="p-3 font-bold text-stone-900">Tisch #RES-${u} (${d}) ${a==="Confirm"?"Bestätigt":"Abgelehnt"}</td>
<td class="p-3">ENZO-STAFF-01 (Alessandra Campisi)</td>
<td class="p-3 text-stone-600">KI-Antwort verfasst & per E-Mail/WhatsApp gesendet</td>
`,t.prepend(r)}const s=document.getElementById("pending-badge");if(s){const r=document.querySelectorAll("#reservations-list > div").length;s.textContent=`${r} Neu`}window.closeAiModal(),alert(`E-Mail & Statusmeldung für ${d} erfolgreich versendet!`)};window.saveVacationSettings=function(){const e=document.getElementById("vacation-toggle"),n=document.getElementById("vacation-text-input"),t=document.getElementById("vacation-status-dot"),s=document.getElementById("vacation-status-text");e&&t&&s&&(e.checked?(t.className="w-2.5 h-2.5 rounded-full bg-amber-400 animate-pulse",s.innerHTML='Website Status: <strong class="text-amber-400">Betriebsferien Banner Aktiv</strong>',alert(`Betriebsferien-Banner auf Website aktiviert!
Hinweis: "${n?n.value:""}"`)):(t.className="w-2.5 h-2.5 rounded-full bg-emerald-400",s.innerHTML="Website Status: <strong>Normalbetrieb</strong>",alert("Betriebsferien-Banner deaktiviert.")))};window.restoreMenuVersion=function(){const e=document.getElementById("menu-version-select"),n=document.getElementById("current-menu-version");e&&n&&(n.textContent=e.value+" (Wiederhergestellt)",alert(`Speisekarte erfolgreich auf Version ${e.value} zurückgesetzt!`))};window.translateMenuToEn=function(){alert("KI-Übersetzung abgeschlossen! Alle deutschen Gerichtsbezeichnungen und Beschreibungen besitzen nun ein englisches Pendant.")};window.publishMenu=function(){const e=document.getElementById("history-log-tbody");if(e){const n=document.createElement("tr"),t=new Date().toLocaleString("de-DE");n.innerHTML=`
<td class="p-3 text-stone-500">${t}</td>
<td class="p-3"><span class="px-2 py-0.5 bg-amber-100 text-amber-900 font-bold rounded">Menu</span></td>
<td class="p-3 font-bold text-stone-900">Speisekarte live geschaltet</td>
<td class="p-3">ENZO-STAFF-01 (Alessandra Campisi)</td>
<td class="p-3 text-stone-600">Änderungen auf casa-daenzo.de veröffentlicht</td>
`,e.prepend(n)}alert("🎉 Speisekarte erfolgreich auf der Website veröffentlicht!")};window.aiPolishDish=function(e){const n=e.closest(".p-4");if(!n)return;const t=n.querySelector(".dish-desc");t&&(t.value=t.value+" • Frisch zubereitet mit feinstem Olivenöl aus Sizilien.",alert("Gerichts-Beschreibung verfeinert!"))};window.addDish=function(e){const n=document.getElementById(`category-${e}`);if(!n)return;const t=document.createElement("div");t.className="p-4 rounded-2xl bg-stone-50 border border-stone-200 flex flex-col md:flex-row items-start md:items-center justify-between gap-4",t.innerHTML=`
<div class="space-y-1 flex-1">
<div class="flex items-center gap-2">
<input type="text" value="Neues Gericht" class="dish-title font-serif font-bold text-stone-900 text-base bg-transparent border-b border-stone-300 focus:outline-none focus:border-[#C85A32] w-full max-w-md">
<span class="text-xs font-mono font-bold text-stone-600">14.50 €</span>
</div>
<input type="text" value="Beschreibung der Zutaten und Zubereitung" class="dish-desc text-xs text-stone-600 bg-transparent border-b border-stone-200 focus:outline-none focus:border-[#C85A32] w-full">
<p class="dish-en text-[11px] text-indigo-600 font-medium italic mt-1">EN: New dish description</p>
</div>
<div class="flex items-center gap-2">
<button onclick="aiPolishDish(this)" class="px-3 py-1 rounded-lg bg-amber-100 text-amber-900 text-[11px] font-bold hover:bg-amber-200">✨ KI-Text schärfen</button>
<button onclick="this.closest('.p-4').remove()" class="text-rose-600 text-xs hover:underline">Löschen</button>
</div>
`,n.appendChild(t)};window.triggerVoucherEmail=function(e,n,t){const s=document.getElementById(`track-${e}`),r=s?s.value:"",o=document.getElementById(`vstatus-${e}`);o&&(o.className="px-2 py-0.5 rounded bg-emerald-100 text-emerald-800 font-bold",o.textContent=t==="Postalisch"?"Versendet":"Abholbereit");const i=document.getElementById("history-log-tbody");if(i){const l=document.createElement("tr"),c=new Date().toLocaleString("de-DE");l.innerHTML=`
<td class="p-3 text-stone-500">${c}</td>
<td class="p-3"><span class="px-2 py-0.5 bg-indigo-100 text-indigo-900 font-bold rounded">Gutschein</span></td>
<td class="p-3 font-bold text-stone-900">Gutschein #GUT-2026-${e} ${t==="Postalisch"?"versendet":"bereitgestellt"}</td>
<td class="p-3">ENZO-STAFF-01 (Alessandra Campisi)</td>
<td class="p-3 text-stone-600">${t==="Postalisch"?`DHL Sendungsnr: ${r}`:"Abhol-E-Mail gesendet"}</td>
`,i.prepend(l)}alert(t==="Postalisch"?`E-Mail an ${n} gesendet!
Inhalt: Ihre Gutschein-Bestellung ist auf dem Weg. DHL Sendungsnummer: ${r}`:`E-Mail an ${n} gesendet!
Inhalt: Ihr Gutschein liegt in der Trattoria da Enzo abholbereit.`)};window.addDayOverride=function(){const e=prompt("Datum der Sonderregelung (z.B. 03.10.2026):");if(!e)return;const n=prompt("Anlass / Grund (z.B. Tag der Deutschen Einheit):"),t=prompt("Öffnungszeit / Status (z.B. Durchgehend geöffnet 12:00-23:00 Uhr):"),s=document.getElementById("overrides-tbody");if(s&&e&&n&&t){const r=document.createElement("tr");r.innerHTML=`
<td class="p-3 font-bold">${e}</td>
<td class="p-3">${n}</td>
<td class="p-3"><span class="px-2 py-0.5 rounded bg-amber-100 text-amber-800 font-bold">${t}</span></td>
<td class="p-3"><button onclick="this.closest('tr').remove()" class="text-rose-600 hover:underline">Entfernen</button></td>
`,s.appendChild(r)}};