PageSourceSearch

https://betelmosjoen.vercel.app/assets/LeieTilbud-yr2FEL3M.js

js betelmosjoen.vercel.app collected 2026-10-03 06:11:05 UTC 14,380 bytes, 3 lines download raw bytes

1import{r as l,j as e}from"./index-Dx0k_FtW.js";const b="rounded-lg border border-line bg-surface px-3 py-2 text-sm text-ink focus:outline-none focus:ring-2 focus:ring-primary/40";function v(a){return`${Math.round(Number(a)||0).toLocaleString("nb-NO")} kr`}function N(a){return/^\d{4}-\d{2}-\d{2}$/.test(String(a||""))?new Date(`${a}T12:00:00`).toLocaleDateString("nb-NO",{weekday:"long",day:"numeric",month:"long",year:"numeric"}):String(a||"")}function Z({vilkaar:a}){const[t,f]=l.useState(!1);return e.jsxs("section",{className:"rounded-xl border border-line bg-surface-raised",children:[e.jsxs("button",{type:"button",onClick:()=>f(i=>!i),"aria-expanded":t,className:"flex w-full items-center justify-between gap-2 px-4 py-3 text-left",children:[e.jsx("span",{className:"text-sm font-semibold text-ink",children:a.tittel}),e.jsx("span",{className:"text-xs text-ink-soft",children:t?"Skjul":"Les vilkårene"})]}),t&&e.jsxs("div",{className:"border-t border-line px-4 py-3",children:[e.jsxs("p",{className:"mb-3 text-xs text-ink-soft",children:["Revisjon ",a.versjon.replace("rev. ","")," · dokumentavtrykk ",a.hash]}),e.jsx("div",{className:"space-y-3 text-sm text-ink",children:a.tekst.split(`
2
3`).map((i,d)=>{const c=i.trim();if(!c)return null;if(c.startsWith("## "))return e.jsx("h3",{className:"pt-1 font-semibold",children:c.slice(3)},d);const x=c.match(/^\*\*([^*]+?)\.?\*\*\s*([\s\S]*)$/);return x?e.jsxs("p",{children:[e.jsxs("strong",{children:[x[1],"."]})," ",x[2]]},d):e.jsx("p",{className:"whitespace-pre-wrap",children:c},d)})})]})]})}function te(){var T,P,E,L,C,B,K,O,D,F,M,V,J,R,G,I;const a=new URLSearchParams(window.location.search).get("t")||"",[t,f]=l.useState(null),[i,d]=l.useState("laster"),[c,x]=l.useState(""),[y,U]=l.useState(""),[h,q]=l.useState(!1),[k,u]=l.useState(!1),[H,S]=l.useState(!1),[w,W]=l.useState(""),[A,_]=l.useState(!1),[j,m]=l.useState(""),[n,z]=l.useState(null),p=l.useCallback(async()=>{if(!a){d("ukjent");return}try{const s=await fetch(`/api/leie/tilbud?t=${encodeURIComponent(a)}`);if(s.status===404){d("ukjent");return}if(s.status===429){const g=await s.json().catch(()=>({}));m(g.error||"For mange forsøk. Prøv igjen om en time."),d("sperret");return}if(!s.ok)throw new Error(`status ${s.status}`);const o=await s.json();f(o),d(o.status)}catch{d("feil")}},[a]);l.useEffect(()=>{p()},[p]),l.useEffect(()=>{const s=document.title;return document.title=n?"Avtalen er inngÃ¥tt – Pinsekirken Betel":"Tilbud pÃ¥ leie – Pinsekirken Betel",()=>{document.title=s}},[n]);async function Q(){if(!k){u(!0),m("");try{const s=await fetch("/api/leie/aksept",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({t:a,avslaa:!0,merknad:w})}),o=await s.json().catch(()=>({}));if(!s.ok){m(o.error||"Kunne ikke registrere svaret. Prøv igjen."),(s.status===409||s.status===410)&&p();return}_(!0),S(!1)}catch{m("Nettverksfeil. Sjekk tilkoblingen og prøv igjen.")}finally{u(!1)}}}async function X(s){if(s.preventDefault(),!k){if(!h){m("Kryss av for at du godtar vilkÃ¥rene før du aksepterer.");return}if(!c.trim()){m("Skriv navnet ditt for Ã¥ akseptere.");return}u(!0),m("");try{const o=await fetch("/api/leie/aksept",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({t:a,navn:c,epost:y,godtatt:h})}),g=await o.json().catch(()=>({}));if(!o.ok){m(g.error||"Kunne ikke registrere aksepten. Prøv igjen."),(o.status===409||o.status===410)&&p();return}z(g)}catch{m("Nettverksfeil. Sjekk tilkoblingen og prøv igjen.")}finally{u(!1)}}}const Y=new Map(((t==null?void 0:t.lokaleregister)||[]).map(s=>[s.id,s.navn])),r=t==null?void 0:t.sak,$=r!=null&&r.bevertningspakke?(T=t==null?void 0:t.bevertning)==null?void 0:T[r.bevertningspakke]:null;return e.jsx("div",{className:"min-h-screen bg-surface",children:e.jsxs("div",{className:"mx-auto flex max-w-2xl flex-col gap-4 px-4 py-8",children:[e.jsxs("header",{className:"flex flex-col gap-3",children:[e.jsx("img",{src:"/images/logo-lys.png",alt:"Pinsekirken Betel",className:"h-9 w-auto self-start dark:hidden"}),e.jsx("img",{src:"/images/logo-mork.png",alt:"Pinsekirken Betel",className:"hidden h-9 w-auto self-start dark:block"}),e.jsx("h1",{className:"text-2xl font-bold text-ink",children:"Tilbud pÃ¥ leie"}),e.jsx("div",{className:"h-0.5 w-full bg-[#C8102E]","aria-hidden":"true"})]}),i==="laster"&&e.jsx("p",{className:"text-sm text-ink-soft",children:"Henter tilbudet …"}),i==="feil"&&e.jsxs("div",{className:"flex flex-col items-start gap-2",children:[e.jsx("p",{className:"text-sm text-ink",children:"Kunne ikke hente tilbudet akkurat nÃ¥."}),e.jsx("button",{type:"button",onClick:()=>{d("laster"),p()},className:"rounded-lg border border-line px-3 py-1.5 text-sm font-medium text-ink",children:"Prøv igjen"})]}),i==="sperret"&&e.jsxs("p",{className:"rounded-xl border border-line bg-surface-raised p-4 text-sm text-ink",children:[j," Du kan ogsÃ¥ ta kontakt pÃ¥"," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-link underline",children:"[email protected]"}),"."]}),i==="ukjent"&&e.jsxs("p",{className:"rounded-xl border border-line bg-surface-raised p-4 text-sm text-ink",children:["Vi fant ikke dette tilbudet. Lenken kan være erstattet av et nyere tilbud – sjekk den siste e-posten fra oss, eller ta kontakt pÃ¥"," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-link underline",children:"[email protected]"}),"."]}),i==="utloept"&&e.jsxs("p",{className:"rounded-xl border border-amber-300 bg-amber-50 p-4 text-sm text-amber-950 dar
3k:border-amber-600 dark:bg-amber-500/10 dark:text-amber-100",children:["Tilbudet utløp ",N(t==null?void 0:t.gyldigTil),". Ta kontakt pÃ¥"," ",e.jsx("a",{href:"mailto:[email protected]",className:"underline",children:"[email protected]"}),", sÃ¥ sender vi gjerne et nytt."]}),A&&e.jsxs("div",{className:"rounded-xl border border-line bg-surface-raised p-4 text-sm text-ink",children:[e.jsx("p",{className:"font-semibold",children:"Takk for beskjeden."}),e.jsxs("p",{className:"mt-1",children:["Vi har registrert at dere takker nei, og datoen er frigjort. Velkommen tilbake en annen gang – ta gjerne kontakt pÃ¥"," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-link underline",children:"[email protected]"}),"."]})]}),(i==="akseptert"||n)&&e.jsxs("div",{className:"rounded-xl border border-green-200 bg-green-50 p-4 text-sm text-green-900 dark:border-green-900 dark:bg-green-500/10 dark:text-green-100",children:[e.jsx("p",{className:"font-semibold",children:"Avtalen er inngÃ¥tt – velkommen til Betel!"}),e.jsxs("p",{className:"mt-1",children:[((n==null?void 0:n.akseptertAv)||(t==null?void 0:t.akseptertAv))&&`Akseptert av ${(n==null?void 0:n.akseptertAv)||(t==null?void 0:t.akseptertAv)}`,((n==null?void 0:n.akseptert)||(t==null?void 0:t.akseptertTidspunkt))&&` ${new Date((n==null?void 0:n.akseptert)||t.akseptertTidspunkt).toLocaleString("nb-NO",{dateStyle:"long",timeStyle:"short"})}`,((P=t==null?void 0:t.vilkaar)==null?void 0:P.versjon)&&` · vilkÃ¥r ${t.vilkaar.versjon}`]}),e.jsxs("p",{className:"mt-1",children:[n!=null&&n.epostSendt?"Kontrakten er sendt pÃ¥ e-post til begge parter.":"Aksepten er registrert. Kontrakten ettersendes pÃ¥ e-post."," ","Avtalen under stÃ¥r som referanse."]})]}),r&&i!=="ukjent"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"rounded-xl border border-line bg-surface-raised p-4",children:[e.jsx("h2",{className:"mb-2 text-sm font-semibold uppercase tracking-wide text-ink-soft",children:"Arrangementet"}),e.jsxs("dl",{className:"grid gap-x-6 gap-y-1.5 text-sm sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("dt",{className:"text-ink-soft",children:"Dato"}),e.jsxs("dd",{className:"font-medium text-ink",children:[N((E=r.arrangement)==null?void 0:E.dato),(L=r.arrangement)!=null&&L.tidFra?`, kl. ${r.arrangement.tidFra}${r.arrangement.tidTil?`–${r.arrangement.tidTil}`:""}`:""]})]}),e.jsxs("div",{children:[e.jsx("dt",{className:"text-ink-soft",children:"Lokaler"}),e.jsx("dd",{className:"font-medium text-ink",children:(r.lokaler||[]).map(s=>`${Y.get(s.lokale)||s.lokale}${s.kjokken?" med kjøkken":""}`).join(", ")||"–"})]}),((C=r.arrangement)==null?void 0:C.formaal)&&e.jsxs("div",{children:[e.jsx("dt",{className:"text-ink-soft",children:"FormÃ¥l"}),e.jsx("dd",{className:"font-medium text-ink",children:r.arrangement.formaal})]}),((B=r.arrangement)==null?void 0:B.antallPersoner)!=null&&e.jsxs("div",{children:[e.jsx("dt",{className:"text-ink-soft",children:"Antall personer"}),e.jsxs("dd",{className:"font-medium text-ink",children:[r.arrangement.antallErAnslag?"ca. ":"",r.arrangement.antallPersoner,r.arrangement.garantertAntall!=null?` · garantert antall: ${r.arrangement.garantertAntall}`:""]})]}),$&&e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("dt",{className:"text-ink-soft",children:"Bevertning"}),e.jsx("dd",{className:"font-medium text-ink",children:$.navn})]}),e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("dt",{className:"text-ink-soft",children:"Leietaker"}),e.jsxs("dd",{className:"font-medium text-ink",children:[((K=r.leietaker)==null?void 0:K.navn)||((O=r.kontakt)==null?void 0:O.navn)||"–",(D=r.leietaker)!=null&&D.orgnr?` · Org.nr. ${r.leietaker.orgnr}`:""]})]})]})]}),e.jsxs("section",{className:"rounded-xl border border-line bg-surface-raised p-4",children:[e.jsx("h2",{className:"mb-2 text-sm font-semibold uppercase tracking-wide text-ink-soft",children:"Pris"}),e.jsx("table",{className:"w-full text-sm",children:e.jsxs("tbody",{children:[(r.prislinjer||[]).map((s,o)=>e.jsxs("tr",{className:"border-b border-line last:border-0",children:[e.jsxs("td",{className:"py-1.5 pr-2 text-ink",children:[s.beskrivelse,s.antall!==1?` – ${s.antall} × ${v(s.enhetspris)}`:""]}),e.jsx("td",{className:"py-1.5 text-right tabular-nums text-ink",children:v(s.belop)})]},o)),e.jsxs("tr",{children:[e.jsx("td",{className:"pt-2 font-semibold text-ink",children:"Totalt"}),e.jsx("td",{className:"pt-2 text-right font-semibold tabular-nums text-ink",children:v(r.sum)})]})]})}),e.jsx("p",{className:"mt-2 text-xs text-ink-soft",children:r.prisspor==="kommersiell"&&r.bevertningspakke?"Pakken inkluderer lokalitet, renhold og tekniker til oppsett av mikrofon og projektor/flatskjerm.":"Leien inkluderer én time tekniker til oppsett av mikrofon og projektor/flatskjerm. Leietaker rydder selv (vilkÃ¥rene §3)."}),r.prisspor==="kommersiell"&&(((F=r.arrangement)==null?void 0:F.antallErAnslag)||((M=r.arrangement)==null?void 0:M.garantertAntall)!=null)&&e.jsx("p",{className:"mt-2 text-xs text-ink-soft",children:((V=r.arrangement)==null?void 0:V.garantertAntall)!=null?`Bevertningen faktureres etter det garanterte antallet (${r.arrangement.garantertAntall}) – eller etter faktisk antall hvis flere deltar. Reduksjon etter fristen gir ikke fradrag (vilkÃ¥rene §6).`:"Antallet er et anslag. Endelig antall meldes senest 7 dager før arrangementet og utgjør det garanterte antallet som bevertningen faktureres etter – se vilkÃ¥rene §6."})]}),(t==null?void 0:t.vilkaar)&&e.jsx(Z,{vilkaar:t.vilkaar}),i==="aapent"&&!n&&!A&&e.jsxs("form",{onSubmit:X,className:"flex flex-col gap-3 rounded-xl border border-line bg-surface-raised p-4",children:[e.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-ink-soft",children:"Aksepter tilbudet"}),e.jsxs("p",{className:"text-xs text-ink-soft",children:["Tilbudet er gyldig til ",N(t==null?void 0:t.gyldigTil),". Skal noe justeres først? Svar pÃ¥ e-posten, sÃ¥ ordner vi det."]}),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[e.jsxs("label",{className:"flex flex-col gap-1 text-sm",children:[e.jsx("span",{className:"font-medium text-ink-soft",children:"Fullt navn *"}),e.jsx("input",{required:!0,value:c,onChange:s=>x(s.target.value),maxLength:120,className:b})]}),e.jsxs("label",{className:"flex flex-col gap-1 text-sm",children:[e.jsx("span",{className:"font-medium text-ink-soft",children:t!=null&&t.kontaktEpostMaskert?`Kontrakten sendes til ${t.kontaktEpostMaskert} – eller en annen adresse:`:"E-post for kontrakten"}),e.jsx("input",{type:"email",value:y,onChange:s=>U(s.target.value),maxLength:160,placeholder:t!=null&&t.kontaktEpostMaskert?"Valgfritt":"",className:b})]})]}),e.jsxs("label",{className:"flex items-start gap-2.5 text-sm text-ink",children:[e.jsx("input",{type:"checkbox",checked:h,onChange:s=>q(s.target.checked),className:"mt-0.5 h-4 w-4 accent-[rgb(var(--c-primary))]"}),e.jsx("span",{children:(R=(J=t==null?void 0:t.sak)==null?void 0:J.leietaker)!=null&&R.orgnr?`Jeg har fullmakt til Ã¥ inngÃ¥ denne avtalen pÃ¥ vegne av ${t.sak.leietaker.navn||"leietaker"} (org.nr. ${t.sak.leietaker.orgnr}), og jeg har lest og godtar informasjon, avtalt pris og «Generelle leievilkÃ¥r» (${(G=t==null?void 0:t.vilkaar)==null?void 0:G.ver
3sjon}).`:`Jeg har lest og godtar informasjon, avtalt pris og «Generelle leievilkÃ¥r» (${(I=t==null?void 0:t.vilkaar)==null?void 0:I.versjon}).`})]}),j&&e.jsx("p",{role:"alert",className:"rounded-lg bg-red-50 px-3 py-2 text-sm text-red-800 dark:bg-red-500/10 dark:text-red-200",children:j}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4",children:[e.jsx("button",{type:"submit",disabled:k,className:"rounded-lg bg-primary px-5 py-2.5 text-sm font-semibold text-white disabled:opacity-50",children:k?"Registrerer …":"Aksepter og inngÃ¥ avtalen"}),e.jsx("button",{type:"button",onClick:()=>S(s=>!s),className:"text-sm text-ink-soft underline",children:"Jeg takker nei til tilbudet"})]}),H&&e.jsxs("div",{className:"flex flex-col gap-2 rounded-lg border border-line bg-surface p-3",children:[e.jsxs("label",{className:"flex flex-col gap-1 text-sm",children:[e.jsx("span",{className:"font-medium text-ink-soft",children:"Vil du si hvorfor? (valgfritt)"}),e.jsx("textarea",{value:w,onChange:s=>W(s.target.value),maxLength:500,rows:2,className:b})]}),e.jsx("button",{type:"button",disabled:k,onClick:Q,className:"self-start rounded-lg border border-line px-4 py-2 text-sm font-medium text-ink disabled:opacity-60",children:k?"Sender …":"Bekreft: takk nei"})]})]})]}),e.jsxs("footer",{className:"mt-6 border-t border-line pt-4 text-xs text-ink-soft",children:["Pinsekirken Betel · Mathias Bruns gate 19, 8657 Mosjøen · Org.nr. 971 491 345 ·"," ",e.jsx("a",{href:"mailto:[email protected]",className:"underline",children:"[email protected]"})]})]})})}export{te 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.