1import{r,j as e}from"./react-vendor-Byk_u4_X.js";import{h as D,L as w,aj as z,ad as x,B as g,al as B,D as R,a as T,d as M,b as V,e as L,s as A,f as F,V as O,ao as H}from"./index-BBBV1oA-.js";import{L as o}from"./label-CP41nqMo.js";import{T as I}from"./textarea-DfyJ7ixu.js";import{d as y,B as P,R as G}from"./ReservationAgreementDoc-BZIJTx6y.js";import{S as W}from"./save-DIZOa2bh.js";import"./supabase-CRGcyFpg.js";import"./vendor-utils-kGa5bYp2.js";import"./tanstack-DDYcxB9q.js";import"./framer-motion-ClkXBPBC.js";const K=[500,1e3,2e3],U=[14,21,30],re=()=>{const{currentOrg:_}=D(),{toast:h}=H(),s=_,[n,p]=r.useState(""),[i,c]=r.useState(1e3),[l,d]=r.useState(21),[u,m]=r.useState(""),[f,b]=r.useState(!1),[k,v]=r.useState(!1);r.useEffect(()=>{if(!s)return;const t=s.brand_settings?.reservierung||{};p(t.vertreter||s.expose_absender_name||""),c(t.aufwandsentschaedigung??1e3),d(t.reservierungstage??21),m(t.datenschutztext||"")},[s]);const a={company:s?.wl_company_name||s?.name||"",street:s?.address_street||"",zipCity:[s?.address_zip,s?.address_city].filter(Boolean).join(" "),phone:s?.phone||s?.exp
1ose_kontakt_telefon,email:s?.expose_kontakt_email},E=()=>m(y(a)),S=async()=>{if(!s)return;b(!0);const t={...s.brand_settings||{}};t.reservierung={vertreter:n||null,aufwandsentschaedigung:Number(i)||0,reservierungstage:Number(l)||0,datenschutztext:u||null};const{error:N}=await A.from("organizations").update({brand_settings:t}).eq("id",s.id);if(b(!1),N){h({title:"Nicht gespeichert",description:F(N),variant:"destructive"});return}h({title:"Gespeichert â",description:"Reservierungs-Einstellungen aktualisiert."})},C={brandColor:s?.brand_settings?.primaryColor||s?.wl_enabled&&s?.wl_primary_color||s?.expose_primarycolor||s?.wl_primary_color||"#f97316",logoUrl:s?.wl_logo_dark_url||s?.logo_url||void 0,sellerCompany:a.company||"Ihre Firma GmbH",sellerStreet:a.street||"MusterstraÃe 1",sellerZipCity:a.zipCity||"80331 München",sellerVertreter:n||"Max Mustermann",buyer1:{vorname:"Maria",name:"Musterfrau",geburtsdatum:"01.01.1985",strasse:"Beispielweg 12",plzOrt:"10115 Berlin",telefon:"+49 170 1234567",email:"[email protected]",familienstand:"ledig"},buyer2:null,objektBezeichnung:"Beispielobjekt â MusterstraÃe 1, 80331 München",kaufpreis:"350.000,00 â¬",weNummer:"WE 12",nutzung:"vermietet",aufwandsentschaedigung:`${(Number(i)||0).toLocaleString("de-DE")},00 â¬`,reservierungstage:Number(l)||0,vermittler:n||"Max Mustermann",notariat:"Notariat Beispiel, München",datenschutztext:u||y(a),betroffenenrechte:P,datum:new Date().toLocaleDateString("de-DE")};if(!s)return e.jsx("div",{className:"flex justify-center py-8",children:e.jsx(w,{className:"h-5 w-5 animate-spin text-muted-foreground"})});const j=t=>O("px-3 py-1.5 rounded-lg border text-xs transition-colors",t?"border-accent bg-accent/10 text-accent":"border-border text-muted-foreground hover:border-accent/30");return e.jsxs("div",{className:"space-y-6 max-w-2xl",children:[e.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-3 text-xs text-muted-foreground flex gap-2",children:[e.jsx(z,{className:"h-4 w-4 shrink-0 mt-0.5 text-accent"}),e.jsxs("span",{children:["Verkäufer-Block (Firma, Adresse, Logo, Akzentfarbe) wird aus den ",e.jsx("strong",{children:"Branding-/Whitelabel-Einstellungen"})," übernommen. Hier legst du nur die reservierungsspezifischen Inhalte fest."]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(o,{className:"text-xs",children:"Vertreten durch (Verkäufer)"}),e.jsx(x,{value:n,onChange:t=>p(t.target.value),placeholder:"Name des Verkäufer-Vertreters",className:"mt-1"})]}),e.jsxs("div",{children:[e.jsx(o,{className:"text-xs",children:"Aufwandsentschädigung bei Rücktritt (â¬)"}),e.jsx("p",{className:"text-2xs text-muted-foreground mt-0.5",children:"Vorgabewert â pro Reservierung überschreibbar."}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mt-1.5",children:[K.map(t=>e.jsxs("button",{type:"button",onClick:()=>c(t),className:j(Number(i)===t),children:[t.toLocaleString("de-DE")," â¬"]},t)),e.jsx(x,{type:"number",value:i,onChange:t=>c(Number(t.target.value)||0),className:"w-32"})]})]}),e.jsxs("div",{children:[e.jsx(o,{className:"text-xs",children:"Reservierungszeit (Tage)"}),e.jsx("p",{className:"text-2xs text-muted-foreground mt-0.5",children:"Vorgabewert â pro Reservierung überschreibbar."}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mt-1.5",children:[U.map(t=>e.jsxs("button",{type:"button",onClick:()=>d(t),className:j(Number(l)===t),children:[t," Tage"]},t)),e.jsx(x,{type:"number",value:l,onChange:t=>d(Number(t.target.value)||0),className:"w-32"})]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx(o,{className:"text-xs",children:"Datenschutztext (optional â sonst Standard)"}),e.jsx(g,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:E,children:"Standard einfügen"})]}),e.jsx(I,{value:u,onChange:t=>m(t.target.value),placeholder:"Leer lassen für den eingebauten Standardtext mit euren Kontaktdaten.",className:"min-h-[160px] text-xs font-mono"})]}),e.jsxs("div",{className:"flex flex-wrap justify-end gap-2",children:[e.jsxs(g,{variant:"outline",onClick:()=>v(!0),className:"gap-2",children:[e.jsx(B,{className:"h-4 w-4"})," Vorschau der Vereinbarung"]}),e.jsxs(g,{onClick:S,disabled:f,className:"gap-2",children:[f?e.jsx(w,{className:"h-4 w-4 animate-spin"}):e.jsx(W,{className:"h-4 w-4"})," Speichern"]})]}),e.jsx(R,{open:k,onOpenChange:v,children:e.jsxs(T,{className:"max-w-[900px] max-h-[90vh] overflow-y-auto",children:[e.jsxs(M,{children:[e.jsx(V,{children:"Vorschau der Reservierungsvereinbarung"}),e.jsx(L,{children:'Beispieldaten (Käufer âMaria Musterfrau", Beispielobjekt) mit deinen aktuellen Einstellungen â noch nicht gespeicherte Ãnderungen sind bereits enthalten.'})]}),e.jsx("div",{className:"overflow-x-auto",children:e.jsx("div",{className:"w-full md:w-[794px] md:origin-top-left md:scale-[0.75]",children:e.jsx(G,{data:C})})})]})})]})};export{re as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.