mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-06 03:00:16 -04:00
fix(knowledge): fix search input flicker on clear and plan display name fallback (#3810)
This commit is contained in:
@@ -60,16 +60,22 @@ export function Knowledge() {
|
||||
const { mutateAsync: updateKnowledgeBaseMutation } = useUpdateKnowledgeBase(workspaceId)
|
||||
const { mutateAsync: deleteKnowledgeBaseMutation } = useDeleteKnowledgeBase(workspaceId)
|
||||
|
||||
const [searchInputValue, setSearchInputValue] = useState('')
|
||||
const [debouncedSearchQuery, setDebouncedSearchQuery] = useState('')
|
||||
const searchTimerRef = useRef<ReturnType<typeof setTimeout>>(null)
|
||||
|
||||
const handleSearchChange = useCallback((value: string) => {
|
||||
setSearchInputValue(value)
|
||||
if (searchTimerRef.current) clearTimeout(searchTimerRef.current)
|
||||
searchTimerRef.current = setTimeout(() => {
|
||||
setDebouncedSearchQuery(value)
|
||||
}, 300)
|
||||
}, [])
|
||||
|
||||
const handleSearchClearAll = useCallback(() => {
|
||||
handleSearchChange('')
|
||||
}, [handleSearchChange])
|
||||
|
||||
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false)
|
||||
|
||||
const [activeKnowledgeBase, setActiveKnowledgeBase] = useState<KnowledgeBaseWithDocCount | null>(
|
||||
@@ -256,12 +262,12 @@ export function Knowledge() {
|
||||
|
||||
const searchConfig: SearchConfig = useMemo(
|
||||
() => ({
|
||||
value: debouncedSearchQuery,
|
||||
value: searchInputValue,
|
||||
onChange: handleSearchChange,
|
||||
onClearAll: () => handleSearchChange(''),
|
||||
onClearAll: handleSearchClearAll,
|
||||
placeholder: 'Search knowledge bases...',
|
||||
}),
|
||||
[handleSearchChange, debouncedSearchQuery]
|
||||
[searchInputValue, handleSearchChange, handleSearchClearAll]
|
||||
)
|
||||
|
||||
return (
|
||||
|
||||
@@ -138,8 +138,11 @@ export function WorkspaceHeader({
|
||||
const currentPlan = subscriptionResponse?.data?.plan
|
||||
const showPlanInfo = isBillingEnabled && typeof currentPlan !== 'undefined'
|
||||
const rawPlanName = showPlanInfo ? getDisplayPlanName(currentPlan) : ''
|
||||
const planDisplayName =
|
||||
showPlanInfo && rawPlanName.includes('for Teams') ? rawPlanName : `${rawPlanName} Plan`
|
||||
const planDisplayName = showPlanInfo
|
||||
? rawPlanName.includes('for Teams')
|
||||
? rawPlanName
|
||||
: `${rawPlanName} Plan`
|
||||
: ''
|
||||
const isFreePlan = showPlanInfo && isFree(currentPlan)
|
||||
|
||||
// Listen for open-invite-modal event from context menu
|
||||
|
||||
Reference in New Issue
Block a user