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:
chihlasm
2026-03-16 00:59:26 -04:00
parent 05c77509e4
commit b5de60e6d5

View File

@@ -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 {
Search, Loader2, ArrowRight, FileText, Clock,
@@ -136,7 +136,7 @@ export function CommandPalette({ open, onClose }: CommandPaletteProps) {
}, [query])
// Build groups based on intent and search results
const groups = useCallback((): Group[] => {
const builtGroups = useMemo((): Group[] => {
const trimmed = query.trim()
const intent = detectIntent(trimmed)
const lower = trimmed.toLowerCase()
@@ -243,8 +243,6 @@ export function CommandPalette({ open, onClose }: CommandPaletteProps) {
return result
}, [query, searchFlows, searchSessions, user])
const builtGroups = groups()
// Flatten all items for keyboard navigation
const flatItems: PaletteItem[] = builtGroups.flatMap(g => g.items)