PageSourceSearch

https://frimurer.no/assets/MagazineArticleQuickEditor-Csn4XcFU.js

js frimurer.no collected 2026-10-02 12:15:04 UTC 23,193 bytes, 13 lines download raw bytes

1import{r as o,j as e,f as ze,u as Se}from"./vendor-react-GnwsTJfO.js";import{a4 as we,f as C,n as fe,B as j,a5 as Ce,I as F,S as Ie,U as Ae,V as b,aH as Te,N as ie,F as ae,Z as Le,aj as Ee,Y as Be,C as R,g as P,G as $,J as O,i as ne,j as re,k as le,l as ce,bl as Re,aK as W,m as D,aF as Pe,a0 as Me}from"./index-Bk3sb3g_.js";import{u as $e}from"./useAdminAuth-B8BfgGDM.js";import{e as oe,S as De}from"./AdminNavigation-DVMee0wC.js";import{L}from"./label-CC4lcsSO.js";import{T as de}from"./textarea-DX8aEp-d.js";import{A as Fe}from"./ArticleComments-BIkh35pm.js";import{A as He,a as Oe,b as Ue}from"./alert-1UpWSmue.js";import{R as qe}from"./RichTextEditor-CFLY8lWg.js";import{M as Ke}from"./MediaPicker-AY7BSKf3.js";import{S as Ve}from"./StickyFormActions-DhE7qWCm.js";import{I as ue}from"./image-CJtwgLmH.js";import{T as me}from"./trash-2-DOLSXo7O.js";import{E as Ze}from"./external-link-BCPKGj30.js";import{S as Ge}from"./save-DqX4_s7f.js";import"./vendor-cjs-BcELrC9x.js";import"./vendor-supabase-BWPZKnGU.js";import"./vendor-ui-C1xCQL2z.js";import"./vendor-utils-B2rm_Apj.js";import"./vendor-query-Dp4tHR6-.js";import"./MasonicCross-CB_Vslf8.js";import"./users-Cq75-41X.js";import"./switch-HlfwIZQ_.js";import"./message-square-Dpi2jLvN.js";import"./circle-check-HbOHiPuy.js";import"./vendor-editor-D6dciLIt.js";import"./vendor-charts-nzC1RNlt.js";import"./useStickyNavOffset-BgVuKoFO.js";import"./image-plus-Cy7-asr8.js";import"./align-left-DWOxStZg.js";import"./tabs-BNB3Udc8.js";import"./mediaLibrary-CxE8eUBE.js";import"./browser-image-compression-BzWLnoYn.js";import"./useProvincialMediaBanks-D1PHzV0C.js";import"./checkbox-CXoLB0wA.js";import"./upload-BsTf4xyL.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const We=we("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);function Qe({currentArticleId:a,value:n,onChange:c}
6){const[g,x]=o.useState([]),[l,d]=o.useState(""),[f,p]=o.useState([]),[y,m]=o.useState(!1),[u,N]=o.useState(!1);o.useEffect(()=>{let r=!1;return(async()=>{if(n.length===0){x([]);return}const{data:w}=await C.from("articles").select("id, title, slug, magazine_issue_id, magazine_issues!articles_magazine_issue_id_fkey(title, slug)").in("id",n);if(r)return;const E=(w||[]).map(h=>{var S,k;return{id:h.id,title:h.title,slug:h.slug,magazine_issue_id:h.magazine_issue_id,issue_title:((S=h.magazine_issues)==null?void 0:S.title)??null,issue_slug:((k=h.magazine_issues)==null?void 0:k.slug)??null}});x(n.map(h=>E.find(S=>S.id===h)).filter(Boolean))})(),()=>{r=!0}},[n]);const I=async(r=l)=>{const w=r.trim();if(!w){p([]),N(!1);return}m(!0);const{data:E,error:h}=await C.from("articles").select("id, title, slug, magazine_issue_id, magazine_issues!articles_magazine_issue_id_fkey(title, slug)").not("magazine_issue_id","is",null).ilike("title",`%${w}%`).limit(20);if(m(!1),N(!0),h){console.error("MagazineRelatedPicker search error",h),b.error("Søk feilet",{description:h.message??"Kunne ikke søke etter artikler"}),p([]);return}const S=(E||[]).filter(k=>k.id!==a&&!n.includes(k.id)).map(k=>{var B,q;return{id:k.id,title:k.title,slug:k.slug,magazine_issue_id:k.magazine_issue_id,issue_title:((B=k.magazine_issues)==null?void 0:B.title)??null,issue_slug:((q=k.magazine_issues)==null?void 0:q.slug)??null}});p(S)},A=o.useRef(null);o.useEffect(()=>{A.current&&clearTimeout(A.current);const r=l.trim();if(r.length<2){p([]),N(!1);return}return A.current=setTimeout(()=>{I(r)},300),()=>{A.current&&clearTimeout(A.current)}},[l,n,a]);const z=r=>{c([...n,r.id]),p(w=>w.filter(E=>E.id!==r.id))},i=r=>c(n.filter(w=>w!==r));return e.jsxs("div",{className:"space-y-3",children:[g.length>0&&e.jsx("div",{className:"space-y-1",children:g.map(r=>e.jsxs("div",{className:"flex items-center gap-2 border rounded px-2 py-1.5 bg-card",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-sm truncate",children:r.title}),r.issue_title&&e.jsx(fe,{variant:"outline",className:"text-[10px]",children:r.issue_title})]}),e.jsx(j,{size:"sm",variant:"ghost",onClick:()=>i(r.id),children:e.jsx(Ce,{className:"w-3.5 h-3.5"})})]},r.id))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(F,{value:l,onChange:r=>d(r.target.value),onKeyDown:r=>{r.key==="Enter"&&(r.preventDefault(),I())},placeholder:"Søk magasinartikler på tvers av utgaver"}),e.jsx(j,{type:"button",variant:"secondary",onClick:()=>I(),disabled:y,children:e.jsx(Ie,{className:"w-4 h-4"})})]}),y&&e.jsx("div",{className:"text-xs text-muted-foreground px-1",children:"Søker…"}),!y&&u&&f.length===0&&l.trim().length>=2&&e.jsxs("div",{className:"text-xs text-muted-foreground px-1",children:["Ingen treff for «",l.trim(),"»."]}),f.length>0&&e.jsx("div",{className:"border rounded max-h-56 overflow-auto divide-y",children:f.map(r=>e.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 hover:bg-muted text-sm",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"truncate",children:r.title}),r.issue_title&&e.jsx("div",{className:"text-[10px] text-muted-foreground",children:r.issue_title})]}),e.jsx(j,{size:"sm",variant:"ghost",onClick:()=>z(r),children:e.jsx(Ae,{className:"w-3.5 h-3.5"})})]},r.id))})]})}const Ye=/\u00a0/g,Je=/\u00ad/g,Xe=/[\u200b-\u200f\u2028\u2029]/g,et=/ {2,}/g,Y=/[.!?…»]$/;function tt(a){let n=a.replace(/\r\n?/g,`
7`).replace(Ye," ").replace(Je,"").replace(Xe,"");return n=n.replace(/"([^"\n]+)"/g,"«$1»"),n=n.replace(/[“„]/g,"«").replace(/[”]/g,"»"),n=n.replace(/[‘’]/g,"'"),n=n.replace(/--/g,"–"),n}function ge(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Q(a){return a.replace(/[ \t]+/g," ").trim()}function he(a){if(!/^av\s+[A-ZÆØÅ]/i.test(a))return null;const n=a.replace(/^av\s+/i,"").trim(),c=n.match(/\([^)]*foto[^)]*\)/i);if((c==null?void 0:c.index)!==void 0){const x=c.index+c[0].length,l=n.slice(0,x).trim(),d=n.slice(x).trim();if(l.length>=3&&l.length<=180)return{byline:l,rest:d}}const g=n.search(/\s+(?=(?:For|Dette|Denne|Det|Den|Da|Når|I|På|Siden|Men|Og|Han|Hun|De|Vi|Jeg|Historien|Intervjuet)\b)/);return g>0&&g<=180?{byline:n.slice(0,g).trim(),rest:n.slice(g).trim()}:n.length<=180?{byline:n,rest:""}:null}function U(a){return a.length>180?!1:/^(av\s+[A-ZÆØÅ]|tekst\s*[:\-]|foto\s*[:\-]|tekst\s+og\s+foto)/i.test(a)}function st(a){const n=a.split(`
8`).map(Q).join(`
9`).trim();if(!n)return[];if(/\n\s*\n/.test(n)){const f=[];return n.split(/\n{2,}
9/).forEach(p=>{const y=p.split(`
10`).map(Q).filter(Boolean);let m="";const u=()=>{m.trim()&&f.push(m.trim()),m=""};y.forEach(N=>{const I=he(N);(I?[`Av ${I.byline}`,I.rest].filter(Boolean):[N]).forEach(z=>{if(U(z)||Z(z)){u(),f.push(z);return}m=m?`${m} ${z}`:z,Y.test(z)&&u()})}),u()}),f.filter(Boolean)}const g=n.split(`
11`).map(Q).filter(Boolean),x=[];let l="";const d=()=>{l.trim()&&x.push(l.trim()),l=""};for(const f of g){const p=he(f),y=p?[`Av ${p.byline}`,p.rest].filter(Boolean):[f];for(const m of y){if(U(m)||Z(m)){d(),x.push(m);continue}l=l?`${l} ${m}`:m,Y.test(m)&&d()}}return d(),x.filter(Boolean)}function it(a){if(!a||!a.trim())return{title:null,excerpt:null,byline:null,bodyHtml:"",paragraphs:[]};let n=tt(a);n=n.replace(et," ").trim();const c=st(n);let g=null,x=null,l=null,d=0;const f=()=>c.length>d&&!l&&U(c[d])?(l=c[d].replace(/^av\s+/i,""),d+=1,!0):!1,p=()=>{if(!g||x||c.length<=d+1)return!1;const u=c[d];return U(u)||Z(u)||u.length>400?!1:(x=u,d+=1,!0)};if(f(),c.length>d+1){const u=c[d];u.length<160&&!/[.!?»]$/.test(u)&&!U(u)&&(g=u,d+=1)}p(),f(),p();const y=c.slice(d),m=y.map(u=>Z(u)?`<p><strong>${ge(u)}</strong></p>`:`<p>${ge(u)}</p>`).join(`
12`);return{title:g,excerpt:x,byline:l,bodyHtml:m,paragraphs:y}}function Z(a){return!(!a||a.length>=80||Y.test(a)||/[,;:]/.test(a)||/^[«"]/.test(a)||/^av\s+/i.test(a)||a.split(/\s+/).length>9||!/[A-Za-zÆØÅæøå]/.test(a))}const at="b282f8d3-6417-4af4-84fc-181609909053",nt={draft:"Utkast",pending_review:"Til godkjenning",rejected:"Avvist",published:"Publisert",unpublished:"Avpublisert",archived:"Arkivert"},xe=a=>a.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[æ]/g,"ae").replace(/[ø]/g,"o").replace(/[å]/g,"a").replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,""),rt=()=>({title:"",subtitle:"",slug:"",excerpt:"",byline:"",content:"",image_url:null,image_alt_text:null,magazine_section:null,show_on_magazine_front:!0,publish_publicly:!0,magazine_checklist:{},related_article_ids:[],status:"draft",feature_outside_magazine:!1,rejection_reason:null});function Ut(){const{issueId:a,articleId:n}=ze(),c=Se(),{user:g,role:x,loading:l}=$e({requiredRoles:["webmaster","editor_dnfo","editor_region","editor_lodge"]}),[d,f]=o.useState(""),[p,y]=o.useState(""),[m,u]=o.useState(null),[N,I]=o.useState(null),[A,z]=o.useState(null),[i,r]=o.useState(rt()),[w,E]=o.useState(!0),[h,S]=o.useState(!1),[k,B]=o.useState(!1),[q,G]=o.useState(!1),[K,J]=o.useState(""),[X,pe]=o.useState(!1);o.useEffect(()=>{l||x!=="user"&&_e()},[a,n,l,x]);const _e=async()=>{if(!a)return;E(!0);const{data:t}=await C.from("magazine_issues").select("id, title, editor_letter_author, category_id, lodge_id").eq("id",a).maybeSingle();if(!t){b.error("Fant ikke utgaven"),c("/admin/magazine");return}if(f(t.title),y(t.editor_letter_author||""),u(t.category_id??null),I(t.lodge_id??null),t.lodge_id){const{data:s}=await C.from("lodges").select("name, magazine_name").eq("id",t.lodge_id).maybeSingle();z((s==null?void 0:s.magazine_name)||(s!=null&&s.name?`${s.name} — magasin`:null))}else z(null);if(n){const{data:s}=await C.from("articles").select("id, title, subtitle, slug, excerpt, byline, content, image_url, image_alt_text, magazine_section, show_on_magazine_front, publish_publicly, magazine_checklist, related_article_ids, status, feature_outside_magazine, rejection_reason").eq("id",n).maybeSingle();s&&r({id:s.id,title:s.title||"",subtitle:s.subtitle||"",slug:s.slug||"",excerpt:s.excerpt||"",byline:s.byline||"",content:s.content||"",image_url:s.image_url,image_alt_text:s.image_alt_text,magazine_section:s.magazine_section,show_on_magazine_front:!!s.show_on_magazine_front,publish_publicly:s.publish_publicly??!0,magazine_checklist:s.magazine_checklist||{},related_article_ids:s.related_article_ids||[],status:s.status||"draft",feature_outside_magazine:!!s.feature_outside_magazine,rejection_reason:s.rejection_reason??null})}else r(s=>({...s,byline:t.editor_letter_author||""}));E(!1)},ee=N?"lodge":"national",M=Te(ee),v=(t,s)=>{r(_=>({..._,[t]:s}))},je=t=>{r(s=>({...s,title:t,slug:s.id?s.slug:xe(t)}))},ke=()=>{if(!K.trim())return;const t=it(K);r(s=>({...s,title:s.title||t.title||"",slug:s.slug||(t.title?xe(t.title):s.slug),excerpt:s.excerpt||t.excerpt||"",byline:t.byline||s.byline||"",content:(s.content||"")+(s.
12content?`
13`:"")+t.bodyHtml})),J(""),G(!1),b.success("Tekst importert og renset")},ve=t=>{r(s=>({...s,image_url:t.url,image_alt_text:t.altText??s.image_alt_text})),B(!1)},ye=async()=>{var _;const{data:t}=await C.from("articles").select("magazine_priority").eq("magazine_issue_id",a).order("magazine_priority",{ascending:!1}).limit(1),s=((_=t==null?void 0:t[0])==null?void 0:_.magazine_priority)??0;return(Number(s)||0)+10},te=async t=>{if(!i.title.trim()||!i.slug.trim()){b.error("Tittel og URL er påkrevd");return}if(!(g!=null&&g.id)){b.error("Ikke innlogget");return}S(!0);try{const s=t!=null&&t.markReady?M.reduce((T,V)=>(T[V.key]=!0,T),{...i.magazine_checklist}):i.magazine_checklist,_={title:i.title,subtitle:i.subtitle||null,slug:i.slug,excerpt:i.excerpt||null,byline:i.byline||null,content:i.content||"",image_url:i.image_url,image_alt_text:i.image_alt_text,category_id:m??at,magazine_issue_id:a,magazine_section:i.magazine_section,show_on_magazine_front:i.show_on_magazine_front,publish_publicly:i.publish_publicly,magazine_checklist:s,related_article_ids:i.related_article_ids,originally_in_print:!0,source_origin:"manual",author_id:g.id,status:i.status,feature_outside_magazine:i.feature_outside_magazine};let H=i.id;if(H){const{error:T}=await C.from("articles").update(_).eq("id",H);if(T)throw T}else{_.magazine_priority=await ye();const{data:T,error:V}=await C.from("articles").insert(_).select("id").single();if(V)throw V;H=T.id}b.success("Artikkel lagret"),!i.id&&H?c(`/admin/magazine/${a}/article/${H}`,{replace:!0}):r(T=>({...T,magazine_checklist:s}))}catch(s){console.error(s),b.error((s==null?void 0:s.message)||"Kunne ikke lagre")}finally{S(!1)}},be=async()=>{if(!i.id)return;const t=M.filter(_=>_.required&&!i.magazine_checklist[_.key]);if(t.length>0){b.error(`Sjekklisten mangler: ${t.map(_=>_.label).join(", ")}`);return}S(!0);const{error:s}=await C.from("articles").update({status:"pending_review",rejection_reason:null}).eq("id",i.id);if(S(!1),s){b.error(s.message||"Kunne ikke sende inn på nytt");return}r(_=>({..._,status:"pending_review",rejection_reason:null})),b.success("Artikkelen er sendt til godkjenning på nytt")},Ne=async()=>{if(!i.id||!confirm("Slette denne artikkelen permanent?"))return;const{error:t}=await C.from("articles").delete().eq("id",i.id);if(t){b.error(t.message);return}b.success("Artikkel slettet"),c(`/admin/magazine/edit/${a}`)},se=o.useMemo(()=>({done:M.filter(s=>!!i.magazine_checklist[s.key]).length,total:M.length}),[i.magazine_checklist,M]);return l||w?e.jsxs("div",{className:"min-h-screen flex flex-col bg-background",children:[e.jsx(ie,{}),e.jsx(oe,{}),e.jsx("div",{className:"flex-grow flex items-center justify-center",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"})}),e.jsx(ae,{})]}):e.jsxs("div",{className:"min-h-screen flex flex-col bg-background",children:[e.jsx(ie,{}),e.jsx(oe,{}),e.jsxs("main",{className:"flex-grow container mx-auto px-4 py-6 max-w-6xl",children:[e.jsx("div",{className:"flex items-center justify-between gap-4 mb-4 flex-wrap",children:e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsxs(j,{variant:"ghost",size:"sm",onClick:()=>c(`/admin/magazine/edit/${a}`),children:[e.jsx(Le,{className:"w-4 h-4 mr-2"}),"Tilbake til utgaven"]}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(Ee,{className:"w-3.5 h-3.5"}),e.jsx("span",{className:"truncate",children:d})]}),e.jsx("h1",{className:"text-xl font-serif truncate",children:i.id?i.title||"Uten tittel":"Ny magasinartikkel"})]})]})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_320px] gap-6",children:[e.jsxs("div",{className:"space-y-4",children:[i.status==="rejected"&&e.jsxs(He,{variant:"destructive",children:[e.jsx(Be,{className:"h-4 w-4"}),e.jsx(Oe,{children:"Artikkelen er avvist"}),e.jsxs(Ue,{className:"space-y-2",children:[e.jsx("p",{children:i.rejection_reason||"Ingen begrunnelse oppgitt."}),e.jsx("p",{className:"text-xs",children:"Gjør de nødvendige endringene og send artikkelen til godkjenning på nytt. Se også k
13ommentarene nederst på siden."})]})]}),e.jsx(R,{children:e.jsxs(P,{className:"pt-6 space-y-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx(L,{children:"Tittel"}),e.jsxs(j,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>G(t=>!t),children:[e.jsx(We,{className:"w-3.5 h-3.5 mr-1"}),"Lim inn fra InDesign"]})]}),e.jsx(F,{value:i.title,onChange:t=>je(t.target.value),placeholder:"Artikkelens tittel"})]}),e.jsxs("div",{children:[e.jsxs(L,{children:["Undertittel ",e.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"(valgfritt)"})]}),e.jsx(F,{value:i.subtitle,onChange:t=>v("subtitle",t.target.value),placeholder:"Kort undertittel som vises under tittelen"})]}),q&&e.jsxs("div",{className:"rounded border bg-muted/30 p-3 space-y-2",children:[e.jsx("div",{className:"text-xs text-muted-foreground",children:"Lim inn ren tekst fra InDesign/Word. Første linje foreslås som tittel, neste korte avsnitt som ingress. Typografiske tegn og harde linjeskift renses automatisk."}),e.jsx(de,{rows:8,value:K,onChange:t=>J(t.target.value),placeholder:"Lim inn her..."}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(j,{variant:"ghost",size:"sm",onClick:()=>G(!1),children:"Avbryt"}),e.jsx(j,{size:"sm",onClick:ke,disabled:!K.trim(),children:"Rens og sett inn"})]})]}),e.jsxs("div",{children:[e.jsx(L,{children:"Ingress"}),e.jsx(de,{rows:3,value:i.excerpt,onChange:t=>v("excerpt",t.target.value),placeholder:"Kort sammendrag som vises i lister og på magasinfronten"})]}),e.jsxs("div",{children:[e.jsx(L,{children:"Byline / forfatter"}),e.jsx(F,{value:i.byline,onChange:t=>v("byline",t.target.value),placeholder:"F.eks. Tekst: Ola Nordmann · Foto: Kari Nordmann"})]}),e.jsxs("div",{children:[e.jsx(L,{children:"Brødtekst"}),e.jsx(qe,{content:i.content,onChange:t=>v("content",t),placeholder:"Skriv eller lim inn artikkelen",magazineIssueId:a??null,magazineLodgeId:N,magazineName:A})]})]})}),e.jsxs(R,{children:[e.jsx($,{children:e.jsx(O,{children:"Hovedbilde"})}),e.jsxs(P,{className:"space-y-3",children:[i.image_url?e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("img",{loading:"lazy",decoding:"async",src:i.image_url,alt:i.image_alt_text||"",className:"w-48 aspect-[4/3] object-cover rounded border"}),e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx(F,{value:i.image_alt_text||"",onChange:t=>v("image_alt_text",t.target.value),placeholder:"Alternativ tekst (viktig for tilgjengelighet)"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(j,{variant:"outline",size:"sm",onClick:()=>B(!0),children:[e.jsx(ue,{className:"w-4 h-4 mr-2"}),"Bytt bilde"]}),e.jsx(j,{variant:"ghost",size:"sm",onClick:()=>{v("image_url",null),v("image_alt_text",null)},children:e.jsx(me,{className:"w-4 h-4"})})]})]})]}):e.jsxs(j,{variant:"outline",onClick:()=>B(!0),children:[e.jsx(ue,{className:"w-4 h-4 mr-2"}),"Velg bilde fra utgavens bildebank"]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Bildevalg åpner mediebanken filtrert til denne utgaven (magazine/",a,"/)."]})]})]}),e.jsxs(R,{children:[e.jsx($,{children:e.jsx(O,{children:"Relaterte artikler"})}),e.jsx(P,{children:e.jsx(Qe,{currentArticleId:i.id??null,value:i.related_article_ids,onChange:t=>v("related_article_ids",t)})})]}),i.id&&e.jsxs(R,{children:[e.jsx($,{children:e.jsx(O,{children:"Redaksjonelle kommentarer"})}),e.jsx(P,{children:e.jsx(Fe,{articleId:i.id})})]})]}),e.jsxs("aside",{className:"space-y-4",children:[e.jsxs(R,{children:[e.jsx($,{className:"pb-3",children:e.jsx(O,{className:"text-base",children:"Status"})}),e.jsxs(P,{className:"space-y-3",children:[e.jsx(fe,{variant:i.status==="rejected"?"destructive":"outline",children:nt[i.status]??i.status}),i.status==="rejected"&&i.id&&e.jsxs(j,{size:"sm",className:"w-full",onClick:be,disabled:h,children:[e.jsx(De,{className:"w-4 h-4 mr-2"}),"Send til godkjenning på nytt"]}),e.jsxs("div",{children:[e.jsx(L,{className:"text-xs",children:"Publiseringssjekk"}),e.jsx("div",{className:"mt-2 space-y-1.5",children:M.map(t=>e.jsxs("label",{className:"flex items-start gap-2 text-xs cursor-pointer",children:[e.jsx("input",{type:"checkbox",className:"mt-0.5",checked:!!i.magazine_checklist[t.key],onChange:s=>v("magazine_checklist",{...i.magazine_checklist,[t.key]:s.target.checked})}),e.jsxs("span",{children:[t.label,t.required&&e.jsx("span",{className:"text-red-500 ml-0.5",children:"*"})]})]},t.key))}),e.jsxs("div",{className:"text-[11px] text-muted-foreground mt-2",children:[se.done,"/",se.total," punkter huket av",ee==="lodge"&&e.jsx("div",{className:"mt-1 text-amber-700",children:"Utvidet sjekkliste for logemagasin — alle merket med * må være huket av før innsending til godkjenning."})]})]})]})]}),e.jsxs(R,{children:[e.jsx($,{className:"pb-3",children:e.jsx(O,{className:"text-base",children:"Plassering"})}),e.jsxs(P,{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx(L,{className:"text-xs",children:"Seksjon"}),e.jsxs(ne,{value:i.magazine_section??void 0,onValueChange:t=>v("magazine_section",t),children:[e.jsx(re,{children:e.jsx(le,{placeholder:"Velg seksjon"})}),e.jsx(ce,{children:[...Re].sort((t,s)=>W[t].localeCompare(W[s],"nb")).map(t=>e.jsx(D,{value:t,children:W[t]},t))})]})]}),e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:i.show_on_magazine_front,onChange:t=>v("show_on_magazine_front",t.target.checked)}),"Vis på magasinfronten"]}),e.jsxs("label",{className:"flex items-start gap-2 text-sm",title:"Standard: magasinartikler vises kun i magasinet. Kryss av for å løfte artikkelen ut i vanlige nyhetsstrømmer (forside, lodge-forside, kategorilister).",children:[e.jsx("input",{type:"checkbox",className:"mt-0.5",checked:i.feature_outside_magazine,onChange:t=>v("feature_outside_magazine",t.target.checked)}),e.jsxs("span",{children:["Løft ut i nyhetsstrømmer",e.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Vises på forsiden / lodge-forsiden i tillegg til magasinet."})]})]})]})]}),e.jsxs(R,{children:[e.jsx($,{className:"pb-2",children:e.jsxs("button",{type:"button",className:"flex items-center gap-2 text-sm font-medium",onClick:()=>pe(t=>!t),children:[X?e.jsx(Pe,{className:"w-4 h-4"}):e.jsx(Me,{className:"w-4 h-4"}),"Avansert"]})}),X&&e.jsxs(P,{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx(L,{className:"text-xs",children:"URL-slug"}),e.jsx(F,{value:i.slug,onChange:t=>v("slug",t.target.value)}),e.jsxs("p",{className:"text-[11px] text-muted-foreground mt-1",children:["/artikler/",i.slug]})]}),e.jsxs("div",{children:[e.jsx(L,{className:"text-xs",children:"Status"}),e.jsxs(ne,{value:i.status,onValueChange:t=>v("status",t),children:[e.jsx(re,{children:e.jsx(le,{})}),e.jsxs(ce,{children:[e.jsx(D,{value:"draft",children:"Utkast"}),e.jsx(D,{value:"pending_review",children:"Til godkjenning"}),e.jsx(D,{value:"rejected",children:"Avvist"}),e.jsx(D,{value:"published",children:"Publisert"}),e.jsx(D,{value:"unpublished",children:"Avpublisert"})]})]})]}),i.id&&e.jsxs(j,{variant:"ghost",size:"sm",className:"text-destructive",onClick:Ne,children:[e.jsx(me,{className:"w-4 h-4 mr-2"}),"Slett artikkel"]})]})]})]})]}),e.jsxs(Ve,{className:"sm:justify-end",children:[i.id&&i.slug&&e.jsxs(j,{variant:"outline",onClick:()=>window.open(`/artikler/${i.slug}`,"_blank"),children:[e.jsx(Ze,{className:"w-4 h-4 mr-2"}),"Forhåndsvis"]}),e.jsxs(j,{variant:"outline",onClick:()=>te(),disabled:h,children:[e.jsx(Ge,{className:"w-4 h-4 mr-2"}
13),h?"Lagrer...":"Lagre"]}),e.jsx(j,{onClick:()=>te({markReady:!0}),disabled:h,children:"Merk klar"})]})]}),e.jsx(Ke,{open:k,onOpenChange:B,magazineIssueId:a??null,magazineLodgeId:N,magazineName:A||"Frimurerbladet",onSelect:ve}),e.jsx(ae,{})]})}export{Ut 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.