+ // min-w-0 (no shrink-0): group can yield space to neighboring toolbar
+ // controls; calendar + clear stay shrink-0; query text truncates.
+
props.onExpandedChange(true)}
className={cn(
- 'relative flex min-w-0 items-center gap-1 transition-colors',
+ 'relative flex min-h-[40px] items-center gap-1 transition-colors',
hasTextQuery
- ? 'flex-1 rounded-l-full bg-[var(--app-chat-user-chip-bg)] px-2 py-1 text-[var(--app-chat-user-chip-fg)] hover:opacity-90'
- : 'shrink-0 rounded-full p-1.5 text-[var(--app-hint)] hover:bg-[var(--app-subtle-bg)] hover:text-[var(--app-fg)]'
+ ? 'min-w-0 flex-1 rounded-l-full bg-[var(--app-chat-user-chip-bg)] px-2 py-1 text-[var(--app-chat-user-chip-fg)] hover:opacity-90'
+ : 'min-w-[40px] shrink-0 rounded-full p-2 text-[var(--app-hint)] hover:bg-[var(--app-subtle-bg)] hover:text-[var(--app-fg)]'
)}
title={collapsedLabel}
aria-label={collapsedLabel}
@@ -870,21 +900,24 @@ export function SessionListSearch(props: {
// the collapsed search trigger instead of dropping to body.
collapsedButtonRef.current?.focus()
}}
- className="flex h-7 w-7 shrink-0 items-center justify-center rounded-r-full bg-[var(--app-chat-user-chip-action-bg)] text-[var(--app-chat-user-chip-action-fg)] transition-colors hover:text-[var(--app-chat-user-chip-action-hover-fg)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--app-link)] focus-visible:ring-inset"
+ className="flex h-10 w-10 min-h-[40px] min-w-[40px] shrink-0 items-center justify-center rounded-r-full bg-[var(--app-chat-user-chip-action-bg)] text-[var(--app-chat-user-chip-action-fg)] transition-colors hover:text-[var(--app-chat-user-chip-action-hover-fg)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--app-link)] focus-visible:ring-inset"
title={t('sessions.search.clear')}
aria-label={t('sessions.search.clear')}
>
-
+
) : null}
- {renderDateFilter('standalone')}
+ {renderDateButton('standalone')}
+ {datePicker}
)
}
return (
{
if (!event.currentTarget.contains(event.relatedTarget as Node | null)) {
@@ -892,40 +925,39 @@ export function SessionListSearch(props: {
}
}}
>
-
-
-
-
props.onChange(event.target.value)}
- placeholder={t('sessions.search.placeholder')}
- aria-label={searchLabel}
- title={searchLabel}
- className={cn(
- 'w-full appearance-none rounded-lg border border-[var(--app-border)] bg-[var(--app-bg)] py-1.5 pl-8 text-sm text-[var(--app-fg)] outline-none transition-colors placeholder:text-[var(--app-hint)] [text-overflow:ellipsis] focus:border-[var(--app-link)] [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden',
- props.value ? 'pr-16' : 'pr-7'
- )}
- />
- {props.value ? (
-
- ) : null}
-
- {renderDateFilter('embedded')}
+
+
+
+
+
props.onChange(event.target.value)}
+ placeholder={t('sessions.search.placeholder')}
+ aria-label={searchLabel}
+ title={searchLabel}
+ className="min-w-0 flex-1 appearance-none bg-transparent px-2 py-1.5 text-sm text-[var(--app-fg)] outline-none placeholder:text-[var(--app-hint)] [text-overflow:ellipsis] [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden"
+ />
+ {renderDateButton('embedded')}
+ {props.value ? (
+
+ ) : null}
+ {datePicker}
)
}