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