import { useMemo } from 'react'; import { TAG_FILTER_UNTAGGED } from '../app/appLayoutUtils'; const useSidebarProps = ({ folderNodes, folderClickHandlers, handleFolderDelete, handleFolderRename, selectedFolder, handleFolderDragStart, handleFolderDragEnd, draggedFolderId, handlePromptCreateFolder, creatingFolder, tags, activeTagFilters, toggleTagFilter, handleTagCreate, correspondents, activeCorrespondentFilters, toggleCorrespondentFilter, handleCorrespondentCreate, appStatus, loading, previewActive, searchQuery, handleSearchChange, handleSearchSubmit, clearFilters, isFilterActive, handleLogout, status, tenantName, tenantOptions, currentTenantId, handleTenantSelect, openSettings, handleFileSelection, }) => useMemo( () => ({ folderNodes, onToggle: folderClickHandlers.onToggle, onSelect: folderClickHandlers.onSelect, onDrop: folderClickHandlers.onDrop, onDragOver: folderClickHandlers.onDragOver, onDragLeave: folderClickHandlers.onDragLeave, onDeleteFolder: handleFolderDelete, onRenameFolder: handleFolderRename, selectedFolder, onFolderDragStart: handleFolderDragStart, onFolderDragEnd: handleFolderDragEnd, draggedFolderId, onCreateFolder: handlePromptCreateFolder, creatingFolder, tags, untaggedFilterId: TAG_FILTER_UNTAGGED, activeTagIds: activeTagFilters, onToggleTagFilter: toggleTagFilter, onCreateTag: (label) => handleTagCreate({ label }), correspondents, activeCorrespondentIds: activeCorrespondentFilters, onToggleCorrespondentFilter: toggleCorrespondentFilter, onCreateCorrespondent: (name) => handleCorrespondentCreate({ name }), appStatus, loading, previewActive, searchQuery, onSearchChange: handleSearchChange, onSearchSubmit: handleSearchSubmit, onSearchClear: clearFilters, isFilterActive, onLogout: handleLogout, status, tenantName, tenants: tenantOptions, activeTenantId: currentTenantId, onSelectTenant: handleTenantSelect, onOpenSettings: openSettings, onUploadFiles: (files, targetFolderId) => { if (!handleFileSelection) { return; } if (!files || files.length === 0) { return; } const folderId = targetFolderId ?? selectedFolder ?? 'root'; handleFileSelection(files, folderId); }, }), [ handleFileSelection, activeCorrespondentFilters, activeTagFilters, appStatus, clearFilters, correspondents, creatingFolder, currentTenantId, folderClickHandlers, folderNodes, handleCorrespondentCreate, handleFolderDragEnd, handleFolderDragStart, handleFolderDelete, handleFolderRename, handleLogout, handlePromptCreateFolder, handleSearchChange, handleSearchSubmit, handleTagCreate, handleTenantSelect, isFilterActive, loading, openSettings, previewActive, searchQuery, draggedFolderId, selectedFolder, status, tags, tenantName, tenantOptions, toggleCorrespondentFilter, toggleTagFilter, ], ); export default useSidebarProps;