|
import{S as fe,i as me,s as he,k as u,a as V,q as ae,H as ge,l as f,m as v,h as c,c as z,r as ne,n as o,I as se,p as we,F as s,b as le,J as ce,K as Q,L as be,M as ve,A as de,N as _e,o as ye,z as Ie,O as Ee,P as re}from"../../chunks/index-c0a82f06.js";const{document:X,window:pe}=Ee;function De(d){let T,n,M,_,H,x,b,l,y,I,R,C,a,p,N,r,k,E,O,S,A,P,W,J,j,h,K,q,Y,U,F,G,Z;return{c(){T=u("link"),n=u("script"),_=u("script"),x=u("script"),l=V(),y=u("div"),I=u("canvas"),C=V(),a=u("div"),p=u("div"),N=V(),r=u("div"),k=u("p"),E=ae("pro tip: upload img by pasting OR dropping on the canvas"),O=V(),S=u("div"),A=u("label"),P=u("input"),W=ae(` |
|
upload img`),ee.forEach(c),$.forEach(c),J=z(B),j=f(B,"DIV",{class:!0});var te=v(j);h=f(te,"INPUT",{type:!0,class:!0,placeholder:!0}),K=z(te),q=f(te,"BUTTON",{class:!0});var ie=v(q);Y=ne(ie,"diffuse the f rest"),ie.forEach(c),te.forEach(c),B.forEach(c),m.forEach(c),D.forEach(c),this.h()},h(){o(T,"href","https://cdnjs.cloudflare.com/ajax/libs/drawingboard.js/0.4.2/drawingboard.css"),o(T,"rel","stylesheet"),se(n.src,M="https://code.jquery.com/jquery-1.12.4.min.js")||o(n,"src",M),se(_.src,H="https://cdnjs.cloudflare.com/ajax/libs/drawingboard.js/0.4.2/drawingboard.min.js")||o(_,"src",H),se(x.src,b="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.3.1/iframeResizer.contentWindow.min.js")||o(x,"src",b),o(I,"class",R="border-[1.2px] desktop:mt-[34px] "+(d[5]?"":"hidden")),o(p,"id","board-container"),o(k,"class","no-hover:hidden mt-2 opacity-50"),o(P,"accept","image/*"),we(P,"display","none"),o(P,"type","file"),o(A,"class","with-hover:hidden border py-1 px-1.5 bg-slate-200 cursor-pointer"),o(S,"class","mt-1"),o(h,"type","text"),o(h,"class","border-2 py-1"),o(h,"placeholder","Add prompt"),o(q,"class","bg-blue-500 hover:bg-blue-700 text-white font-bold py-1.5 px-4"),o(j,"class",U="flex gap-x-2 mt-2 items-center justify-center "+(d[1]?"animate-pulse":"")),o(a,"class",F="flex flex-col items-center "+(d[1]?"pointer-events-none":"")),o(y,"class","flex flex-wrap gap-x-4 gap-y-2 justify-center my-8")},m(e,t){s(X.head,T),s(X.head,n),s(X.head,_),s(X.head,x),le(e,l,t),le(e,y,t),s(y,I),d[10](I),s(y,C),s(y,a),s(a,p),d[11](p),s(a,N),s(a,r),s(r,k),s(k,E),s(r,O),s(r,S),s(S,A),s(A,P),d[12](P),s(A,W),s(r,J),s(r,j),s(j,h),ce(h,d[0]),s(j,K),s(j,q),s(q,Y),G||(Z=[Q(pe,"drop",be(ve(d[8]))),Q(pe,"paste",d[9]),Q(P,"change",d[7]),Q(h,"input",d[13]),Q(q,"click",d[6])],G=!0)},p(e,[t]){t&32&&R!==(R="border-[1.2px] desktop:mt-[34px] "+(e[5]?"":"hidden"))&&o(I,"class",R),t&1&&h.value!==e[0]&&ce(h,e[0]),t&2&&U!==(U="flex gap-x-2 mt-2 items-center justify-center "+(e[1]?"animate-pulse":""))&&o(j,"class",U),t&2&&F!==(F="flex flex-col items-center "+(e[1]?"pointer-events-none":""))&&o(a,"class",F)},i:de,o:de,d(e){c(T),c(n),c(_),c(x),e&&c(l),e&&c(y),d[10](null),d[11](null),d[12](null),G=!1,_e(Z)}}}const oe=500,ue=3e3;function Ce(d,T,n){let M="",_=!1,H=!1,x,b,l,y,I,R,C,a=400,p,N,r,k=!1,E=[];async function O(){if(!l)return;const e=l.createImageData(b.width,b.height),t=e.data;for(let w=0,D=t.length;w<D;w+=4)t[w]=40*Math.random()*7,t[w+1]=40*Math.random()*7,t[w+2]=40*Math.random()*7,t[w+3]=255;const i=await createImageBitmap(e),g=performance.now()-y;l.globalAlpha=Math.min(g,ue)/ue,l.drawImage(i,0,0,a,a),_&&window.requestAnimationFrame(O)}function S(e){if(!l)return;const t=performance.now()-I;l.globalAlpha=Math.min(t,oe)/oe,l.drawImage(e,0,0,a,a),t<oe&&window.requestAnimationFrame(()=>S(e))}async function A(e){const t=e.toDataURL("png"),g=await(await fetch(t)).blob(),w=new File([g],"canvas shot.png",{type:"image/png"}),D=e.getContext("2d").getImageData(0,0,a,a),m=await createImageBitmap(D);return{imgFile:w,imgBitmap:m}}async function P(){if(!M)return alert("Please add prompt");if(!b||!l)return;n(1,_=!0),n(5,k=!1),j(),y=performance.now(),O();const{imgFile:e,imgBitmap:t}=await A(b),i=new FormData;i.append("prompt",M),i.append("strength","0.85"),i.append("image",e);try{const g=await fetch("https://sdb.pcuenca.net/i2i",{method:"POST",body:i}),w=JSON.parse(await g.text()),{images:D}=w;if(!D.length)return alert("All the results were flagged. Please try again with diffeerent sketch + prompt");E=await Promise.all(D.map(async B=>{const L=new Image;return L.src=`data:image/png;base64, ${B}`,await new Promise(($,ee)=>{L.onload=()=>$(L)}),L})),n(1,_=!1),C&&clearInterval(C),n(5,k=!0);let m=0;I=performance.now(),S(E[m%E.length]),R=()=>{C&&clearInterval(C),I=performance.now(),m=m+1,S(E[m%E.length])},C=setInterval(()=>{m=m+1,I=performance.now(),S(E[m%E.length])},2500),!H&&E.length>1&&W()}catch(g){console.error(g),alert("Error happened, queue might be full. Please try again in a bit :)")}}function W(){const e=document.createElement("div");e.className="drawing-board-control";const t=document.createElement("button");t.innerHTML="\u23EF",t.onclick=R,e.append(t);const i=document.querySelector(".drawing-board-controls");i&&(i.appendChild(e),H=!0,n(2,p.onclick=()=>{C&&clearInterval(C)},p))}function J(){const e=document.createElement("div");e.className="drawing-board-control";const t=document.createElement("button");t.innerHTML="\u{1F9F9}",t.onclick=()=>{l==null||l.clearRect(0,0,a,a)},e.append(t);const i=document.querySelector(".drawing-board-controls");i&&i.appendChild(e)}function j(){const e=r.getContext("2d");n(4,r.width=b.width,r),n(4,r.height=b.height,r),e.drawImage(b,0,0)}async function h(e){const t=new Image;t.src=URL.createObjectURL(e),await new Promise((w,D)=>{t.onload=()=>w(t)});const{width:i,height:g}=t;l==null||l.drawImage(t,0,0,i,g,0,0,a,a)}function K(){var t;const e=(t=N.files)==null?void 0:t[0];e&&h(e)}function q(e){var g;if(!((g=e.dataTransfer)!=null&&g.files))return;e.preventDefault();const i=Array.from(e.dataTransfer.files)[0];h(i)}function Y(e){if(!e.clipboardData)return;const t=Array.from(e.clipboardData.files);if(t.length===0)return;e.preventDefault();const i=t[0];h(i)}ye(async()=>{const{innerWidth:e}=window;a=Math.min(a,Math.floor(e*.75)),n(2,p.style.width=`${a}px`,p),n(2,p.style.height=`${a}px`,p),n(4,r.style.width=`${a}px`,r),n(4,r.style.height=`${a}px`,r),await Ie(),x=new window.DrawingBoard.Board("board-container",{size:10,controls:["Color",{Size:{type:"dropdown"}},{DrawingMode:{filler:!1}}],webStorage:!1,enlargeYourContainer:!0}),b=x.canvas,l=b.getContext("2d"),b.ondragover=function(t){return t.preventDefault(),!1},J()});function U(e){re[e?"unshift":"push"](()=>{r=e,n(4,r)})}function F(e){re[e?"unshift":"push"](()=>{p=e,n(2,p)})}function G(e){re[e?"unshift":"push"](()=>{N=e,n(3,N)})}function Z(){M=this.value,n(0,M)}return[M,_,p,N,r,k,P,K,q,Y,U,F,G,Z]}class je extends fe{constructor(T){super(),me(this,T,Ce,De,he,{})}}export{je as default}; |