diff --git a/.vscode/settings.json b/.vscode/settings.json index b54297c..c68891b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -131,6 +131,7 @@ "SARIF", "scipy", "screeninfo", + "selectables", "serde", "setuptools", "shadcn", diff --git a/src/components/multiple-selector.tsx b/src/components/multiple-selector.tsx index d6471dd..ba3404c 100644 --- a/src/components/multiple-selector.tsx +++ b/src/components/multiple-selector.tsx @@ -352,6 +352,10 @@ const MultipleSelector = React.forwardRef< [options, selected], ); + const hasAvailableOptions = React.useMemo(() => { + return Object.values(selectables).some((group) => group.length > 0); + }, [selectables]); + /** Avoid Creatable Selector freezing or lagging when paste a long string. */ const commandFilter = React.useCallback(() => { if (commandProps?.filter) { @@ -499,7 +503,7 @@ const MultipleSelector = React.forwardRef< "flex-1 bg-transparent outline-none placeholder:text-muted-foreground", { "w-full": hidePlaceholderWhenSelected, - "px-3 py-2": selected.length === 0, + "px-3 mt-1": selected.length === 0, "ml-1": selected.length !== 0, }, inputProps?.className, @@ -508,7 +512,7 @@ const MultipleSelector = React.forwardRef<
- {open && ( + {open && hasAvailableOptions && ( {isLoading ? ( loadingIndicator diff --git a/src/components/profile-data-table.tsx b/src/components/profile-data-table.tsx index 7eb0348..9a2ebf8 100644 --- a/src/components/profile-data-table.tsx +++ b/src/components/profile-data-table.tsx @@ -263,7 +263,7 @@ const TagsCell = React.memo<{ creatable selectFirstItem={false} placeholder={effectiveTags.length === 0 ? "Add tags" : ""} - className="bg-transparent" + className="overflow-x-hidden overflow-y-scroll h-7 bg-transparent" badgeClassName="" inputProps={{ className: "py-1",