fixed most svelte issues

This commit is contained in:
Will Greenberg
2025-04-14 11:39:54 -07:00
parent 4f0bc3ad93
commit 4113b71baf
11 changed files with 99 additions and 65 deletions

View File

@@ -1,35 +1,40 @@
<script lang="ts">
import { Manifest, ManifestEntry } from "$lib/manifest";
import { get_manifest, get_system_stats } from "$lib/utils";
import { Manifest, ManifestEntry } from "$lib/manifest.svelte";
import { get_manifest, get_system_stats } from "$lib/utils.svelte";
import ManifestTable from "$lib/components/ManifestTable.svelte";
import { onMount } from "svelte";
import type { SystemStats } from "$lib/systemStats";
import { AnalysisManager } from "$lib/analysisManager";
import { AnalysisManager } from "$lib/analysisManager.svelte";
import { writable, readable, type Readable, type Writable } from "svelte/store";
import RecordingControls from "$lib/components/RecordingControls.svelte";
let manifest: Manifest | undefined = $state(undefined);
let system_stats: SystemStats | undefined = $state(undefined);
let manager: AnalysisManager = new AnalysisManager();
let analysis_status = $state([]);
let loaded = $state(false);
let recording = $state(false);
let entries: ManifestEntry[] = $state([]);
let current_entry: ManifestEntry | undefined = $state(undefined);
let system_stats: SystemStats | undefined = $state(undefined);
$effect(() => {
const interval = setInterval(async () => {
loaded = true;
await manager.update();
let new_manifest = await get_manifest();
await new_manifest.set_analysis_status(manager);
entries = new_manifest.entries;
current_entry = new_manifest.current_entry;
recording = current_entry !== undefined;
async function update(): Promise<void> {
await manager.update();
manifest = await get_manifest();
manifest.set_analysis_status(manager);
system_stats = await get_system_stats();
}
onMount(() => {
const interval = setInterval(() => {
update();
system_stats = await get_system_stats();
}, 1000);
return () => clearInterval(interval);
});
})
</script>
<div class="p-8">
{#if manifest !== undefined}
<ManifestTable manifest={manifest} />
{#if loaded}
<RecordingControls currently_recording={recording} />
<ManifestTable entries={entries} current_entry={current_entry} />
{:else}
<p>Loading...</p>
{/if}