Fix sidebar request focus

This commit is contained in:
Gregory Schier
2023-04-09 22:03:41 -07:00
parent 0f33fd2588
commit d9916f520e
2 changed files with 10 additions and 2 deletions

View File

@@ -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(

View File

@@ -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>
); );