refactor: use useMemo instead of useCallback for groups builder in CommandPalette
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { useState, useEffect, useRef, useCallback } from 'react'
|
import { useState, useEffect, useRef, useCallback, useMemo } from 'react'
|
||||||
import { useNavigate } from 'react-router-dom'
|
import { useNavigate } from 'react-router-dom'
|
||||||
import {
|
import {
|
||||||
Search, Loader2, ArrowRight, FileText, Clock,
|
Search, Loader2, ArrowRight, FileText, Clock,
|
||||||
@@ -136,7 +136,7 @@ export function CommandPalette({ open, onClose }: CommandPaletteProps) {
|
|||||||
}, [query])
|
}, [query])
|
||||||
|
|
||||||
// Build groups based on intent and search results
|
// Build groups based on intent and search results
|
||||||
const groups = useCallback((): Group[] => {
|
const builtGroups = useMemo((): Group[] => {
|
||||||
const trimmed = query.trim()
|
const trimmed = query.trim()
|
||||||
const intent = detectIntent(trimmed)
|
const intent = detectIntent(trimmed)
|
||||||
const lower = trimmed.toLowerCase()
|
const lower = trimmed.toLowerCase()
|
||||||
@@ -243,8 +243,6 @@ export function CommandPalette({ open, onClose }: CommandPaletteProps) {
|
|||||||
return result
|
return result
|
||||||
}, [query, searchFlows, searchSessions, user])
|
}, [query, searchFlows, searchSessions, user])
|
||||||
|
|
||||||
const builtGroups = groups()
|
|
||||||
|
|
||||||
// Flatten all items for keyboard navigation
|
// Flatten all items for keyboard navigation
|
||||||
const flatItems: PaletteItem[] = builtGroups.flatMap(g => g.items)
|
const flatItems: PaletteItem[] = builtGroups.flatMap(g => g.items)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user