mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-18 23:43:55 +01:00
Fix sidebar request focus
This commit is contained in:
@@ -46,6 +46,7 @@ export const Sidebar = memo(function Sidebar({ className }: Props) {
|
||||
(forcedIndex?: number) => {
|
||||
const index = forcedIndex ?? requests.findIndex((r) => r.id === activeRequestId);
|
||||
setSelectedIndex(index >= 0 ? index : 0);
|
||||
setHasFocus(true);
|
||||
sidebarRef.current?.focus();
|
||||
},
|
||||
[activeRequestId, requests],
|
||||
@@ -63,7 +64,7 @@ export const Sidebar = memo(function Sidebar({ className }: Props) {
|
||||
[activeRequestId, focusActiveRequest, requests, routes],
|
||||
);
|
||||
|
||||
const handleFocus = useCallback(() => setHasFocus(true), []);
|
||||
const handleFocus = useCallback(() => focusActiveRequest(), [focusActiveRequest]);
|
||||
const handleBlur = useCallback(() => setHasFocus(false), []);
|
||||
|
||||
useTauriEvent(
|
||||
|
||||
@@ -359,7 +359,14 @@ function MenuItem({ className, focused, onFocus, item, onSelect, ...props }: Men
|
||||
{...props}
|
||||
>
|
||||
{item.leftSlot && <div className="pr-2 flex justify-start">{item.leftSlot}</div>}
|
||||
<div>{item.label}</div>
|
||||
<div
|
||||
className={classnames(
|
||||
// Add padding on right when no right slot, for some visual balance
|
||||
!item.rightSlot && 'pr-4',
|
||||
)}
|
||||
>
|
||||
{item.label}
|
||||
</div>
|
||||
{item.rightSlot && <div className="ml-auto pl-3">{item.rightSlot}</div>}
|
||||
</button>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user