This commit is contained in:
2025-11-09 19:08:24 +01:00
parent 14b4dd434c
commit 3c1c910dc9
12 changed files with 2561 additions and 1431 deletions
+117
View File
@@ -0,0 +1,117 @@
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,
}) =>
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,
}),
[
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;