diff --git a/bin/web/src/lib/analysis.spec.ts b/bin/web/src/lib/analysis.spec.svelte.ts
similarity index 98%
rename from bin/web/src/lib/analysis.spec.ts
rename to bin/web/src/lib/analysis.spec.svelte.ts
index 7190906..35df7e3 100644
--- a/bin/web/src/lib/analysis.spec.ts
+++ b/bin/web/src/lib/analysis.spec.svelte.ts
@@ -1,5 +1,5 @@
import { describe, it, expect } from 'vitest';
-import { EventType, parse_finished_report, Severity, type QualitativeWarning } from './analysis';
+import { EventType, parse_finished_report, Severity, type QualitativeWarning } from './analysis.svelte';
import { parse_ndjson, type NewlineDeliminatedJson } from './ndjson';
const SAMPLE_REPORT_NDJSON: NewlineDeliminatedJson = [
diff --git a/bin/web/src/lib/analysis.ts b/bin/web/src/lib/analysis.svelte.ts
similarity index 98%
rename from bin/web/src/lib/analysis.ts
rename to bin/web/src/lib/analysis.svelte.ts
index 1625e40..24889cb 100644
--- a/bin/web/src/lib/analysis.ts
+++ b/bin/web/src/lib/analysis.svelte.ts
@@ -1,5 +1,5 @@
import { parse_ndjson, type NewlineDeliminatedJson } from "./ndjson";
-import { req } from "./utils";
+import { req } from "./utils.svelte";
export type AnalysisReport = {
metadata: ReportMetadata;
diff --git a/bin/web/src/lib/analysisManager.ts b/bin/web/src/lib/analysisManager.svelte.ts
similarity index 91%
rename from bin/web/src/lib/analysisManager.ts
rename to bin/web/src/lib/analysisManager.svelte.ts
index 9f5cdf0..9e19b6a 100644
--- a/bin/web/src/lib/analysisManager.ts
+++ b/bin/web/src/lib/analysisManager.svelte.ts
@@ -1,6 +1,6 @@
-import { get_report, type AnalysisReport } from "./analysis";
-import type { Manifest, ManifestEntry } from "./manifest";
-import { req } from "./utils";
+import { get_report, type AnalysisReport } from "./analysis.svelte";
+import type { Manifest, ManifestEntry } from "./manifest.svelte";
+import { req } from "./utils.svelte";
export enum AnalysisStatus {
// rayhunter is currently analyzing this entry (note that this is distinct
diff --git a/bin/web/src/lib/components/AnalysisStatus.svelte b/bin/web/src/lib/components/AnalysisStatus.svelte
index 22e720f..b318ba6 100644
--- a/bin/web/src/lib/components/AnalysisStatus.svelte
+++ b/bin/web/src/lib/components/AnalysisStatus.svelte
@@ -1,35 +1,39 @@
diff --git a/bin/web/src/lib/components/ManifestTable.svelte b/bin/web/src/lib/components/ManifestTable.svelte
index 954a663..d6a6765 100644
--- a/bin/web/src/lib/components/ManifestTable.svelte
+++ b/bin/web/src/lib/components/ManifestTable.svelte
@@ -1,10 +1,11 @@
@@ -20,10 +21,10 @@
- {#if manifest.current_entry !== undefined}
-
+ {#if current_entry !== undefined}
+
{/if}
- {#each manifest.entries as entry}
+ {#each entries as entry}
{/each}
diff --git a/bin/web/src/lib/components/ManifestTableRow.svelte b/bin/web/src/lib/components/ManifestTableRow.svelte
index 2ffbbd0..984b8d2 100644
--- a/bin/web/src/lib/components/ManifestTableRow.svelte
+++ b/bin/web/src/lib/components/ManifestTableRow.svelte
@@ -1,5 +1,5 @@
+
+
+ {#if currently_recording}
+
+ {:else}
+
+ {/if}
+
+
+
diff --git a/bin/web/src/lib/manifest.ts b/bin/web/src/lib/manifest.svelte.ts
similarity index 86%
rename from bin/web/src/lib/manifest.ts
rename to bin/web/src/lib/manifest.svelte.ts
index df9b106..55d6c08 100644
--- a/bin/web/src/lib/manifest.ts
+++ b/bin/web/src/lib/manifest.svelte.ts
@@ -1,5 +1,5 @@
- import { get_report, type AnalysisReport } from "./analysis";
-import { AnalysisStatus, type AnalysisManager } from "./analysisManager";
+import { get_report, type AnalysisReport } from "./analysis.svelte";
+import { AnalysisStatus, type AnalysisManager } from "./analysisManager.svelte";
interface JsonManifest {
entries: JsonManifestEntry[];
@@ -51,13 +51,13 @@ export class Manifest {
}
export class ManifestEntry {
- public name: string;
+ public name = $state("");
public start_time: Date;
- public last_message_time: Date | undefined = undefined;
- public qmdl_size_bytes: number;
- public analysis_size_bytes: number;
- public analysis_status: AnalysisStatus | undefined = undefined;
- public analysis_report: AnalysisReport | string | undefined = undefined;
+ public last_message_time: Date | undefined = $state(undefined);
+ public qmdl_size_bytes = $state(0);
+ public analysis_size_bytes = $state(0);
+ public analysis_status: AnalysisStatus | undefined = $state(undefined);
+ public analysis_report: AnalysisReport | string | undefined = $state(undefined);
constructor(json: JsonManifestEntry) {
this.name = json.name;
diff --git a/bin/web/src/lib/ndjson.ts b/bin/web/src/lib/ndjson.ts
index 7f8c83d..cfae466 100644
--- a/bin/web/src/lib/ndjson.ts
+++ b/bin/web/src/lib/ndjson.ts
@@ -1,7 +1,6 @@
export type NewlineDeliminatedJson = any[];
export function parse_ndjson(input: string): NewlineDeliminatedJson {
- console.log(input)
const lines = input.split('\n');
const result = [];
let current_line = '';
diff --git a/bin/web/src/lib/utils.ts b/bin/web/src/lib/utils.svelte.ts
similarity index 93%
rename from bin/web/src/lib/utils.ts
rename to bin/web/src/lib/utils.svelte.ts
index 52712aa..a720b08 100644
--- a/bin/web/src/lib/utils.ts
+++ b/bin/web/src/lib/utils.svelte.ts
@@ -1,4 +1,4 @@
-import { Manifest } from "./manifest";
+import { Manifest } from "./manifest.svelte";
import type { SystemStats } from "./systemStats";
export async function req(method: string, url: string): Promise {
diff --git a/bin/web/src/routes/+page.svelte b/bin/web/src/routes/+page.svelte
index b49c94c..72aaf0d 100644
--- a/bin/web/src/routes/+page.svelte
+++ b/bin/web/src/routes/+page.svelte
@@ -1,35 +1,40 @@
-{#if manifest !== undefined}
-
+{#if loaded}
+
+
{:else}
Loading...
{/if}