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
@@ -1,35 +1,39 @@
<script lang="ts">
import { AnalysisStatus } from "$lib/analysisManager";
import { EventType } from "$lib/analysis";
import type { ManifestEntry } from "$lib/manifest";
let { entry }: {
import { AnalysisStatus } from "$lib/analysisManager.svelte";
import { EventType } from "$lib/analysis.svelte";
import type { ManifestEntry } from "$lib/manifest.svelte";
let { entry, analysis_status }: {
entry: ManifestEntry,
analysis_status: AnalysisStatus | undefined,
} = $props();
let summary = $state('Loading...');
if (entry.analysis_status === AnalysisStatus.Queued) {
summary = 'Queued...';
} else if (entry.analysis_status === AnalysisStatus.Running) {
summary = 'Running...';
} else if (entry.analysis_status === AnalysisStatus.Finished) {
if (entry.analysis_report === undefined) {
summary = 'Loading...';
} else if (typeof(entry.analysis_report) === 'string') {
summary = entry.analysis_report;
} else {
let num_warnings = 0;
for (let row of entry.analysis_report.rows) {
for (let analysis of row.analysis) {
for (let event of analysis.events) {
if (event.type === EventType.Warning) {
num_warnings += 1;
let summary = $derived.by(() => {
if (analysis_status === AnalysisStatus.Queued) {
return 'Queued...';
} else if (entry.analysis_status === AnalysisStatus.Running) {
return 'Running...';
} else if (entry.analysis_status === AnalysisStatus.Finished) {
if (entry.analysis_report === undefined) {
return 'Loading...';
} else if (typeof(entry.analysis_report) === 'string') {
return entry.analysis_report;
} else {
let num_warnings = 0;
for (let row of entry.analysis_report.rows) {
for (let analysis of row.analysis) {
for (let event of analysis.events) {
if (event.type === EventType.Warning) {
num_warnings += 1;
}
}
}
}
return `${num_warnings} warnings`;
}
summary = `${num_warnings} warnings`;
} else {
return 'Loading...';
}
}
})
</script>
<p>