mishig HF staff commited on
Commit
46341af
1 Parent(s): 845d2d3

Fix iPad issue

Browse files
Files changed (1) hide show
  1. src/routes/+page.svelte +24 -3
src/routes/+page.svelte CHANGED
@@ -75,7 +75,6 @@
75
  }
76
 
77
  async function submitRequest() {
78
- try {
79
  if (!txt) {
80
  return alert('Please add prompt');
81
  }
@@ -98,6 +97,7 @@
98
  form.append('strength', '0.85');
99
  form.append('image', imgFile);
100
 
 
101
  const response = await fetch('https://sdb.pcuenca.net/i2i', {
102
  method: 'POST',
103
  body: form
@@ -208,7 +208,7 @@
208
  }
209
 
210
  async function drawUploadedImg(file: File) {
211
- if(interval){
212
  clearInterval(interval);
213
  }
214
  const imgEl = new Image();
@@ -251,8 +251,29 @@
251
  drawUploadedImg(file);
252
  }
253
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  onMount(async () => {
255
- console.log("ONMOUNT svelte")
 
 
256
  const { innerWidth: windowWidth } = window;
257
  canvasSize = Math.min(canvasSize, Math.floor(windowWidth * 0.75));
258
  canvasContainerEl.style.width = `${canvasSize}px`;
 
75
  }
76
 
77
  async function submitRequest() {
 
78
  if (!txt) {
79
  return alert('Please add prompt');
80
  }
 
97
  form.append('strength', '0.85');
98
  form.append('image', imgFile);
99
 
100
+ try {
101
  const response = await fetch('https://sdb.pcuenca.net/i2i', {
102
  method: 'POST',
103
  body: form
 
208
  }
209
 
210
  async function drawUploadedImg(file: File) {
211
+ if (interval) {
212
  clearInterval(interval);
213
  }
214
  const imgEl = new Image();
 
251
  drawUploadedImg(file);
252
  }
253
 
254
+ // original: https://gist.github.com/MonsieurV/fb640c29084c171b4444184858a91bc7
255
+ function polyfillCreateImageBitmap() {
256
+ window.createImageBitmap = async function (data: ImageData): Promise<ImageBitmap> {
257
+ return new Promise((resolve, _) => {
258
+ const canvas = document.createElement('canvas');
259
+ const ctx = canvas.getContext('2d');
260
+ canvas.width = data.width;
261
+ canvas.height = data.height;
262
+ ctx.putImageData(data, 0, 0);
263
+ const dataURL = canvas.toDataURL();
264
+ const img = document.createElement('img');
265
+ img.addEventListener('load', () => {
266
+ resolve(img as any as ImageBitmap);
267
+ });
268
+ img.src = dataURL;
269
+ });
270
+ };
271
+ }
272
+
273
  onMount(async () => {
274
+ if (typeof createImageBitmap === 'undefined') {
275
+ polyfillCreateImageBitmap();
276
+ }
277
  const { innerWidth: windowWidth } = window;
278
  canvasSize = Math.min(canvasSize, Math.floor(windowWidth * 0.75));
279
  canvasContainerEl.style.width = `${canvasSize}px`;