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

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