Skip to content

Commit b62e746

Browse files
committed
cleanup
1 parent 444113b commit b62e746

File tree

1 file changed

+1
-16
lines changed

1 file changed

+1
-16
lines changed

apps/roam/src/components/FuzzySelectInput.tsx

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,26 +45,22 @@ const FuzzySelectInput = <T extends Result = Result>({
4545
const menuRef = useRef<HTMLUListElement>(null);
4646
const inputRef = useRef<HTMLInputElement>(null);
4747

48-
// Fuzzy filter options
4948
const filteredItems = useMemo(() => {
5049
if (!query) return options;
5150
return fuzzy
5251
.filter(query, options, { extract: (item) => item.text })
5352
.map((result) => result.original);
5453
}, [query, options]);
5554

56-
// Handle option selection
5755
const handleSelect = useCallback(
5856
(item: T) => {
5957
if (mode === "create" && item.uid && item.uid !== initialUid) {
60-
// Lock the value
6158
setIsLocked(true);
6259
setQuery(item.text);
6360
setValue(item);
6461
setIsOpen(false);
6562
onLockedChange?.(true);
6663
} else {
67-
// Just update the value
6864
setQuery(item.text);
6965
setValue(item);
7066
setIsOpen(false);
@@ -73,15 +69,13 @@ const FuzzySelectInput = <T extends Result = Result>({
7369
[mode, initialUid, setValue, onLockedChange],
7470
);
7571

76-
// Handle clear locked value
7772
const handleClear = useCallback(() => {
7873
setIsLocked(false);
7974
setQuery("");
8075
setValue({ ...value, text: "", uid: "" } as T);
8176
onLockedChange?.(false);
8277
}, [value, setValue, onLockedChange]);
8378

84-
// Handle keyboard navigation
8579
const handleKeyDown = useCallback(
8680
(e: React.KeyboardEvent<HTMLInputElement>) => {
8781
if (e.key === "ArrowDown") {
@@ -106,15 +100,12 @@ const FuzzySelectInput = <T extends Result = Result>({
106100
[filteredItems, activeIndex, isOpen, handleSelect],
107101
);
108102

109-
// Update value as user types
110103
useEffect(() => {
111104
if (mode === "create" && !isLocked) {
112105
setValue({ text: query, uid: "" } as T);
113106
}
114107
}, [query, mode, isLocked, setValue]);
115108

116-
// Open/close dropdown based on filtered items
117-
// Only show dropdown if input is focused
118109
useEffect(() => {
119110
if (isFocused && filteredItems.length > 0 && query) {
120111
setIsOpen(true);
@@ -123,12 +114,10 @@ const FuzzySelectInput = <T extends Result = Result>({
123114
}
124115
}, [filteredItems.length, query, isFocused]);
125116

126-
// Reset active index when filtered items change
127117
useEffect(() => {
128118
setActiveIndex(0);
129119
}, [filteredItems]);
130120

131-
// Scroll active item into view
132121
useEffect(() => {
133122
if (menuRef.current && isOpen) {
134123
const activeElement = menuRef.current.children[
@@ -143,7 +132,6 @@ const FuzzySelectInput = <T extends Result = Result>({
143132
}
144133
}, [activeIndex, isOpen]);
145134

146-
// Edit mode: simple TextArea
147135
if (mode === "edit") {
148136
return (
149137
<TextArea
@@ -160,7 +148,6 @@ const FuzzySelectInput = <T extends Result = Result>({
160148
);
161149
}
162150

163-
// Create mode: locked value display
164151
if (isLocked) {
165152
return (
166153
<div className="flex w-full items-center gap-2">
@@ -181,7 +168,6 @@ const FuzzySelectInput = <T extends Result = Result>({
181168
);
182169
}
183170

184-
// Create mode: fuzzy search input
185171
return (
186172
<Popover
187173
isOpen={isOpen}
@@ -234,5 +220,4 @@ const FuzzySelectInput = <T extends Result = Result>({
234220
);
235221
};
236222

237-
export default FuzzySelectInput;
238-
223+
export default FuzzySelectInput;

0 commit comments

Comments
 (0)