chore: moved model page to svelte
This commit is contained in:
78
webpage/src/routes/models/edit/RunModel.svelte
Normal file
78
webpage/src/routes/models/edit/RunModel.svelte
Normal file
@@ -0,0 +1,78 @@
|
||||
<script lang="ts">
|
||||
import { postFormData } from "src/lib/requests.svelte";
|
||||
import type { Model } from "./+page.svelte";
|
||||
import FileUpload from "src/lib/FileUpload.svelte";
|
||||
import MessageSimple from "src/lib/MessageSimple.svelte";
|
||||
|
||||
let {model} = $props<{model: Model}>();
|
||||
|
||||
let file: File | undefined = $state();
|
||||
|
||||
let result: string | undefined = $state();
|
||||
let run = $state(false);
|
||||
|
||||
let messages: MessageSimple;
|
||||
|
||||
async function submit() {
|
||||
console.log("here", file);
|
||||
if (!file) return;
|
||||
messages.clear();
|
||||
|
||||
let form = new FormData();
|
||||
form.append("id", model.id);
|
||||
form.append("file", file, "file");
|
||||
|
||||
run = true;
|
||||
|
||||
try {
|
||||
result = await postFormData('models/run', form);
|
||||
} catch (e) {
|
||||
if (e instanceof Response) {
|
||||
messages.display(await e.json());
|
||||
} else {
|
||||
messages.display("Could not run the model");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<form on:submit|preventDefault={submit}>
|
||||
<fieldset class="file-upload" >
|
||||
<label for="file">Image</label>
|
||||
<div class="form-msg">
|
||||
Run image through them model and get the result
|
||||
</div>
|
||||
|
||||
<FileUpload replace_slot bind:file accept="image/*" >
|
||||
<img src="/imgs/upload-icon.png" alt="" />
|
||||
<span>
|
||||
Upload image
|
||||
</span>
|
||||
<div slot="replaced-name">
|
||||
<span>
|
||||
Image selected
|
||||
</span>
|
||||
</div>
|
||||
</FileUpload>
|
||||
</fieldset>
|
||||
<MessageSimple bind:this={messages} />
|
||||
<button>
|
||||
Run
|
||||
</button>
|
||||
{#if run}
|
||||
{#if !result}
|
||||
<div class="result">
|
||||
<h1>
|
||||
The class was not found
|
||||
</h1>
|
||||
</div>
|
||||
{:else}
|
||||
<div>
|
||||
<h1>
|
||||
Result
|
||||
</h1>
|
||||
The image was classified as {result}
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</form>
|
||||
Reference in New Issue
Block a user