mirror of
https://github.com/gradio-app/gradio.git
synced 2025-01-06 10:25:17 +08:00
1419538ea7
* asd * changes * fix everything * cleanup * add changeset * fix casing * lockfile * fix casing * fix ci, enable linting * fix test * add changeset * add changeset * delete changeset * fix dirs * fix casing * fix notebooks * fix casing * fix casing * fix casing * fix casing * fix casing * fix casing * fix casing * fix casing --------- Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
39 lines
924 B
TypeScript
39 lines
924 B
TypeScript
import type { ActionReturn } from "svelte/action";
|
|
|
|
export const prettyBytes = (bytes: number): string => {
|
|
let units = ["B", "KB", "MB", "GB", "PB"];
|
|
let i = 0;
|
|
while (bytes > 1024) {
|
|
bytes /= 1024;
|
|
i++;
|
|
}
|
|
let unit = units[i];
|
|
return bytes.toFixed(1) + " " + unit;
|
|
};
|
|
|
|
export const playable = (): boolean => {
|
|
// TODO: Fix this
|
|
// let video_element = document.createElement("video");
|
|
// let mime_type = mime.lookup(filename);
|
|
// return video_element.canPlayType(mime_type) != "";
|
|
return true; // FIX BEFORE COMMIT - mime import causing issues
|
|
};
|
|
|
|
export function loaded(
|
|
node: HTMLVideoElement,
|
|
{ autoplay }: { autoplay: boolean }
|
|
): ActionReturn {
|
|
async function handle_playback(): Promise<void> {
|
|
if (!autoplay) return;
|
|
await node.play();
|
|
}
|
|
|
|
node.addEventListener("loadeddata", handle_playback);
|
|
|
|
return {
|
|
destroy(): void {
|
|
node.removeEventListener("loadeddata", handle_playback);
|
|
}
|
|
};
|
|
}
|