mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-23 17:18:32 +02:00
Fix sidebar request focus
This commit is contained in:
@@ -46,6 +46,7 @@ export const Sidebar = memo(function Sidebar({ className }: Props) {
|
|||||||
(forcedIndex?: number) => {
|
(forcedIndex?: number) => {
|
||||||
const index = forcedIndex ?? requests.findIndex((r) => r.id === activeRequestId);
|
const index = forcedIndex ?? requests.findIndex((r) => r.id === activeRequestId);
|
||||||
setSelectedIndex(index >= 0 ? index : 0);
|
setSelectedIndex(index >= 0 ? index : 0);
|
||||||
|
setHasFocus(true);
|
||||||
sidebarRef.current?.focus();
|
sidebarRef.current?.focus();
|
||||||
},
|
},
|
||||||
[activeRequestId, requests],
|
[activeRequestId, requests],
|
||||||
@@ -63,7 +64,7 @@ export const Sidebar = memo(function Sidebar({ className }: Props) {
|
|||||||
[activeRequestId, focusActiveRequest, requests, routes],
|
[activeRequestId, focusActiveRequest, requests, routes],
|
||||||
);
|
);
|
||||||
|
|
||||||
const handleFocus = useCallback(() => setHasFocus(true), []);
|
const handleFocus = useCallback(() => focusActiveRequest(), [focusActiveRequest]);
|
||||||
const handleBlur = useCallback(() => setHasFocus(false), []);
|
const handleBlur = useCallback(() => setHasFocus(false), []);
|
||||||
|
|
||||||
useTauriEvent(
|
useTauriEvent(
|
||||||
|
|||||||
@@ -359,7 +359,14 @@ function MenuItem({ className, focused, onFocus, item, onSelect, ...props }: Men
|
|||||||
{...props}
|
{...props}
|
||||||
>
|
>
|
||||||
{item.leftSlot && <div className="pr-2 flex justify-start">{item.leftSlot}</div>}
|
{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>}
|
{item.rightSlot && <div className="ml-auto pl-3">{item.rightSlot}</div>}
|
||||||
</button>
|
</button>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user