blind_chat / src /lib /components /LoadingModal.svelte
lauro1's picture
test
faca43f
raw
history blame
1.1 kB
<script lang="ts">
import Modal from "$lib/components/Modal.svelte";
import { progress_writable, curr_model_writable, map_writable } from "./LoadingModalWritable.js";
const forceUpdate = async (_) => {};
let loadingMap = new Map<string, number>();
let pr = 1;
map_writable.subscribe((value) => {
const [model, percent] = value;
pr = Number(percent);
if (model.startsWith("onnx")) {
loadingMap.set(model, Math.floor(Number(percent)));
//console.log(loadingMap);
}
});
</script>
<Modal>
<div class="flex w-full flex-col gap-0 p-2">
<div class="flex items-start text-xl font-bold text-gray-800">
<h2>Loading the model...</h2>
<br />
</div>
<div class="flex items-start text-s text-gray-800">
<br>Please wait while we download the model. This has to be done only once.
</div>
<br />
{#await forceUpdate(pr) then _}
{#each [...loadingMap] as [key, value]}
<p class="text-s text-gray-800">{key}</p>
<div class="w3-light-grey">
<div class="w3-blue" style="width:{value}%">{value}%</div>
</div>
<br />
{/each}
{/await}
</div>
</Modal>