8 lines
42 KiB
JavaScript
8 lines
42 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownEditor-CZUDcnA5.js","assets/index-07rBQy2o.js","assets/index-C302nIKf.css"])))=>i.map(i=>d[i]);
|
||
import{d as je,n as l,c as r,F as B,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 se,w as ae,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-07rBQy2o.js";import{_ as on}from"./PageHead.vue_vue_type_script_setup_true_lang-CyicA48G.js";import{_ as ln}from"./LoadState.vue_vue_type_script_setup_true_lang-RALZBY22.js";import{n as da}from"./tabs-nNm7HGNT.js";import{u as rn,_ as gt,r as un}from"./markdown-B9-JrJPa.js";import{c as ea}from"./materialListCache-BfbyTsY4.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(B,null,K(u,(q,Z)=>(l(),r(B,{key:Z},[Z>0?(l(),r("span",dn)):M("",!0),(l(!0),r(B,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"},Un={class:"diff-glyph","aria-hidden":"true"},Bn={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=[],U=(N,_,R)=>I.push({name:N,server:_,mine:R});return $.title.trim()!==b.title.trim()&&U("Tytuł",$.title.trim(),b.title.trim()),$.type!==b.type&&U("Rodzaj",Qe[$.type],Qe[b.type]),$.meeting_id!==b.meeting_id&&U("Zjazd",p($.meeting_id),p(b.meeting_id)),$.source.trim()!==b.source.trim()&&U("Źródło",$.source.trim(),b.source.trim()),$.url.trim()!==b.url.trim()&&U("Link",$.url.trim(),b.url.trim()),q($.tags,b.tags)||U("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=[],U=[];const N=()=>{b.push(...I,...U),I=[],U=[]};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&&U.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(B,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(B,null,K(H.value,(I,U)=>(l(),r(B,{key:U},[I.kind==="gap"&&!G.value.has(U)?(l(),r("button",{key:0,class:"linkish diff-gap",type:"button",onClick:N=>me(U)}," Pokaż "+y(h(la)(I.rows.length,"niezmieniony wiersz","niezmienione wiersze","niezmienionych wierszy")),9,xn)):j.value?(l(!0),r(B,{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(B,{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",Un,y(N.side==="server"?"−":N.side==="mine"?"+":""),1),N.side!=="same"?(l(),r("span",Bn,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 U(_){const R=_.target;(R===_.currentTarget||R.classList.contains("share-chips"))&&(x.value?.focus(),b())}se(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:U},[i.modelValue.length?(l(),r("ul",Rn,[(l(!0),r(B,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),ae(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)]]),ae(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(B,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"},Ue=i=>String(i).padStart(2,"0");function ii(i,s=new Date){const m=`${s.getFullYear()}${Ue(s.getMonth()+1)}${Ue(s.getDate())}`,v=`${Ue(s.getHours())}${Ue(s.getMinutes())}${Ue(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``}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"},Ui=["for"],Bi=["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",Fs=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-CZUDcnA5.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),p=z(null),q=z("");async function Z(){rt(),Ft(),Ie!==void 0&&ie(),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),se(()=>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 U(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})}se(()=>[p.value?.body,jt.value],([,e],t)=>{e&&(clearTimeout(Te),!t||!t[1]?$t():Te=setTimeout($t,150))},{immediate:!0}),ve(()=>clearTimeout(Te)),se(c,(e,t)=>{e&&!t&&d.value&&e.focus()});const Be=["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 Be)se(()=>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 Be){const D=e[g]?.[0];D&&(o[g]=vi(g,D,pa(t,g)))}const a=Be.find(g=>o[g]!==void 0);if(!a){re.value=Qt(Object.values(e).flat()[0]??"Błąd 422");return}T.value=o,Be.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 ne=z(!1),re=z(""),ue=z("");let Pt=!1,ot;const ja=L(()=>ne.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);se(P,e=>{e?ue.value="":A.value||ie()});const $a=L(()=>P.value&&!ne.value&&!J.value&&!C.value&&!X.value);async function Fe(e,t){const o=f.value,a=p.value;if(!(!o||!a||ne.value||X.value||J.value)&&!(t===void 0&&(C.value||!P.value))){Pt=e,ot=t,ne.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(),ie(),e?ue.value=`Zapisano (rev ${g.revision}).`:(k.show("Zapisano zmiany."),ft=!0,qt())}catch(g){f.value===o&&await xa(ci(g))}finally{ne.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(ne.value){ye=Math.max(ye,e);return}Ce=e}else if(ne.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(ne.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 ie(){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}}se(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){ie();return}ct(),Ie=setTimeout(ie,800)}},{deep:!0}),se(C,e=>{e||(Se=null)});function Dt(){document.visibilityState==="hidden"&&P.value&&ie()}mt(()=>document.addEventListener("visibilitychange",Dt)),ve(()=>{document.removeEventListener("visibilitychange",Dt),Ie!==void 0&&ie()});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}),Ut=z("");se(J,e=>{e&&(Ut.value=Vt.value)});const Bt=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(){Bt.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 Ua=Y=>{const _e=Q.value.find(Ba=>Ba.key===ee);_e&&(_e.loaded=Y/100*_e.total)};return ge.uploadMaterialImage(a.id,e,Ua,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():ie(),ft=!0,!0)});function Zt(e){P.value&&ie(),!(!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(B,{key:0},[f.value.can_manage?p.value?(l(),r(B,{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),ae(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:U},[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,Ui),ae(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(B,null,K(h(b),([a,g])=>(l(),r("option",{key:a,value:a},y(g),9,Wi))),128))],8,Bi),[[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),ae(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(B,{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),ae(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),ae(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(B,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(B,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,[ae(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:Bt,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}])},[ae(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]]),ae(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?Ut.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(B,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":ne.value?"true":void 0,onClick:t[11]||(t[11]=a=>Fe(!1))},"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{Fs as default};
|