feat: refactor folder refresh with toast notifications and console logging for toasts.
This commit is contained in:
@@ -578,13 +578,23 @@ const useDocumentsWorkspace = ({
|
||||
[selectedDocumentIds],
|
||||
);
|
||||
|
||||
const refreshCurrentFolder = useCallback(async () => {
|
||||
const refreshFolderData = useCallback(async () => {
|
||||
if (selectedFolder) {
|
||||
const { data, includeDocuments } = await fetchFolderData(selectedFolder);
|
||||
updateViewState(selectedFolder, data, includeDocuments);
|
||||
}
|
||||
}, [selectedFolder, fetchFolderData, updateViewState]);
|
||||
|
||||
const handleManualRefresh = useCallback(async () => {
|
||||
try {
|
||||
await refreshFolderData();
|
||||
showToast('Folder refreshed successfully', 'success');
|
||||
} catch (error) {
|
||||
showToast('Failed to refresh folder', 'error');
|
||||
console.error('Failed to refresh folder:', error);
|
||||
}
|
||||
}, [refreshFolderData, showToast]);
|
||||
|
||||
const {
|
||||
handleBulkTagAddFromDetail,
|
||||
handleBulkTagRemoveFromDetail,
|
||||
@@ -607,7 +617,7 @@ const useDocumentsWorkspace = ({
|
||||
} = useDocumentUploads({
|
||||
selectedFolder,
|
||||
currentFolderName,
|
||||
refreshCurrentFolder,
|
||||
refreshCurrentFolder: refreshFolderData,
|
||||
shellRef,
|
||||
});
|
||||
|
||||
@@ -729,7 +739,6 @@ const useDocumentsWorkspace = ({
|
||||
};
|
||||
|
||||
const actionsState = {
|
||||
refreshCurrentFolder,
|
||||
closeDocumentPreview,
|
||||
};
|
||||
|
||||
@@ -1109,6 +1118,7 @@ const useDocumentsWorkspace = ({
|
||||
openSettings,
|
||||
closeSettings,
|
||||
managementModals,
|
||||
refreshCurrentFolder: handleManualRefresh,
|
||||
};
|
||||
|
||||
const uploadContext = {
|
||||
@@ -1207,7 +1217,6 @@ const useDocumentsWorkspace = ({
|
||||
creatingFolder,
|
||||
currentSubfolders,
|
||||
breadcrumbs,
|
||||
refreshCurrentFolder,
|
||||
};
|
||||
|
||||
const selectionContext = {
|
||||
|
||||
@@ -81,7 +81,6 @@ export interface TagsState {
|
||||
}
|
||||
|
||||
export interface ActionsState {
|
||||
refreshCurrentFolder: () => Promise<void>;
|
||||
closeDocumentPreview: CloseDocumentPreview;
|
||||
handleFileDrop?: (dataTransfer: DataTransfer, folderId: FolderId) => Promise<void> | void;
|
||||
moveDocumentsToFolder?: (docIds: FolderId[], folderId: FolderId) => Promise<void>;
|
||||
|
||||
@@ -43,6 +43,15 @@ export const StatusToastProvider: React.FC<{ children: React.ReactNode }> = ({ c
|
||||
}, []);
|
||||
|
||||
const showToast = useCallback((message: string, variant: ToastVariant = 'info', duration?: number) => {
|
||||
// Log to console based on variant
|
||||
if (variant === 'error') {
|
||||
console.error(`[Toast] ${message}`);
|
||||
} else if (variant === 'success') {
|
||||
console.log(`[Toast] ${message}`);
|
||||
} else {
|
||||
console.info(`[Toast] ${message}`);
|
||||
}
|
||||
|
||||
const id = `toast-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
||||
const finalDuration = duration ?? DEFAULT_DURATIONS[variant];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user