From 9f02f3ec1532e0bf3144254b6cecb48b5903003d Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 11 Apr 2022 13:05:26 -0700 Subject: [PATCH] Allow selection of the bottom edit labels footer --- .../templates/article/EditLabelsControl.tsx | 51 ++++++++++++------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/packages/web/components/templates/article/EditLabelsControl.tsx b/packages/web/components/templates/article/EditLabelsControl.tsx index 5b034a14f..d4a09e38d 100644 --- a/packages/web/components/templates/article/EditLabelsControl.tsx +++ b/packages/web/components/templates/article/EditLabelsControl.tsx @@ -43,9 +43,6 @@ const FormInput = styled('input', { const StyledLabel = styled('label', { display: 'flex', justifyContent: 'flex-start', - '&:focus': { - bg: '$grayBgActive', - }, }) function Header(props: HeaderProps): JSX.Element { @@ -149,6 +146,39 @@ function LabelListItem(props: LabelListItemProps): JSX.Element { ) } +type EditLabelsButtonFooterProps = { + focused: boolean +} + +function EditLabelsButtonFooter(props: EditLabelsButtonFooterProps): JSX.Element { + const ref = useRef(null) + + useEffect(() => { + if (props.focused && ref.current) { + ref.current.focus() + } + }, [props.focused]) + + return ( + + + Edit labels + + ) +} + export function EditLabelsControl(props: EditLabelsControlProps): JSX.Element { const [filterText, setFilterText] = useState('') const { labels } = useGetLabelsQuery() @@ -211,7 +241,6 @@ export function EditLabelsControl(props: EditLabelsControlProps): JSX.Element { } else { setFocusedIndex(Math.min(maxIndex, focusedIndex + 1)) } - console.log('focusedIndex', focusedIndex) } if (event.key === 'Enter') { event.preventDefault() @@ -275,19 +304,7 @@ export function EditLabelsControl(props: EditLabelsControlProps): JSX.Element { )} - - - Edit labels - + ) } \ No newline at end of file