PageSourceSearch

https://coliven.com/_next/static/chunks/2719.036b98e79735da5d.js

js coliven.com collected 2026-10-03 00:56:14 UTC 4,419 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2719],{13122:e=>{e.exports={editorWrapper:"AdminRichTextEditor_editorWrapper__A7WPx",uploadingOverlay:"AdminRichTextEditor_uploadingOverlay__8t3W_",uploadingSpinner:"AdminRichTextEditor_uploadingSpinner__zfKgO",spin:"AdminRichTextEditor_spin__R_Gic",adminRichTextEditor:"AdminRichTextEditor_adminRichTextEditor__m3DZH",error:"AdminRichTextEditor_error__4JkcD"}},22719:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>_});var a=i(79883),r=i(31227),n=i(66405),l=i(13122),o=i.n(l);i(25495);let s=(0,n.default)(()=>i.e(4322).then(i.bind(i,64322)),{loadableGenerated:{webpack:()=>[64322]},ssr:!1}),d=["image/jpeg","image/png","image/gif","image/webp"],c=null,u=null,p=null;function m(e){return e.startsWith("data:")||e.startsWith("blob:")}async function g(e){if(!d.includes(e.type))throw Error("Invalid file type. Allowed: JPEG, PNG, GIF, WebP");if(e.size>5242880)throw Error("Image too large. Maximum size is 5MB.");let t=new FormData;t.append("file",e);let i=await fetch("/api/admin/email/upload",{method:"POST",body:t}),a=await i.json();if(!i.ok||!a.success)throw Error(a.error||"Upload failed");return a.url}async function f(e){let t=await fetch(e),i=await t.blob(),a=i.type.split("/")[1]||"png";return new File([i],"pasted-image.".concat(a),{type:i.type})}async function h(e,t,i){null==u||u(!0);try{var a,r;let n=await g(t),l=null!=(r=null!=i?i:null==(a=e.getSelection(!0))?void 0:a.index)?r:Math.max(0,e.getLength()-1);e.insertEmbed(l,"image",n),e.setSelection(l+1),null==p||p(e.root.innerHTML)}catch(e){console.error("Image upload error:",e),alert(e.message||"Failed to upload image. Please try again.")}finally{null==u||u(!1)}}let y=new Set;async function v(e,t){if(!y.has(t)){y.add(t);try{var i;await new Promise(e=>setTimeout(e,0));let a=e.getContents(),r=0;for(let n of null!=(i=a.ops)?i:[]){if(n.insert&&"object"==typeof n.insert&&n.insert.image===t){null==u||u(!0);try{let i=await f(t),a=await g(i);e.deleteText(r,1,"silent"),e.insertEmbed(r,"image",a,"silent"),e.setSelection(r+1),null==p||p(e.root.innerHTML)}catch(e){console.error("Image upload error:",e),alert(e.message||"Failed to upload image. Please try again.")}finally{null==u||u(!1)}return}r+="string"==typeof n.insert?n.insert.length:1}}finally{y.delete(t)}}}async function b(){let e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("accept","image/jpeg,image/png,image/gif,image/webp"),e.click(),e.onchange=async()=>{var t;let i=null==(t=e.files)?void 0:t[0];if(!i)return;let a=this.quill||c;a&&await h(a,i)}}let _=function(e){let{value:t,onChange:i,placeholder:n="Write your email content here...",error:l=!1,className:d=""}=e,[g,f]=(0,r.useState)(!1),[y,_]=(0,r.useState)(!1);u=f,p=i;let w=(0,r.useMemo)(()=>({toolbar:{container:[[{header:[1,2,3,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],["blockquote"],["link","image","video"],[{align:[]}],["clean"]],handlers:{image:b}},clipboard:{matchers:[["IMG",e=>{let t=e.getAttribute("src");return t?m(t)?(c&&v(c,t),{ops:[]}):{ops:[{insert:{image:t}}]}:{ops:[]}}]]}}),[]),E=(0,r.useCallback)((e,t,a,r)=>{if(c=r,y||_(!0),"user"===a&&(null==t?void 0:t.ops))for(let e of t.ops){var n;let t=null==(n=e.insert)?void 0:n.image;"string"==typeof t&&m(t)&&v(r,t)}i(e)},[i,y]);return(0,r.useEffect)(()=>{if(y&&(null==c?void 0:c.root)){var e=c;let t=e.root,i=t=>{let i=t.clipboardData;if(!i)return;let a=Array.from(i.items).find(e=>e.type.startsWith("image/"));if(!a)return;t.preventDefault(),t.stopPropagation();let r=a.getAsFile();r&&h(e,r)},a=t=>{var i,a;let r=Array.from(null!=(a=null==(i=t.dataTransfer)?void 0:i.files)?a:[]).find(e=>e.type.startsWith("image/"));r&&(t.preventDefault(),t.stopPropagation(),h(e,r))};return t.addEventListener("paste",i,!0),t.addEventListener("drop",a,!0),()=>{t.removeEventListener("paste",i,!0),t.removeEventListener("drop",a,!0)}}},[y]),(0,a.jsxs)("div",{className:"".concat(o().editorWrapper," ").concat(d),children:[g&&(0,a.jsxs)("div",{className:o().uploadingOverlay,children:[(0,a.jsx)("div",{className:o().uploadingSpinner}),(0,a.jsx)("span",{children:"Uploading image..."})]}),(0,a.jsx)(s,{theme:"snow",value:t,onChange:E,modules:w,formats:["header","bold","italic","underline","strike","list","blockquote","link","image","video","align"],placeholder:n,className:"".concat(o().adminRichTextEditor," ").concat(l?o().error:"")})]})}},25495:()=>{}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.