diff --git a/frontend/src/lib/components/ServiceLogsInner.svelte b/frontend/src/lib/components/ServiceLogsInner.svelte
index 85c6cf7fb9..03cd5bf676 100644
--- a/frontend/src/lib/components/ServiceLogsInner.svelte
+++ b/frontend/src/lib/components/ServiceLogsInner.svelte
@@ -10,8 +10,10 @@
import Toggle from './Toggle.svelte'
import TextInput from './text_input/TextInput.svelte'
import Popover from './Popover.svelte'
+ // The clickable one, for the folded switches; the import above is the hover tooltip.
+ import MeltPopover from './meltComponents/Popover.svelte'
import { sendUserToast } from '$lib/toast'
- import { onDestroy, tick, type Snippet } from 'svelte'
+ import { onDestroy, tick } from 'svelte'
import { fade } from 'svelte/transition'
import {
AlertTriangle,
@@ -22,7 +24,8 @@
Loader2,
ScrollText,
Search,
- SearchX
+ SearchX,
+ SlidersHorizontal
} from 'lucide-svelte'
import { copyToClipboard, scroll_into_view_if_needed_polyfill, truncateRev } from '$lib/utils'
import LogSnippetViewer from './LogSnippetViewer.svelte'
@@ -33,15 +36,24 @@
import { goto } from '$lib/navigation'
import { page } from '$app/state'
import { watch } from 'runed'
+ import Tooltip from './Tooltip.svelte'
+ import PageHeaderContent from './PageHeaderContent.svelte'
+ import { pageHeader } from './pageHeaderRegistry.svelte'
interface Props {
searchTerm: string
tagLabel?: string
- /** Rendered at the start of the toolbar row, so the page title shares it. */
- title?: Snippet
}
- let { searchTerm = $bindable(), tagLabel, title }: Props = $props()
+ let { searchTerm = $bindable(), tagLabel }: Props = $props()
+
+ /** Bar width below which the two switches fold into a popover. Measured: the breadcrumb takes
+ * ~360, the search field asks for 384 and the timeframe 223, so under this the field is what
+ * would start giving width back — and it is the control the page exists for. */
+ const COMPACT_SWITCHES_BAR = 1200
+ const compactSwitches = $derived(
+ pageHeader.barWidth > 0 && pageHeader.barWidth < COMPACT_SWITCHES_BAR
+ )
let queryParseErrors: string[] | undefined = $state(undefined)
@@ -692,88 +704,135 @@
-