diff --git a/src/renderer/features/now-playing/components/play-queue-list-controls.tsx b/src/renderer/features/now-playing/components/play-queue-list-controls.tsx index f4e72d12c..5b2c89cf9 100644 --- a/src/renderer/features/now-playing/components/play-queue-list-controls.tsx +++ b/src/renderer/features/now-playing/components/play-queue-list-controls.tsx @@ -16,6 +16,8 @@ import { SearchInput } from '/@/renderer/features/shared/components/search-input import { useCurrentServer, usePlayerStoreBase } from '/@/renderer/store'; import { hasFeature } from '/@/shared/api/utils'; import { ActionIcon } from '/@/shared/components/action-icon/action-icon'; +import { Box } from '/@/shared/components/box/box'; +import { Divider } from '/@/shared/components/divider/divider'; import { Group } from '/@/shared/components/group/group'; import { ServerFeature } from '/@/shared/types/features-types'; import { ItemListKey, ListDisplayType } from '/@/shared/types/types'; @@ -33,6 +35,52 @@ export const PlayQueueListControls = ({ tableRef, type, }: PlayQueueListOptionsProps) => { + return ( + + + + + + + + handleSearch(e.target.value)} + value={searchTerm} + /> + + + + + + + ); +}; + +const QueuePlaybackIcons = ({ tableRef }: { tableRef: RefObject }) => { const { t } = useTranslation(); const player = usePlayer(); @@ -52,53 +100,29 @@ export const PlayQueueListControls = ({ }; return ( - - - - - - - - - handleSearch(e.target.value)} - value={searchTerm} - /> - - - + <> + + + + ); }; diff --git a/src/renderer/features/shared/components/search-input.tsx b/src/renderer/features/shared/components/search-input.tsx index ac5836af6..dedb26b08 100644 --- a/src/renderer/features/shared/components/search-input.tsx +++ b/src/renderer/features/shared/components/search-input.tsx @@ -19,6 +19,7 @@ import { useHotkeys } from '/@/shared/hooks/use-hotkeys'; interface SearchInputProps extends TextInputProps { buttonProps?: Partial; enableHotkey?: boolean; + fillContainer?: boolean; inputProps?: Partial; value?: string; } @@ -26,6 +27,7 @@ interface SearchInputProps extends TextInputProps { export const SearchInput = ({ buttonProps, enableHotkey = true, + fillContainer = false, inputProps, onChange, ...props @@ -104,9 +106,17 @@ export const SearchInput = ({ overflow: 'hidden', position: 'relative', transition: 'width 0.3s ease-in-out', - width: shouldExpand ? '200px' : '36px', + ...(fillContainer + ? { + flex: '1 1 0', + minWidth: 0, + width: shouldExpand ? '100%' : '36px', + } + : { + width: shouldExpand ? '200px' : '36px', + }), }), - [shouldExpand], + [fillContainer, shouldExpand], ); const buttonStyle: CSSProperties = useMemo( @@ -135,7 +145,7 @@ export const SearchInput = ({ } - maw="20dvw" + maw={fillContainer ? '100%' : '20dvw'} {...inputProps} onBlur={handleBlur} onChange={onChange}