diff --git a/frontend/src/lib/components/ResultJobLoader.svelte b/frontend/src/lib/components/ResultJobLoader.svelte
index 8b117fe255..7bdbf104c5 100644
--- a/frontend/src/lib/components/ResultJobLoader.svelte
+++ b/frontend/src/lib/components/ResultJobLoader.svelte
@@ -1,21 +1,31 @@
{#if kind === 'read' || kind === 'write'}
- {kind == 'read' ? 'Read & Run only' : 'Read & Write'} {reason}
+ {#snippet text()}
+ {kind == 'read' ? 'Read & Run only' : 'Read & Write'} {reason}
+ {/snippet}
{/if}
diff --git a/frontend/src/lib/components/TestJobLoader.svelte b/frontend/src/lib/components/TestJobLoader.svelte
index 10b0fcfb7f..28990e7a53 100644
--- a/frontend/src/lib/components/TestJobLoader.svelte
+++ b/frontend/src/lib/components/TestJobLoader.svelte
@@ -1,22 +1,38 @@
-
+{@render children?.({
+ job,
+ isLoading,
+ workspaceOverride,
+ notfound,
+ abstractRun,
+ runScriptByPath,
+ runFlowByPath,
+ runPreview,
+ cancelJob,
+ clearCurrentJob,
+ watchJob,
+ loadTestJob,
+ syncer
+})}
diff --git a/frontend/src/lib/components/TimelineBar.svelte b/frontend/src/lib/components/TimelineBar.svelte
index a106b2bfc3..7c4e170d93 100644
--- a/frontend/src/lib/components/TimelineBar.svelte
+++ b/frontend/src/lib/components/TimelineBar.svelte
@@ -4,15 +4,29 @@
import { ExternalLink } from 'lucide-svelte'
import Popover from './Popover.svelte'
- export let position: 'center' | 'left' | 'right' = 'center'
- export let total: number
- export let min: number | undefined
- export let started_at: number | undefined
- export let len: number
- export let id: string
- export let running: boolean
- export let concat: boolean = false
- export let gray: boolean = false
+ interface Props {
+ position?: 'center' | 'left' | 'right'
+ total: number
+ min: number | undefined
+ started_at: number | undefined
+ len: number
+ id: string
+ running: boolean
+ concat?: boolean
+ gray?: boolean
+ }
+
+ let {
+ position = 'center',
+ total,
+ min,
+ started_at,
+ len,
+ id,
+ running,
+ concat = false,
+ gray = false
+ }: Props = $props()
{#if min && started_at != undefined}
@@ -24,18 +38,18 @@
class="h-4 {gray
? 'bg-gray-300 dark:bg-gray-600'
: running
- ? 'bg-blue-400/90'
- : 'bg-blue-500/90'} {position == 'left'
+ ? 'bg-blue-400/90'
+ : 'bg-blue-500/90'} {position == 'left'
? 'rounded-l-sm'
: position == 'right'
- ? 'rounded-r-sm'
- : 'rounded-sm'} center-center text-white text-2xs whitespace-nowrap hover:outline outline-1 outline-black"
+ ? 'rounded-r-sm'
+ : 'rounded-sm'} center-center text-white text-2xs whitespace-nowrap hover:outline outline-1 outline-black"
>
-
{id}
+ >
+ {/snippet}
{#if len > 0}
{#if len}{msToSec(len, 1)}s{/if}
-