From ddef39fefab077e15cf209be8e4e6443c1215571 Mon Sep 17 00:00:00 2001
From: Mees Frensel <33722705+meesfrensel@users.noreply.github.com>
Date: Sat, 19 Sep 2026 02:05:03 +0200
Subject: [PATCH] fix(ui): wrap control bar when content is too long (#815)
---
.../control-bar/BasicExample.svelte | 31 ++++++++++++++++++-
.../components/ControlBar/ControlBar.svelte | 9 +++---
.../ControlBar/ControlBarTitle.svelte | 3 +-
3 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/apps/ui.immich.app/src/routes/(docs)/components/control-bar/BasicExample.svelte b/apps/ui.immich.app/src/routes/(docs)/components/control-bar/BasicExample.svelte
index 9976b2a2..5fdef203 100644
--- a/apps/ui.immich.app/src/routes/(docs)/components/control-bar/BasicExample.svelte
+++ b/apps/ui.immich.app/src/routes/(docs)/components/control-bar/BasicExample.svelte
@@ -1,9 +1,24 @@
@@ -12,4 +27,18 @@
2 Selected
+
+ Narrow screen
+
+
+
+ Very long person or workflow name
+ Pictures of Mich
+
+
+
+
+
+
+
diff --git a/packages/ui/src/lib/components/ControlBar/ControlBar.svelte b/packages/ui/src/lib/components/ControlBar/ControlBar.svelte
index 56616da1..a8bde94d 100644
--- a/packages/ui/src/lib/components/ControlBar/ControlBar.svelte
+++ b/packages/ui/src/lib/components/ControlBar/ControlBar.svelte
@@ -25,7 +25,7 @@
}: ControlBarProps = $props();
const styles = tv({
- base: `h-control-bar flex w-full items-center gap-2 px-2`,
+ base: `min-h-control-bar flex flex-wrap w-full items-center gap-2 p-2`,
variants: {
variant: {
filled: 'bg-light-100',
@@ -60,7 +60,7 @@
class={cleanClass(styles({ shape, variant }), className)}
{...restProps}
>
-
+
{#if typeof closeIcon === 'function'}
{@render closeIcon?.()}
{:else if onClose}
@@ -70,13 +70,14 @@
shape="round"
variant="ghost"
color="secondary"
+ class="shrink-0"
aria-label={t('close', translations)}
onclick={() => onClose()}
/>
{/if}
{#if headerChild}
-
+
{@render headerChild.children?.()}
{/if}
@@ -87,7 +88,7 @@
{#if overflowChild}
-
+
{@render overflowChild.children?.()}
{/if}
diff --git a/packages/ui/src/lib/components/ControlBar/ControlBarTitle.svelte b/packages/ui/src/lib/components/ControlBar/ControlBarTitle.svelte
index 86d66313..8fceb91e 100644
--- a/packages/ui/src/lib/components/ControlBar/ControlBarTitle.svelte
+++ b/packages/ui/src/lib/components/ControlBar/ControlBarTitle.svelte
@@ -1,6 +1,7 @@
-
+
{@render children?.()}