mirror of
https://github.com/stoatchat/for-legacy-web.git
synced 2026-03-09 10:15:26 +00:00
@@ -73,18 +73,25 @@ export async function uploadFile(
|
|||||||
return res.data.id;
|
return res.data.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var input: HTMLInputElement;
|
||||||
export function grabFiles(
|
export function grabFiles(
|
||||||
maxFileSize: number,
|
maxFileSize: number,
|
||||||
cb: (files: File[]) => void,
|
cb: (files: File[]) => void,
|
||||||
tooLarge: () => void,
|
tooLarge: () => void,
|
||||||
multiple?: boolean,
|
multiple?: boolean,
|
||||||
) {
|
) {
|
||||||
const input = document.createElement("input");
|
if (input) {
|
||||||
input.type = "file";
|
input.remove();
|
||||||
input.accept = "*";
|
}
|
||||||
input.multiple = multiple ?? false;
|
|
||||||
|
|
||||||
input.onchange = async (e) => {
|
input = document.createElement("input");
|
||||||
|
|
||||||
|
input.accept = "*";
|
||||||
|
input.type = "file";
|
||||||
|
input.multiple = multiple ?? false;
|
||||||
|
input.style.display = "none";
|
||||||
|
|
||||||
|
input.addEventListener("change", async (e) => {
|
||||||
const files = (e.currentTarget as HTMLInputElement)?.files;
|
const files = (e.currentTarget as HTMLInputElement)?.files;
|
||||||
if (!files) return;
|
if (!files) return;
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
@@ -94,8 +101,11 @@ export function grabFiles(
|
|||||||
}
|
}
|
||||||
|
|
||||||
cb(Array.from(files));
|
cb(Array.from(files));
|
||||||
};
|
});
|
||||||
|
|
||||||
|
// iOS requires us to append the file input
|
||||||
|
// to DOM to allow us to add any images
|
||||||
|
document.body.appendChild(input);
|
||||||
input.click();
|
input.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user