calvesca's picture
Upload folder using huggingface_hub
0bd62e5 verified
import config from "$lib/component_json";
const comps = {
accordion: () => import("@gradio/accordion"),
annotatedimage: () => import("@gradio/annotatedimage"),
audio: () => import("@gradio/audio"),
button: () => import("@gradio/button"),
chatbot: () => import("@gradio/chatbot"),
checkbox: () => import("@gradio/checkbox"),
checkboxgroup: () => import("@gradio/checkboxgroup"),
code: () => import("@gradio/code"),
colorpicker: () => import("@gradio/colorpicker"),
dataframe: () => import("@gradio/dataframe"),
dataset: () => import("@gradio/dataset"),
datetime: () => import("@gradio/datetime"),
downloadbutton: () => import("@gradio/downloadbutton"),
dropdown: () => import("@gradio/dropdown"),
file: () => import("@gradio/file"),
form: () => import("@gradio/form"),
gallery: () => import("@gradio/gallery"),
highlightedtext: () => import("@gradio/highlightedtext"),
html: () => import("@gradio/html"),
image: () => import("@gradio/image"),
imageeditor: () => import("@gradio/imageeditor"),
json: () => import("@gradio/json"),
label: () => import("@gradio/label"),
markdown: () => import("@gradio/markdown"),
model3d: () => import("@gradio/model3d"),
multimodaltextbox: () => import("@gradio/multimodaltextbox"),
nativeplot: () => import("@gradio/nativeplot"),
number: () => import("@gradio/number"),
paramviewer: () => import("@gradio/paramviewer"),
plot: () => import("@gradio/plot"),
radio: () => import("@gradio/radio"),
simpleimage: () => import("@gradio/simpleimage"),
slider: () => import("@gradio/slider"),
state: () => import("@gradio/state"),
textbox: () => import("@gradio/textbox"),
timer: () => import("@gradio/timer"),
uploadbutton: () => import("@gradio/uploadbutton"),
video: () => import("@gradio/video")
};
import type { PageLoad } from "./$types";
export const load: PageLoad = async ({ url }) => {
const route_name = url.pathname.split("/").slice(-1)[0];
const interactive_component = config.find(
(c) => c.name === route_name && c.props.interactive
);
const non_interactive_component = config.find(
(c) => c.name === route_name && !c.props.interactive
);
const comp =
route_name in comps
? await comps[route_name as keyof typeof comps]()
: await import("@gradio/label");
return {
component: comp,
interactive_component: interactive_component,
non_interactive_component: non_interactive_component,
name: route_name
};
};