Fix iPad issue
Browse files- 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 |
-
|
|
|
|
|
|
|
| 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`;
|