From 2293cc02567ac31ca4fe5f13e62641e881792325 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Wed, 21 Jun 2023 13:55:20 +0800 Subject: [PATCH] Add support for multi select labels --- packages/web/components/elements/Button.tsx | 2 +- .../templates/article/SetLabelsControl.tsx | 18 +++--- .../templates/article/SetLabelsModal.tsx | 1 - .../templates/homeFeed/HomeFeedContainer.tsx | 35 ++++++++---- .../templates/homeFeed/LibraryHeader.tsx | 56 ++++++++++++------- .../web/lib/hooks/useSetHighlightLabels.tsx | 7 +-- .../mutations/bulkActionMutation.ts | 6 +- 7 files changed, 77 insertions(+), 48 deletions(-) diff --git a/packages/web/components/elements/Button.tsx b/packages/web/components/elements/Button.tsx index e405a5995..89a7aa59d 100644 --- a/packages/web/components/elements/Button.tsx +++ b/packages/web/components/elements/Button.tsx @@ -125,7 +125,7 @@ export const Button = styled('button', { fontWeight: '600', fontFamily: '$inter', cursor: 'pointer', - border: '1px solid $thBorderSubtle', + border: '1px solid $thBorderColor', bg: 'transparent', '&:hover': { border: '1px solid $grayBorderHover', diff --git a/packages/web/components/templates/article/SetLabelsControl.tsx b/packages/web/components/templates/article/SetLabelsControl.tsx index 087e128e2..ca18b8359 100644 --- a/packages/web/components/templates/article/SetLabelsControl.tsx +++ b/packages/web/components/templates/article/SetLabelsControl.tsx @@ -18,8 +18,6 @@ export interface LabelsProvider { } type SetLabelsControlProps = { - provider: LabelsProvider - inputValue: string setInputValue: (value: string) => void clearInputState: () => void @@ -39,6 +37,8 @@ type SetLabelsControlProps = { selectOrCreateLabel: (value: string) => void errorMessage?: string + + footer?: React.ReactNode } type HeaderProps = SetLabelsControlProps & { @@ -273,7 +273,6 @@ export function SetLabelsControl(props: SetLabelsControlProps): JSX.Element { newSelectedLabels = [...props.selectedLabels, label] } props.dispatchLabels({ type: 'SAVE', labels: newSelectedLabels }) - props.provider.labels = newSelectedLabels props.clearInputState() revalidate() @@ -383,7 +382,6 @@ export function SetLabelsControl(props: SetLabelsControlProps): JSX.Element { }} >
setFocusedIndex(undefined)} inputValue={inputValue} @@ -443,10 +441,14 @@ export function SetLabelsControl(props: SetLabelsControlProps): JSX.Element { /> ))} -