Files
sm-bm-plugin/public/assets/MaterialEditView-COUs4XFG.js

8 lines
42 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownEditor-CTCWoas2.js","assets/index-pecOIxjM.js","assets/index-CkSaus_y.css"])))=>i.map(i=>d[i]);
import{d as je,n as l,c as r,F as U,E as K,f as M,h as oa,i as F,_ as ht,r as z,x as L,V as ve,e as h,b as n,t as y,C as fe,ag as la,X as kt,Z as oe,T as Qe,aC as Gt,at as ra,U as ae,w as ne,v as Ye,aw as Wa,ax as Xe,aD as Aa,aE as Oa,aF as bt,aG as Ra,A as ua,ae as Fa,q as Ka,o as mt,aH as Za,j as Le,al as ge,aI as te,ap as Ve,aJ as qa,aK as Ge,aL as Ha,aM as Jt,aN as pt,aO as Ga,p as ze,s as Yt,as as Xt,H as Ja,aP as Ya,aQ as Xa,aB as Qt,l as Qa,m as en,aR as tn,aS as an,aT as yt,au as nn,aU as sn}from"./index-pecOIxjM.js";import{_ as on}from"./PageHead.vue_vue_type_script_setup_true_lang-B1ObQL_V.js";import{_ as ln}from"./LoadState.vue_vue_type_script_setup_true_lang-CcJJXXGw.js";import{n as da}from"./tabs-nNm7HGNT.js";import{_ as gt}from"./ConfirmDialog.vue_vue_type_script_setup_true_lang-DBvHD95I.js";import{u as rn,r as un}from"./markdown-DfJQ-uoA.js";import{c as ea}from"./materialListCache-CbOkBNjz.js";import"./safeText-O-oWGdGq.js";const dn={key:0,class:"md-toolbar-sep","aria-hidden":"true"},cn=["data-index","aria-label","title","tabindex","onClick"],vn=je({__name:"MarkdownToolbar",emits:["command","pickImage"],setup(i,{emit:s}){const m=s,v=typeof navigator<"u"&&/Mac|iPhone|iPad|iPod/.test(navigator.platform),k=f=>v?`⌘${f}`:`Ctrl+${f}`,u=[[{cmd:"bold",icon:"bold",label:"Pogrubienie",key:"B"},{cmd:"italic",icon:"italic",label:"Kursywa",key:"I"},{cmd:"heading",icon:"heading",label:"Nagłówek"}],[{cmd:"list",icon:"list",label:"Lista"},{cmd:"quote",icon:"quote",label:"Cytat"}],[{cmd:"link",icon:"link",label:"Link",key:"K"},{cmd:"image",icon:"image",label:"Obrazek z dysku",title:"Obrazek z dysku (możesz też wkleić albo przeciągnąć)"},{cmd:"table",icon:"table",label:"Tabela"}]],E=L(()=>u.flat()),x=z(0),w=z([]);function c(f){return E.value.indexOf(f)}function S(f){return f.title?f.title:f.key?`${f.label} (${k(f.key)})`:f.label}function d(f){const p=da(f.key,x.value,E.value.length);p!==null&&(f.preventDefault(),x.value=p,w.value.find(q=>Number(q.dataset.index)===p)?.focus())}function j(f){x.value=c(f),f.cmd==="image"?m("pickImage"):m("command",f.cmd)}return(f,p)=>(l(),r("div",{class:"md-toolbar",role:"toolbar","aria-label":"Formatowanie",onKeydown:d},[(l(),r(U,null,K(u,(q,Z)=>(l(),r(U,{key:Z},[Z>0?(l(),r("span",dn)):M("",!0),(l(!0),r(U,null,K(q,P=>(l(),r("button",{key:P.cmd,ref_for:!0,ref_key:"buttons",ref:w,class:"icon-btn md-tool",type:"button","data-index":c(P),"aria-label":P.label,title:S(P),tabindex:c(P)===x.value?0:-1,onMousedown:p[0]||(p[0]=oa(()=>{},["prevent"])),onClick:H=>j(P)},[F(ht,{name:P.icon},null,8,["name"])],40,cn))),128))],64))),64))],32))}}),fn=2e3*2e3;function ta(i){const s=i.replace(/\r\n?/g,`
`);return s?(s.endsWith(`
`)?s.slice(0,-1):s).split(`
`):[]}function mn(i,s,m,v){const k=i.length,u=s.length,E=[];if(k*u>fn){for(let d=0;d<k;d++)E.push({kind:"server",i:m+d,j:-1});for(let d=0;d<u;d++)E.push({kind:"mine",i:-1,j:v+d});return E}const x=u+1,w=new Uint16Array((k+1)*x);for(let d=k-1;d>=0;d--)for(let j=u-1;j>=0;j--)w[d*x+j]=i[d]===s[j]?w[(d+1)*x+j+1]+1:Math.max(w[(d+1)*x+j],w[d*x+j+1]);let c=0,S=0;for(;c<k||S<u;)c<k&&S<u&&i[c]===s[S]?(E.push({kind:"same",i:m+c,j:v+S}),c++,S++):S>=u||c<k&&w[(c+1)*x+S]>=w[c*x+S+1]?(E.push({kind:"server",i:m+c,j:-1}),c++):(E.push({kind:"mine",i:-1,j:v+S}),S++);return E}function pn(i,s){const m=ta(i),v=ta(s);let k=0;for(;k<m.length&&k<v.length&&m[k]===v[k];)k++;let u=0;for(;u<m.length-k&&u<v.length-k&&m[m.length-1-u]===v[v.length-1-u];)u++;const E=[];for(let d=0;d<k;d++)E.push({kind:"same",i:d,j:d});E.push(...mn(m.slice(k,m.length-u),v.slice(k,v.length-u),k,k));for(let d=u;d>0;d--)E.push({kind:"same",i:m.length-d,j:v.length-d});const x=[];let w=[],c=[];const S=()=>{const d=Math.min(w.length,c.length);for(let j=0;j<d;j++)x.push({kind:"changed",server:m[w[j]],mine:v[c[j]],serverNo:w[j]+1,mineNo:c[j]+1});for(let j=d;j<w.length;j++)x.push({kind:"server",server:m[w[j]],serverNo:w[j]+1});for(let j=d;j<c.length;j++)x.push({kind:"mine",mine:v[c[j]],mineNo:c[j]+1});w=[],c=[]};for(const d of E)d.kind==="server"?w.push(d.i):d.kind==="mine"?c.push(d.j):(S(),x.push({kind:"same",server:m[d.i],mine:v[d.j],serverNo:d.i+1,mineNo:d.j+1}));return S(),x}function yn(i,s=3,m=6){const v=[];let k=[];const u=w=>k.push(...w),E=w=>{w.length&&(k.length&&v.push({kind:"rows",rows:k}),k=[],v.push({kind:"gap",rows:w}))};let x=0;for(;x<i.length;){if(i[x].kind!=="same"){k.push(i[x++]);continue}let w=x;for(;w<i.length&&i[w].kind==="same";)w++;const c=i.slice(x,w),S=x===0,d=w===i.length;c.length<=m?u(c):S&&d?(u(c.slice(0,s)),E(c.slice(s))):S?(E(c.slice(0,c.length-s)),u(c.slice(c.length-s))):d?(u(c.slice(0,s)),E(c.slice(s))):(u(c.slice(0,s)),E(c.slice(s,c.length-s)),u(c.slice(c.length-s))),x=w}return k.length&&v.push({kind:"rows",rows:k}),v}const gn=["aria-labelledby"],bn={class:"chat-dialog-head"},hn=["id"],kn={class:"diff-scroll"},wn={key:0,class:"diff-fields"},_n={scope:"col"},zn={scope:"row"},jn={key:1,class:"muted"},$n={class:"diff-head","aria-hidden":"true"},xn=["onClick"],Tn={class:"diff-no"},Mn={class:"diff-glyph","aria-hidden":"true"},En={key:0,class:"sr-only"},Cn={class:"diff-text"},Sn={key:1,class:"diff-line empty"},In={class:"diff-no"},Nn={class:"diff-glyph","aria-hidden":"true"},Pn={key:0,class:"sr-only"},Dn={class:"diff-text"},Ln={key:3,class:"diff-line empty"},Vn={class:"diff-no"},Bn={class:"diff-glyph","aria-hidden":"true"},Un={key:0,class:"sr-only"},Wn={class:"diff-text"},An={class:"btn-row diff-foot"},On=je({__name:"MaterialDiffDialog",props:{revision:{},server:{},mine:{},meetings:{}},emits:["load","overwrite","close"],setup(i,{expose:s,emit:m}){const v=i,k=m,u=kt(),E=z(null),x=z(null);let w=null,c=null;const S={server:"tylko na serwerze",mine:"tylko u Ciebie"},d=typeof window.matchMedia=="function"?window.matchMedia("(min-width: 720px)"):null,j=z(d?.matches??!0);function f($){j.value=$.matches}d?.addEventListener("change",f),ve(()=>d?.removeEventListener("change",f));function p($){if($==null)return"";const b=v.meetings?.find(I=>I.id===$);return b?ra(b):"Wybrany zjazd"}const q=($,b)=>$.length===b.length&&$.every(I=>b.includes(I)),Z=L(()=>{const $=v.server,b=v.mine,I=[],B=(N,_,R)=>I.push({name:N,server:_,mine:R});return $.title.trim()!==b.title.trim()&&B("Tytuł",$.title.trim(),b.title.trim()),$.type!==b.type&&B("Rodzaj",Qe[$.type],Qe[b.type]),$.meeting_id!==b.meeting_id&&B("Zjazd",p($.meeting_id),p(b.meeting_id)),$.source.trim()!==b.source.trim()&&B("Źródło",$.source.trim(),b.source.trim()),$.url.trim()!==b.url.trim()&&B("Link",$.url.trim(),b.url.trim()),q($.tags,b.tags)||B("Tagi",$.tags.join(", "),b.tags.join(", ")),I}),P=L(()=>Gt(v.server.body)===Gt(v.mine.body)),H=L(()=>P.value?[]:yn(pn(v.server.body,v.mine.body))),G=z(new Set);function me($){G.value=new Set(G.value).add($)}function be($){const b=[];let I=[],B=[];const N=()=>{b.push(...I,...B),I=[],B=[]};for(const _ of $){if(_.kind==="same"){N(),b.push({side:"same",no:_.mineNo,text:_.mine??""});continue}_.server!==void 0&&I.push({side:"server",no:_.serverNo,text:_.server}),_.mine!==void 0&&B.push({side:"mine",no:_.mineNo,text:_.mine})}return N(),b}function he(){w=document.activeElement instanceof HTMLElement?document.activeElement:null,c=null,G.value=new Set,E.value?.open||E.value?.showModal(),oe(()=>x.value?.focus())}function O($=null){c=$,E.value?.close()}function $e(){const $=c;c=null;const b=w;if(w=null,$==="load")return k("load");if($==="overwrite")return k("overwrite");b?.isConnected&&b.focus(),k("close")}function ke($){$.target===E.value&&O()}return s({open:he}),($,b)=>(l(),r("dialog",{ref_key:"dialog",ref:E,class:"chat-dialog diff-dialog","aria-labelledby":`diff-h-${h(u)}`,onClose:$e,onClick:ke},[n("div",bn,[n("h2",{id:`diff-h-${h(u)}`,class:"chat-dialog-title"},"Zmiany względem rev "+y(v.revision),9,hn),n("button",{class:"icon-btn",type:"button","aria-label":"Zamknij porównanie",onClick:b[0]||(b[0]=I=>O())},[F(ht,{name:"close"})])]),n("div",kn,[Z.value.length?(l(),r("table",wn,[n("thead",null,[n("tr",null,[b[4]||(b[4]=n("th",{scope:"col"},"Pole",-1)),n("th",_n,"Na serwerze (rev "+y(v.revision)+")",1),b[5]||(b[5]=n("th",{scope:"col"},"U Ciebie",-1))])]),n("tbody",null,[(l(!0),r(U,null,K(Z.value,I=>(l(),r("tr",{key:I.name},[n("th",zn,y(I.name),1),n("td",null,y(I.server||"—"),1),n("td",null,y(I.mine||"—"),1)]))),128))])])):M("",!0),P.value?(l(),r("p",jn,"Treść jest taka sama. Różnią się tylko pola powyżej.")):(l(),r("div",{key:2,class:fe(["diff-body",{split:j.value}]),role:"region","aria-label":"Różnice w treści"},[n("div",$n,[n("span",null,"Na serwerze (rev "+y(v.revision)+")",1),b[6]||(b[6]=n("span",null,"U Ciebie",-1))]),(l(!0),r(U,null,K(H.value,(I,B)=>(l(),r(U,{key:B},[I.kind==="gap"&&!G.value.has(B)?(l(),r("button",{key:0,class:"linkish diff-gap",type:"button",onClick:N=>me(B)}," Pokaż "+y(h(la)(I.rows.length,"niezmieniony wiersz","niezmienione wiersze","niezmienionych wierszy")),9,xn)):j.value?(l(!0),r(U,{key:1},K(I.rows,(N,_)=>(l(),r("div",{key:_,class:"diff-row"},[N.server!==void 0?(l(),r("div",{key:0,class:fe(["diff-line",{server:N.kind!=="same"}])},[n("span",Tn,y(N.serverNo),1),n("span",Mn,y(N.kind==="same"?"":"−"),1),N.kind!=="same"?(l(),r("span",En,y(S.server)+": ",1)):M("",!0),n("span",Cn,y(N.server),1)],2)):(l(),r("div",Sn)),N.mine!==void 0?(l(),r("div",{key:2,class:fe(["diff-line",{mine:N.kind!=="same"}])},[n("span",In,y(N.mineNo),1),n("span",Nn,y(N.kind==="same"?"":"+"),1),N.kind!=="same"?(l(),r("span",Pn,y(S.mine)+": ",1)):M("",!0),n("span",Dn,y(N.mine),1)],2)):(l(),r("div",Ln))]))),128)):(l(!0),r(U,{key:2},K(be(I.rows),(N,_)=>(l(),r("div",{key:_,class:fe(["diff-line",N.side==="same"?"":N.side])},[n("span",Vn,y(N.no),1),n("span",Bn,y(N.side==="server"?"−":N.side==="mine"?"+":""),1),N.side!=="same"?(l(),r("span",Un,y(S[N.side])+": ",1)):M("",!0),n("span",Wn,y(N.text),1)],2))),128))],64))),128))],2))]),n("div",An,[n("button",{class:"btn ghost",type:"button",onClick:b[1]||(b[1]=I=>O("load"))},"Wczytaj wersję z serwera"),n("button",{class:"btn miss",type:"button",onClick:b[2]||(b[2]=I=>O("overwrite"))},"Nadpisz wersję z serwera"),n("button",{ref_key:"closeBtn",ref:x,class:"btn",type:"button",onClick:b[3]||(b[3]=I=>O())},"Zamknij porównanie",512)])],40,gn))}}),Rn={key:0,class:"share-chips","aria-label":"Wybrane tagi"},Fn=["title"],Kn={class:"share-chip-label"},Zn=["aria-label","onClick"],qn=["id","aria-expanded","aria-activedescendant","aria-describedby","aria-invalid","readonly","placeholder"],Hn={key:0,class:"share-option share-empty",role:"option","aria-disabled":"true","aria-selected":"false"},Gn=["id","aria-selected","onMousedown","onMousemove"],Jn={class:"share-option-name"},Yn={class:"sr-only",role:"status","aria-live":"polite"},Xn=je({__name:"TagInput",props:{modelValue:{},tags:{},inputId:{},describedby:{},invalid:{type:Boolean}},emits:["update:modelValue"],setup(i,{expose:s,emit:m}){const v=i,k=m,E=`${kt()}-list`,x=z(null),w=L(()=>v.modelValue.length>=bt),c=L(()=>new Set(v.tags.map(_=>_.name))),{query:S,open:d,active:j,announcement:f,suggestions:p,activeId:q,optionId:Z,announce:P,onKeydown:H,show:G,close:me,hover:be,reset:he}=rn({listId:E,suggest:_=>w.value?[]:Oa(v.tags,_,v.modelValue),onPick:ke,onBackspace:()=>{const _=v.modelValue[v.modelValue.length-1];_!==void 0&&$(_)}}),O=L(()=>w.value?"Masz już 4 tagi":v.modelValue.length?"Dodaj kolejny tag":"Wpisz lub wybierz tag"),$e=L(()=>{const _=S.value.trim();return v.tags.length?_?`Żaden tag nie pasuje do „${_}”.`:"Nie ma więcej tagów do wyboru.":"Słownik tagów jest pusty."});function ke(_){w.value||v.modelValue.includes(_.name)||(k("update:modelValue",Aa(v.modelValue,_.name)),he(),P(`Dodano tag: ${_.name}`))}function $(_){k("update:modelValue",v.modelValue.filter(R=>R!==_)),P(`Usunięto tag: ${_}`),oe(()=>x.value?.focus())}function b(){w.value||G()}function I(_){if(w.value&&(_.key==="ArrowDown"||_.key==="ArrowUp")){_.preventDefault();return}H(_)}function B(_){const R=_.target;(R===_.currentTarget||R.classList.contains("share-chips"))&&(x.value?.focus(),b())}ae(j,()=>{d.value&&oe(()=>document.getElementById(Z(j.value))?.scrollIntoView({block:"nearest"}))});function N(){x.value?.focus()}return s({focus:N}),(_,R)=>(l(),r("div",{class:fe(["share-field tag-field",{full:w.value}]),onClick:B},[i.modelValue.length?(l(),r("ul",Rn,[(l(!0),r(U,null,K(i.modelValue,V=>(l(),r("li",{key:V,class:"share-chip",title:c.value.has(V)?void 0:"Tego tagu nie ma już w słowniku. Możesz go tylko usunąć."},[n("span",Kn,y(V),1),n("button",{class:"share-chip-remove",type:"button","aria-label":`Usuń tag ${V}`,onClick:pe=>$(V)},[F(ht,{name:"close"})],8,Zn)],8,Fn))),128))])):M("",!0),ne(n("input",{id:i.inputId,ref_key:"input",ref:x,"onUpdate:modelValue":R[0]||(R[0]=V=>Wa(S)?S.value=V:null),class:"share-input",type:"text",role:"combobox","aria-autocomplete":"list","aria-expanded":h(d)?"true":"false","aria-controls":E,"aria-activedescendant":h(q),"aria-describedby":i.describedby,"aria-invalid":i.invalid?"true":void 0,readonly:w.value,autocomplete:"off",enterkeyhint:"done",placeholder:O.value,onInput:b,onClick:b,onKeydown:I,onBlur:R[1]||(R[1]=(...V)=>h(me)&&h(me)(...V))},null,40,qn),[[Ye,h(S)]]),ne(n("ul",{id:E,class:"share-pop tag-pop",role:"listbox","aria-label":"Pasujące tagi"},[h(p).length?M("",!0):(l(),r("li",Hn,y($e.value),1)),(l(!0),r(U,null,K(h(p),(V,pe)=>(l(),r("li",{id:h(Z)(pe),key:V.id,class:fe(["share-option",{active:pe===h(j)}]),role:"option","aria-selected":pe===h(j)?"true":"false",onMousedown:oa(xe=>ke(V),["prevent"]),onMousemove:xe=>h(be)(pe)},[n("span",Jn,y(V.name),1)],42,Gn))),128))],512),[[Xe,h(d)]]),n("span",Yn,y(h(f)),1)],2))}}),Qn=["image/png","image/jpeg","image/gif","image/webp"],ei=50*1024*1024,ti=20,ca=i=>(i||"").split(";")[0].trim().toLowerCase();function aa(i,s){return Ra(i)||!Qn.includes(ca(i.type))?"type":i.size>ei?"size":s>=ti?"count":null}function ai(i,s){if(i===413)return"size";if(i!==422||!s||typeof s!="object")return null;const m=s.reason;return m==="type"||m==="size"||m==="count"?m:null}const ni={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp"},Be=i=>String(i).padStart(2,"0");function ii(i,s=new Date){const m=`${s.getFullYear()}${Be(s.getMonth()+1)}${Be(s.getDate())}`,v=`${Be(s.getHours())}${Be(s.getMinutes())}${Be(s.getSeconds())}`;return`wklejony-${m}-${v}.${ni[ca(i)]??"png"}`}function si(i){return!i.trim()||/^(image|blob)(\.[a-z0-9]+)?$/i.test(i.trim())}const wt=i=>i.replace(/[[\]\\]/g,"");function oi(i,s){if(s)return"obrazek";const m=i.lastIndexOf("."),v=m>0?i.slice(0,m):i;return wt(v).replace(/[-_]+/g," ").replace(/\s+/g," ").trim()||"obrazek"}function li(i){return`![Wysyłanie: ${wt(i)}…]()`}function ri(i,s){const m=/[\s()<>]/.test(s)?`<${s.replace(/[<>]/g,"")}>`:s;return`![${wt(i)}](${m})`}function ui(i){if(i.length===0)return"";const s=i.reduce((k,u)=>k+Math.max(0,u.loaded),0),m=i.reduce((k,u)=>k+Math.max(0,u.total),0),v=m>0?Math.min(100,Math.round(s/m*100)):0;return i.length===1?`Wysyłanie „${i[0].name}”… ${v}%`:`Wysyłanie ${i.length} obrazków… ${v}%`}function Je(i,s,m=""){switch(i){case"type":return`„${s}”: wklej obrazek PNG, JPG, GIF albo WebP.`;case"size":return`„${s}”: plik jest większy niż 50 MB.`;case"count":return"Materiał ma już 20 plików. Usuń któryś w /bmadmin, żeby dodać obrazek.";case"network":return`„${s}”: nie udało się wysłać. ${m}`.trim()}}const na="Nie udało się wczytać danych.";function di(i){if(!i||typeof i!="object")return!1;const s=i;return typeof s.revision=="number"&&Number.isInteger(s.revision)&&s.revision>0&&!!s.data&&typeof s.data=="object"&&typeof s.data.id=="number"}function ci(i){if(!(i instanceof ua))return{kind:"failed",message:na};switch(i.status){case 409:return di(i.body)?{kind:"conflict",revision:i.body.revision,updatedAt:typeof i.body.updated_at=="string"?i.body.updated_at:"",server:i.body.data}:{kind:"failed",message:i.message};case 422:return Object.keys(i.errors).length?{kind:"invalid",errors:i.errors}:{kind:"failed",message:i.message};case 404:return{kind:"gone"};case 403:return{kind:"forbidden"};default:return{kind:"failed",message:i.message||na}}}function vi(i,s,m){switch(i){case"title":return m.trim()?/already has this title/i.test(s)?"W tym przedmiocie jest już materiał o tym tytule.":/255 characters/.test(s)||m.trim().length>255?"Tytuł może mieć najwyżej 255 znaków.":s:"Podaj tytuł.";case"url":return/http/i.test(s)?"Podaj adres zaczynający się od https:// albo http://.":s;case"source":return/500 characters/.test(s)?"Źródło może mieć najwyżej 500 znaków.":s;case"tags":return/at most 4 tags/i.test(s)?"Wybierz najwyżej 4 tagi.":s;default:return s}}const fi="updated.jz.bm.material";function mi(i){return`materials:${i}`}const ia=i=>typeof i=="number"&&Number.isInteger(i)&&i>=1;function pi(i){if(!i||typeof i!="object")return null;const s=i;if(s.event!==fi||!s.payload||typeof s.payload!="object")return null;const m=s.payload;return!ia(m.material_id)||!ia(m.revision)?null:{materialId:m.material_id,revision:m.revision}}const yi={class:"material-edit"},gi={key:0,class:"empty"},bi=["href"],hi=["role","aria-labelledby"],ki=["id"],wi={key:0,class:"conflict-line"},_i={key:1,class:"conflict-line"},zi={class:"btn-row"},ji=["aria-busy"],$i=["disabled"],xi={key:2,class:"error-text",role:"alert"},Ti={key:1,class:"notice draft-offer no-print",role:"status"},Mi={class:"draft-offer-title"},Ei={class:"btn-row"},Ci={class:"field"},Si=["for"],Ii=["id","aria-invalid","aria-describedby"],Ni=["id"],Pi=["open"],Di={class:"edit-details-values"},Li={class:"grid-3"},Vi={class:"field"},Bi=["for"],Ui=["id","aria-invalid","aria-describedby"],Wi=["value"],Ai=["id"],Oi={class:"field"},Ri=["for"],Fi=["id","disabled","aria-invalid","aria-describedby"],Ki=["value"],Zi=["value"],qi=["id"],Hi=["id"],Gi={class:"field"},Ji={class:"edit-course"},Yi={class:"grid-2"},Xi={class:"field"},Qi=["for"],es=["id","aria-invalid","aria-describedby"],ts=["id"],as={class:"field"},ns=["for"],is=["id","aria-invalid","aria-describedby"],ss=["id"],os={class:"field edit-tags"},ls={class:"edit-tags-head"},rs=["id","for"],us={class:"label edit-tags-count","aria-live":"polite"},ds=["aria-labelledby","aria-describedby"],cs={key:0,class:"muted small"},vs=["id"],fs=["id"],ms={key:4,class:"error-text",role:"alert"},ps={class:"edit-block","aria-label":"Treść"},ys={key:0,class:"pulpit-tabs edit-tabs no-print",role:"tablist","aria-label":"Widok treści"},gs=["id","aria-selected","aria-controls","tabindex","onClick","onKeydown"],bs={class:"edit-toolbar-row no-print"},hs=["aria-expanded"],ks=["id"],ws={id:"md-preview",class:"edit-pane edit-preview prose",role:"region","aria-label":"Podgląd"},_s={key:0,class:"label edit-preview-caption"},zs=["innerHTML"],js={key:2,class:"muted"},$s=["id"],xs={class:"edit-status-strip no-print"},Ts={key:1,"aria-hidden":"true"},Ms={key:2,class:"notice error edit-upload-errors no-print",role:"alert"},Es=["onClick"],Cs={key:3,class:"notice error edit-save-error",role:"alert"},Ss={key:4,class:"notice error edit-save-error",role:"alert"},Is={class:"edit-actions no-print"},Ns={class:"btn-row"},Ps=["disabled","aria-busy"],Ds=["href"],Ls={class:"muted small",role:"status"},sa="bm.editor.preview",Ks=je({__name:"MaterialEditView",props:{id:{}},setup(i){const s=i,m=en(),v=Fa(),k=Ka(),u=kt(),E=je({render:()=>yt("div",{class:"skeleton edit-pane-skeleton","aria-busy":"true","aria-label":"Wczytywanie edytora"})}),x=je({render:()=>yt("div",{class:"notice error",role:"alert"},["Nie udało się wczytać edytora. Sprawdź połączenie i spróbuj ponownie. ",yt("button",{class:"linkish",type:"button",onClick:()=>window.location.reload()},"Spróbuj ponownie")])}),w=Ya({loader:()=>tn(()=>import("./MarkdownEditor-CTCWoas2.js"),__vite__mapDeps([0,1,2])),loadingComponent:E,errorComponent:x,delay:0}),c=z(null),S=typeof window.matchMedia=="function"?window.matchMedia("(min-width: 900px)"):null,d=z(S?.matches??!0);function j(e){d.value=e.matches}S?.addEventListener("change",j),ve(()=>S?.removeEventListener("change",j));const f=z(null);ae(f,e=>{e?.title&&(document.title=`Edycja: ${e.title} · BM II°`)});const p=z(null),q=z("");async function Z(){rt(),Ft(),Ie!==void 0&&se(),A.value=null,Se=null,Ne=null,f.value=null,p.value=null,q.value="",re.value="",ue.value="",C.value=null,T.value={},X.value=null,Re.value=!1;try{const e=await ge.material(Number(s.id));f.value=e,dt(te(e))}catch(e){q.value=Ve(e);return}f.value.can_manage&&(Ea(f.value),me(),$e(),Ta(f.value.id))}mt(Z),ae(()=>s.id,Z);const P=L(()=>!!p.value&&!!f.value&&!Ge(p.value,te(f.value))),H=z(null),G=z("");async function me(){G.value="";try{H.value=await ge.tags()}catch(e){G.value=Ve(e)}}const be=L(()=>(p.value?.tags.length??0)>=bt),he=z(null),O=z(!1);async function $e(){O.value=!1,await v.loadMeetings(),O.value=v.meetings===null}const ke=L(()=>nn(v.meetings??[])),$=L(()=>{const e=p.value?.meeting_id;return e==null?null:(v.meetings??[]).find(t=>t.id===e)?.number??null}),b=Object.entries(Qe),I=z(d.value);function B(e){I.value=e.target.open}const N=L(()=>{const e=p.value;if(!e)return"";const t=e.meeting_id==null?"bez zjazdu":$.value!=null?`Zjazd ${$.value}`:"zjazd";return`${Qe[e.type]} · ${t} · ${la(e.tags.length,"tag","tagi","tagów")}`});function _(){try{const e=window.localStorage.getItem(sa);return e==="1"?!0:e==="0"?!1:null}catch{return null}}const R=typeof window.matchMedia=="function"?window.matchMedia("(min-width: 1100px)").matches:!0,V=z(_()??R);function pe(){V.value=!V.value;try{window.localStorage.setItem(sa,V.value?"1":"0")}catch{}}const xe=[{id:"edit",label:"Edycja"},{id:"preview",label:"Podgląd"}],le=z("edit"),_t=z([]);function va(e,t){const o=da(e.key,t,xe.length);o!==null&&(e.preventDefault(),le.value=xe[o].id,_t.value[o]?.focus())}const zt=L(()=>d.value||le.value==="edit"),jt=L(()=>d.value?V.value:le.value==="preview"),et=z("");let Te;function $t(){clearTimeout(Te),Te=void 0,et.value=un(p.value?.body??"",{newTabLinks:!0})}ae(()=>[p.value?.body,jt.value],([,e],t)=>{e&&(clearTimeout(Te),!t||!t[1]?$t():Te=setTimeout($t,150))},{immediate:!0}),ve(()=>clearTimeout(Te)),ae(c,(e,t)=>{e&&!t&&d.value&&e.focus()});const Ue=["title","type","meeting_id","source","url","tags","body"],fa=new Set(["type","meeting_id","source","url","tags"]),T=z({}),ma=L(()=>Object.keys(T.value).length>0),W=e=>`${e}-e-${u}`,xt=(...e)=>e.filter(Boolean).join(" ")||void 0;for(const e of Ue)ae(()=>p.value?.[e],()=>{T.value[e]!==void 0&&delete T.value[e]});function pa(e,t){const o=e[t];return Array.isArray(o)?o.join(", "):o==null?"":String(o)}function ya(e){if(e==="body"){le.value="edit",c.value?.focus();return}if(e==="tags"){he.value?.focus();return}const t={title:`title-${u}`,type:`type-${u}`,meeting_id:`meeting-${u}`,source:`source-${u}`,url:`url-${u}`};document.getElementById(t[e])?.focus()}async function ga(e){const t=p.value;if(!t)return;const o={};for(const g of Ue){const D=e[g]?.[0];D&&(o[g]=vi(g,D,pa(t,g)))}const a=Ue.find(g=>o[g]!==void 0);if(!a){re.value=Qt(Object.values(e).flat()[0]??"Błąd 422");return}T.value=o,Ue.some(g=>o[g]!==void 0&&fa.has(g))&&(I.value=!0),await oe(),ya(a)}const C=z(null),tt=z(null),Tt=z(null),Mt=z(null),We=z(0);function Ae(e){re.value="",T.value={},Me.value="",C.value=e}function at(e){f.value=e,C.value=null,ue.value="Wersja z serwera jest taka sama jak Twoja."}function Et(e){f.value=e,dt(te(e)),C.value=null,T.value={},re.value="";const t=A.value;if(t){const o=Jt(t.draft,{fields:te(e),revision:e.revision});o==="none"?Ke():A.value={...t,kind:o}}}async function ba(){try{return await ge.material(Number(s.id))}catch(e){throw new Error(`Nie udało się pobrać wersji z serwera. ${Ve(e)}`)}}async function Ct(e=null){const t=C.value,o=Tt.value;if(!t||!o)return;let a=t.server;const g=await o.open({from:e,action:async()=>{a||(a=await ba())}}),D=C.value;g!=="confirm"||!D||!a||(D.server&&D.server.revision>a.revision&&(a=D.server),Et(a),Ke(),ue.value=`Wczytano wersję z serwera (rev ${a.revision}).`,await oe(),d.value&&c.value?.focus())}async function St(e=null){const t=C.value,o=Mt.value;if(!t||!o||J.value||(We.value=t.revision,await o.open({from:e})!=="confirm"||!C.value))return;const g=We.value;C.value=null,await Fe(!0,g)}function nt(e){return e.currentTarget instanceof HTMLElement?e.currentTarget:null}const It=z(null),Oe=z(!1),Me=z("");let it=null;const Nt=L(()=>C.value?.server?te(C.value.server):null);async function ha(e){const t=C.value;if(!(!t||Oe.value)){if(it=nt(e),Me.value="",!t.server){Oe.value=!0;let o;try{o=await ge.material(Number(s.id))}catch(g){C.value===t&&(Me.value=Ve(g));return}finally{Oe.value=!1}if(C.value!==t)return;const a=p.value;if(a&&Ge(te(o),a)){at(o);return}C.value={...t,revision:Math.max(t.revision,o.revision),server:o}}await oe(),It.value?.open()}}function ka(){Ct(it)}function wa(){St(it)}const X=z(null),Re=z(!1);let st;ve(()=>clearTimeout(st));function _a(e){const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();let o=!1;try{o=document.execCommand("copy")}catch{o=!1}return t.remove(),o}async function za(){const e=p.value?.body??"";let t=!1;try{await navigator.clipboard.writeText(e),t=!0}catch{t=_a(e)}t&&(Re.value=!0,clearTimeout(st),st=setTimeout(()=>Re.value=!1,4e3))}const ie=z(!1),re=z(""),ue=z("");let Pt=!1,ot;const ja=L(()=>ie.value?"Zapisywanie…":J.value?"Poczekaj, aż obrazki się wyślą.":C.value?"Najpierw zdecyduj, co zrobić z wersją z serwera.":X.value?"":ma.value?"Popraw zaznaczone pola.":P.value?"Niezapisane zmiany.":ue.value);ae(P,e=>{e?ue.value="":A.value||se()});const $a=L(()=>P.value&&!ie.value&&!J.value&&!C.value&&!X.value);async function Fe(e,t){const o=f.value,a=p.value;if(!(!o||!a||ie.value||X.value||J.value)&&!(t===void 0&&(C.value||!P.value))){Pt=e,ot=t,ie.value=!0,re.value="",ue.value="",T.value={};try{const g=await ge.editMaterial(o.id,Xa(a,t??o.revision));if(f.value!==o)return;f.value=g,ot=void 0,ea(),se(),e?ue.value=`Zapisano (rev ${g.revision}).`:(k.show("Zapisano zmiany."),ft=!0,qt())}catch(g){f.value===o&&await xa(ci(g))}finally{ie.value=!1;const g=ye;ye=0,g&&f.value&&g>f.value.revision&&ut(g)}}}async function xa(e){switch(e.kind){case"conflict":{const t={...e.server,revision:e.revision},o=p.value;if(o&&Ge(te(t),o)){at(t);return}Ae({revision:e.revision,server:t,source:"save"}),await oe(),tt.value?.focus();return}case"invalid":await ga(e.errors);return;case"gone":case"forbidden":C.value=null,X.value=e.kind;return;case"failed":re.value=Qt(e.message);return}}let lt=null,Ee=0,Ce=0,ye=0;async function Ta(e){if(rt(),an())return;const t=Ee;try{const o=await qa(mi(e),{onPublication:a=>{const g=pi(a);g&&g.materialId===e&&ut(g.revision)},onSubscribed:()=>{ut(null)}});if(t!==Ee)return o.close();lt=o}catch{}}function rt(){Ee++,lt?.close(),lt=null,Ce=0,ye=0}ve(rt);async function ut(e){const t=f.value;if(!t||X.value)return;if(e!==null){if(e<=Math.max(t.revision,C.value?.revision??0,Ce))return;if(ie.value){ye=Math.max(ye,e);return}Ce=e}else if(ie.value)return;const o=Ee;let a=null;try{a=await ge.material(t.id)}catch{a=null}finally{Ce===e&&(Ce=0)}const g=f.value;if(o!==Ee||!g||g.id!==t.id||X.value)return;if(!a){e!==null&&e>Math.max(g.revision,C.value?.revision??0)&&Ae({revision:e,server:null,source:C.value?.source??"live"});return}if(a.revision<=Math.max(g.revision,C.value?.server?.revision??0))return;if(ie.value){ye=Math.max(ye,a.revision);return}const D=p.value;D&&Ge(te(a),D)?at(a):P.value?Ae({revision:a.revision,server:a,source:C.value?.source??"live"}):(Et(a),ue.value=`Wczytano nowszą wersję z serwera (rev ${a.revision}).`)}function Ma(){Fe(Pt,ot)}const A=z(null);let Se=null,Ie,Ne=null;function dt(e){Ne=JSON.stringify(e),p.value=e}function ct(){clearTimeout(Ie),Ie=void 0}function se(){ct();const e=f.value,t=p.value;if(!(!e||!t||!e.can_manage||A.value)){if(!P.value){pt(e.id);return}Ga(e.id,{base_revision:Se??e.revision,saved_at:new Date().toISOString(),fields:{...t,tags:[...t.tags]}})}}function Ke(){ct(),A.value=null,Se=null;const e=f.value;e&&pt(e.id)}function Ea(e){const t=Ha(e.id),o=Jt(t,{fields:te(e),revision:e.revision});if(!t||o==="none"){A.value=null,t&&pt(e.id);return}A.value={kind:o,draft:t}}ae(p,e=>{if(!e||!f.value)return;const t=Ne!==null&&JSON.stringify(e)===Ne;if(Ne=null,!t){if(A.value=null,!P.value){se();return}ct(),Ie=setTimeout(se,800)}},{deep:!0}),ae(C,e=>{e||(Se=null)});function Dt(){document.visibilityState==="hidden"&&P.value&&se()}mt(()=>document.addEventListener("visibilitychange",Dt)),ve(()=>{document.removeEventListener("visibilitychange",Dt),Ie!==void 0&&se()});const Ca=L(()=>{const e=A.value,t=f.value;if(!e||!t)return"";const o=sn(e.draft.saved_at);return e.kind==="same"?`Masz niezapisane zmiany z ${o}.`:`Masz niezapisane zmiany z ${o}, zrobione na rev ${e.draft.base_revision}. Na serwerze jest już rev ${t.revision}.`});function Sa(e,t){return e.type!==t.type||e.meeting_id!==t.meeting_id||e.source.trim()!==t.source.trim()||e.url.trim()!==t.url.trim()||[...e.tags].sort().join(`
`)!==[...t.tags].sort().join(`
`)}async function Lt(){const e=A.value,t=f.value;if(!e||!t)return;A.value=null;const o=e.draft.fields;if(dt({...o,tags:[...o.tags]}),Sa(o,te(t))&&(I.value=!0),e.kind==="older"){Se=e.draft.base_revision,Ae({revision:t.revision,server:t,source:"live"}),await oe(),tt.value?.focus();return}le.value="edit",await oe(),c.value?.focusEnd()}const Q=z([]),de=z([]),J=L(()=>Q.value.length>0),Vt=L(()=>ui(Q.value)),Ia=L(()=>{const e=Q.value.reduce((o,a)=>o+a.total,0),t=Q.value.reduce((o,a)=>o+a.loaded,0);return e>0?Math.min(100,Math.round(t/e*100)):0}),Bt=z("");ae(J,e=>{e&&(Bt.value=Vt.value)});const Ut=z(null);let Wt=0,Pe=0;const Ze=new Map,we=new Map,vt=new Set;function At(){const e=new Set((f.value?.files??[]).map(t=>t.id));for(const t of vt)e.add(t);return e.size+Q.value.length}function qe(e,t=null){if(!t&&de.value.some(a=>!a.retry&&a.text===e))return;const o=++Wt;t&&we.set(o,t),de.value.push({key:o,text:e,retry:!!t})}function Ot(e,t,o){const a=f.value;if(!a||!a.can_manage||X.value||!c.value)return;let g=t;for(const D of e){const ce=o&&si(D.name),ee=ce?new File([D],ii(D.type),{type:D.type}):D,De=aa(ee,At());if(De){qe(Je(De,ee.name));continue}Rt(ee,oi(ee.name,ce),g)&&(g=null)}}function Na(e){Ot(e.files,e.pos,e.pasted)}function Pa(){Ut.value?.click()}function Da(e){const t=e.target,o=Array.from(t.files??[]);t.value="",o.length!==0&&(Ot(o,null,!1),c.value?.focus())}function Rt(e,t,o){const a=f.value,g=c.value;if(!a||!g)return!1;const D=Pe,ce=g.insertUpload(o,li(e.name)),ee=++Wt,De=new AbortController;Ze.set(ee,De),Q.value.push({key:ee,token:ce,name:e.name,loaded:0,total:Math.max(e.size,1)});const Ba=Y=>{const _e=Q.value.find(Ua=>Ua.key===ee);_e&&(_e.loaded=Y/100*_e.total)};return ge.uploadMaterialImage(a.id,e,Ba,De.signal).then(Y=>{D===Pe&&(vt.add(Y.id),c.value?.replaceUpload(ce,ri(t,Y.url)),ea())}).catch(Y=>{if(D!==Pe)return;c.value?.removeUpload(ce);const _e=Y instanceof ua?ai(Y.status,Y.body):null;if(_e){c.value?.forgetUpload(ce),qe(Je(_e,e.name));return}qe(Je("network",e.name,Ve(Y)),{file:e,alt:t,token:ce})}).finally(()=>{Ze.delete(ee),D===Pe&&(Q.value=Q.value.filter(Y=>Y.key!==ee))}),!0}function La(e){const t=we.get(e);if(we.delete(e),de.value=de.value.filter(D=>D.key!==e),!t)return;const o=c.value,a=o?.uploadSpot(t.token)??null;o?.forgetUpload(t.token);const g=aa(t.file,At());if(g){qe(Je(g,t.file.name));return}Rt(t.file,t.alt,a)}function Va(){for(const e of we.values())c.value?.forgetUpload(e.token);we.clear(),de.value=[]}function Ft(){Pe++;for(const e of Ze.values())e.abort();Ze.clear(),we.clear(),vt.clear(),Q.value=[],de.value=[]}ve(Ft);const Kt=z(null);let ft=!1;Za(async()=>{const e=Kt.value;if(ft||!P.value||!e)return!0;const t=await e.open();return t==="cancel"?!1:(t==="confirm"?Ke():se(),ft=!0,!0)});function Zt(e){P.value&&se(),!(!P.value&&!J.value)&&(e.preventDefault(),e.returnValue="")}mt(()=>window.addEventListener("beforeunload",Zt)),ve(()=>window.removeEventListener("beforeunload",Zt));const He=L(()=>`/materialy/${s.id}`);function qt(){const e=window.history.state?.back;let t=!1;if(typeof e=="string"&&e)try{const o=m.resolve(e);t=o.name==="material"&&String(o.params.id)===s.id}catch{t=!1}t?m.back():m.replace(He.value)}function Ht(e){e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),qt())}return(e,t)=>{const o=Qa("router-link");return l(),r("div",yi,[F(ln,{ready:!!f.value,error:q.value,onRetry:t[12]||(t[12]=a=>Z())},{default:Le(()=>[f.value?(l(),r(U,{key:0},[f.value.can_manage?p.value?(l(),r(U,{key:1},[F(on,{eyebrow:`Edycja · rev ${f.value.revision}`,title:"Edytuj materiał"},{default:Le(()=>[F(o,{to:He.value,custom:""},{default:Le(({href:a})=>[n("a",{class:"btn small ghost",href:a,onClick:Ht},"← Materiał",8,bi)]),_:1},8,["to"])]),_:1},8,["eyebrow"]),C.value?(l(),r("div",{key:0,ref_key:"bannerEl",ref:tt,class:"notice conflict no-print",role:C.value.source==="save"?"alert":"status",tabindex:"-1","aria-labelledby":`conflict-h-${h(u)}`},[n("p",{id:`conflict-h-${h(u)}`,class:"conflict-title"},"Zmieniono gdzie indziej (rev "+y(C.value.revision)+")",9,ki),C.value.source==="save"?(l(),r("p",wi,"Na serwerze jest nowsza wersja. Twoje zmiany są nadal tutaj i w kopii w przeglądarce.")):(l(),r("p",_i,"Ten materiał zmieniono w trakcie Twojej edycji. Twoje zmiany nie są jeszcze zapisane.")),n("div",zi,[n("button",{class:"btn small",type:"button","aria-busy":Oe.value?"true":void 0,onClick:ha},"Pokaż zmiany",8,ji),n("button",{class:"btn small ghost",type:"button",onClick:t[0]||(t[0]=a=>Ct(nt(a)))},"Wczytaj wersję z serwera"),n("button",{class:"btn small miss",type:"button",disabled:J.value,onClick:t[1]||(t[1]=a=>St(nt(a)))},"Nadpisz",8,$i)]),Me.value?(l(),r("p",xi,"Nie udało się pobrać wersji z serwera. "+y(Me.value),1)):M("",!0)],8,hi)):M("",!0),A.value&&!C.value?(l(),r("div",Ti,[n("p",Mi,y(Ca.value),1),n("div",Ei,[A.value.kind==="same"?(l(),r("button",{key:0,class:"btn small",type:"button",onClick:Lt},"Przywróć niezapisane zmiany")):(l(),r("button",{key:1,class:"btn small",type:"button",onClick:Lt},"Przywróć i porównaj")),n("button",{class:"btn small ghost",type:"button",onClick:Ke},"Odrzuć kopię")])])):M("",!0),C.value&&Nt.value?(l(),Yt(On,{key:2,ref_key:"diffDialog",ref:It,revision:C.value.revision,server:Nt.value,mine:p.value,meetings:h(v).meetings,onLoad:ka,onOverwrite:wa},null,8,["revision","server","mine","meetings"])):M("",!0),F(gt,{ref_key:"loadDialog",ref:Tt,tone:"danger",title:"Wczytać wersję z serwera?",body:"Twoje zmiany w edytorze przepadną, razem z kopią w przeglądarce.","confirm-label":"Wczytaj wersję z serwera","cancel-label":"Zostaw moje zmiany"},null,512),F(gt,{ref_key:"overwriteDialog",ref:Mt,tone:"danger",title:"Nadpisać wersję z serwera?",body:`Twoja wersja zastąpi rev ${We.value}. Zmiany z rev ${We.value}, których nie masz u siebie, przepadną.`,"confirm-label":"Nadpisz wersję z serwera","cancel-label":"Wróć do edycji"},null,8,["body"]),F(gt,{ref_key:"leaveDialog",ref:Kt,tone:"danger",title:"Wyjść z edytora?",body:"Masz niezapisane zmiany. Jeśli wyjdziesz, zostaną w tej przeglądarce i przy następnym otwarciu edytora zaproponujemy ich przywrócenie.","confirm-label":"Odrzuć zmiany","extra-label":"Wyjdź z edytora","extra-class":"btn ghost","cancel-label":"Wróć do edycji","cancel-class":"btn"},null,512),n("div",Ci,[n("label",{for:`title-${h(u)}`},"Tytuł",8,Si),ne(n("input",{id:`title-${h(u)}`,"onUpdate:modelValue":t[2]||(t[2]=a=>p.value.title=a),type:"text",maxlength:"255",required:"",autocomplete:"off","aria-invalid":T.value.title?"true":void 0,"aria-describedby":T.value.title?W("title"):void 0},null,8,Ii),[[Ye,p.value.title]]),T.value.title?(l(),r("p",{key:0,id:W("title"),class:"error-text"},y(T.value.title),9,Ni)):M("",!0)]),n("details",{class:"edit-details",open:I.value,onToggle:B},[n("summary",null,[t[15]||(t[15]=ze(" Szczegóły ",-1)),n("span",Di,y(N.value),1)]),n("div",Li,[n("div",Vi,[n("label",{for:`type-${h(u)}`},"Rodzaj",8,Bi),ne(n("select",{id:`type-${h(u)}`,"onUpdate:modelValue":t[3]||(t[3]=a=>p.value.type=a),"aria-invalid":T.value.type?"true":void 0,"aria-describedby":T.value.type?W("type"):void 0},[(l(!0),r(U,null,K(h(b),([a,g])=>(l(),r("option",{key:a,value:a},y(g),9,Wi))),128))],8,Ui),[[Xt,p.value.type]]),T.value.type?(l(),r("p",{key:0,id:W("type"),class:"error-text"},y(T.value.type),9,Ai)):M("",!0)]),n("div",Oi,[n("label",{for:`meeting-${h(u)}`},"Zjazd",8,Ri),ne(n("select",{id:`meeting-${h(u)}`,"onUpdate:modelValue":t[4]||(t[4]=a=>p.value.meeting_id=a),disabled:O.value,"aria-invalid":T.value.meeting_id?"true":void 0,"aria-describedby":xt(O.value?`meeting-e-${h(u)}`:"",T.value.meeting_id?W("meeting_id"):"")},[t[16]||(t[16]=n("option",{value:null},"Bez zjazdu",-1)),h(v).meetings?(l(!0),r(U,{key:0},K(ke.value,a=>(l(),r("option",{key:a.id,value:a.id},y(h(ra)(a)),9,Ki))),128)):p.value.meeting_id!=null?(l(),r("option",{key:1,value:p.value.meeting_id},"Wybrany zjazd",8,Zi)):M("",!0)],8,Fi),[[Xt,p.value.meeting_id]]),O.value?(l(),r("p",{key:0,id:`meeting-e-${h(u)}`,class:"error-text"},"Nie udało się wczytać zjazdów.",8,qi)):M("",!0),T.value.meeting_id?(l(),r("p",{key:1,id:W("meeting_id"),class:"error-text"},y(T.value.meeting_id),9,Hi)):M("",!0)]),n("div",Gi,[t[17]||(t[17]=n("span",{class:"label"},"Przedmiot",-1)),n("span",Ji,y(f.value.course?.name??"bez przedmiotu"),1),t[18]||(t[18]=n("span",{class:"muted small"},"Przedmiotu nie można zmienić.",-1))])]),n("div",Yi,[n("div",Xi,[n("label",{for:`source-${h(u)}`},"Źródło",8,Qi),ne(n("input",{id:`source-${h(u)}`,"onUpdate:modelValue":t[5]||(t[5]=a=>p.value.source=a),type:"text",maxlength:"500",placeholder:"np. autor, tytuł, strony","aria-invalid":T.value.source?"true":void 0,"aria-describedby":T.value.source?W("source"):void 0},null,8,es),[[Ye,p.value.source]]),T.value.source?(l(),r("p",{key:0,id:W("source"),class:"error-text"},y(T.value.source),9,ts)):M("",!0)]),n("div",as,[n("label",{for:`url-${h(u)}`},"Link",8,ns),ne(n("input",{id:`url-${h(u)}`,"onUpdate:modelValue":t[6]||(t[6]=a=>p.value.url=a),type:"url",maxlength:"2048",inputmode:"url",placeholder:"https://…","aria-invalid":T.value.url?"true":void 0,"aria-describedby":T.value.url?W("url"):void 0},null,8,is),[[Ye,p.value.url]]),T.value.url?(l(),r("p",{key:0,id:W("url"),class:"error-text"},y(T.value.url),9,ss)):M("",!0)])]),n("div",os,[n("div",ls,[n("label",{id:`tags-${h(u)}`,class:"label",for:H.value?`tags-in-${h(u)}`:void 0},"Tagi",8,rs),n("span",us,y(p.value.tags.length)+" z "+y(h(bt)),1)]),H.value?(l(),Yt(Xn,{key:0,ref_key:"tagInput",ref:he,modelValue:p.value.tags,"onUpdate:modelValue":t[7]||(t[7]=a=>p.value.tags=a),tags:H.value,"input-id":`tags-in-${h(u)}`,invalid:!!T.value.tags,describedby:xt(T.value.tags?W("tags"):"",be.value?`tags-h-${h(u)}`:"")},null,8,["modelValue","tags","input-id","invalid","describedby"])):(l(),r("div",{key:1,class:"chips wrap",role:"group","aria-labelledby":`tags-${h(u)}`,"aria-describedby":T.value.tags?W("tags"):void 0},[(l(!0),r(U,null,K(p.value.tags,a=>(l(),r("span",{key:a,class:"chip on"},y(a),1))),128)),G.value?M("",!0):(l(),r("span",cs,"Wczytywanie tagów…"))],8,ds)),T.value.tags?(l(),r("p",{key:2,id:W("tags"),class:"error-text"},y(T.value.tags),9,vs)):M("",!0),H.value&&be.value?(l(),r("p",{key:3,id:`tags-h-${h(u)}`,class:"muted small"},"Maksymalnie 4 tagi. Usuń któryś, żeby dodać inny.",8,fs)):M("",!0),G.value&&!H.value?(l(),r("p",ms,[t[19]||(t[19]=ze(" Nie udało się wczytać tagów. ",-1)),n("button",{class:"linkish",type:"button",onClick:me},"Spróbuj ponownie")])):M("",!0)])],40,Pi),n("section",ps,[d.value?M("",!0):(l(),r("div",ys,[(l(),r(U,null,K(xe,(a,g)=>n("button",{id:`edit-tab-${a.id}-${h(u)}`,key:a.id,ref_for:!0,ref_key:"tabEls",ref:_t,class:"pulpit-tab",type:"button",role:"tab","aria-selected":le.value===a.id?"true":"false","aria-controls":a.id==="edit"?`md-editor-${h(u)}`:"md-preview",tabindex:le.value===a.id?0:-1,onClick:D=>le.value=a.id,onKeydown:D=>va(D,g)},y(a.label),41,gs)),64))])),n("div",bs,[ne(F(vn,{onCommand:t[8]||(t[8]=a=>c.value?.run(a)),onPickImage:Pa},null,512),[[Xe,zt.value]]),n("input",{ref_key:"imageInput",ref:Ut,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:"",hidden:"",tabindex:"-1","aria-hidden":"true",onChange:Da},null,544),d.value?(l(),r("button",{key:0,class:"btn small ghost edit-preview-toggle",type:"button","aria-controls":"md-preview","aria-expanded":V.value?"true":"false",onClick:pe},y(V.value?"Ukryj podgląd":"Pokaż podgląd"),9,hs)):M("",!0)]),n("div",{class:fe(["edit-panes",{split:d.value&&V.value}])},[ne(n("div",{id:`md-editor-${h(u)}`,class:"edit-pane edit-editor"},[F(h(w),{ref_key:"editor",ref:c,modelValue:p.value.body,"onUpdate:modelValue":t[9]||(t[9]=a=>p.value.body=a),onSave:t[10]||(t[10]=a=>Fe(!0)),onImages:Na},null,8,["modelValue"])],8,ks),[[Xe,zt.value]]),ne(n("section",ws,[d.value?(l(),r("span",_s,"Podgląd")):M("",!0),et.value?(l(),r("div",{key:1,innerHTML:et.value},null,8,zs)):(l(),r("p",js,"Podgląd pojawi się, gdy coś napiszesz."))],512),[[Xe,jt.value]])],2),T.value.body?(l(),r("p",{key:1,id:W("body"),class:"error-text"},y(T.value.body),9,$s)):M("",!0),n("div",xs,[J.value?(l(),r("span",{key:0,class:"edit-upload-bar",style:Ja({width:`${Ia.value}%`}),"aria-hidden":"true"},null,4)):M("",!0),J.value?(l(),r("span",Ts,y(Vt.value),1)):M("",!0),n("span",{role:"status",class:fe({"sr-only":J.value})},y(J.value?Bt.value:"Wklejone obrazki stają się plikami materiału, które widzi każdy, kto ma link."),3)]),de.value.length?(l(),r("div",Ms,[(l(!0),r(U,null,K(de.value,a=>(l(),r("p",{key:a.key,class:"edit-upload-error"},[ze(y(a.text)+" ",1),a.retry?(l(),r("button",{key:0,class:"linkish",type:"button",onClick:g=>La(a.key)},"Spróbuj ponownie",8,Es)):M("",!0)]))),128)),n("button",{class:"linkish",type:"button",onClick:Va},"Ukryj błędy")])):M("",!0)]),X.value?(l(),r("div",Cs,[ze(y(X.value==="gone"?"Tego materiału nie ma już w Materiałach (usunięty albo przeniesiony do szkiców). Twoje zmiany zostały w tej przeglądarce.":"Nie możesz już edytować tego materiału. Twoje zmiany zostały w tej przeglądarce.")+" ",1),n("button",{class:"linkish",type:"button",onClick:za},y(Re.value?"Skopiowano.":"Skopiuj treść"),1)])):re.value?(l(),r("div",Ss,[ze(" Nie udało się zapisać: "+y(re.value)+". Twoje zmiany zostały w tej przeglądarce. ",1),n("button",{class:"linkish",type:"button",onClick:Ma},"Spróbuj ponownie")])):M("",!0),n("div",Is,[n("div",Ns,[n("button",{class:"btn primary",type:"button",disabled:!$a.value,"aria-busy":ie.value?"true":void 0,onClick:t[11]||(t[11]=a=>Fe(!0))},"Zapisz zmiany",8,Ps),F(o,{to:He.value,custom:""},{default:Le(({href:a})=>[n("a",{class:"btn ghost",href:a,onClick:Ht},"Wróć do materiału",8,Ds)]),_:1},8,["to"]),n("span",Ls,y(ja.value),1)])])],64)):M("",!0):(l(),r("div",gi,[t[14]||(t[14]=n("p",null,"Nie możesz edytować tego materiału.",-1)),F(o,{to:He.value},{default:Le(()=>[...t[13]||(t[13]=[ze("Wróć do materiału",-1)])]),_:1},8,["to"])]))],64)):M("",!0)]),_:1},8,["ready","error"])])}}});export{Ks as default};