import type { FolderNode, SidebarSelection, VaultEntry } from '../types' import type { FolderTab } from './folder-actions/folderActionUtils' import { useFolderDelete } from './folder-actions/useFolderDelete' import { useFolderRename } from './folder-actions/useFolderRename' interface UseFolderActionsInput { vaultPath: string selection: SidebarSelection setSelection: (selection: SidebarSelection) => void setTabs: React.Dispatch> activeTabPathRef: React.MutableRefObject handleSwitchTab: (path: string) => void closeAllTabs: () => void reloadVault: () => Promise reloadFolders: () => Promise setToastMessage: (message: string | null) => void } export function useFolderActions({ vaultPath, selection, setSelection, setTabs, activeTabPathRef, handleSwitchTab, closeAllTabs, reloadVault, reloadFolders, setToastMessage, }: UseFolderActionsInput) { const renameActions = useFolderRename({ activeTabPathRef, handleSwitchTab, reloadFolders, reloadVault, selection, setSelection, setTabs, setToastMessage, vaultPath, }) const deleteActions = useFolderDelete({ activeTabPathRef, clearFolderRename: renameActions.cancelFolderRename, closeAllTabs, reloadFolders, reloadVault, selection, setSelection, setTabs, setToastMessage, vaultPath, }) return { ...renameActions, ...deleteActions, } }