feat: refactor folder refresh with toast notifications and console logging for toasts.
This commit is contained in:
@@ -578,13 +578,23 @@ const useDocumentsWorkspace = ({
|
|||||||
[selectedDocumentIds],
|
[selectedDocumentIds],
|
||||||
);
|
);
|
||||||
|
|
||||||
const refreshCurrentFolder = useCallback(async () => {
|
const refreshFolderData = useCallback(async () => {
|
||||||
if (selectedFolder) {
|
if (selectedFolder) {
|
||||||
const { data, includeDocuments } = await fetchFolderData(selectedFolder);
|
const { data, includeDocuments } = await fetchFolderData(selectedFolder);
|
||||||
updateViewState(selectedFolder, data, includeDocuments);
|
updateViewState(selectedFolder, data, includeDocuments);
|
||||||
}
|
}
|
||||||
}, [selectedFolder, fetchFolderData, updateViewState]);
|
}, [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 {
|
const {
|
||||||
handleBulkTagAddFromDetail,
|
handleBulkTagAddFromDetail,
|
||||||
handleBulkTagRemoveFromDetail,
|
handleBulkTagRemoveFromDetail,
|
||||||
@@ -607,7 +617,7 @@ const useDocumentsWorkspace = ({
|
|||||||
} = useDocumentUploads({
|
} = useDocumentUploads({
|
||||||
selectedFolder,
|
selectedFolder,
|
||||||
currentFolderName,
|
currentFolderName,
|
||||||
refreshCurrentFolder,
|
refreshCurrentFolder: refreshFolderData,
|
||||||
shellRef,
|
shellRef,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -729,7 +739,6 @@ const useDocumentsWorkspace = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const actionsState = {
|
const actionsState = {
|
||||||
refreshCurrentFolder,
|
|
||||||
closeDocumentPreview,
|
closeDocumentPreview,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1109,6 +1118,7 @@ const useDocumentsWorkspace = ({
|
|||||||
openSettings,
|
openSettings,
|
||||||
closeSettings,
|
closeSettings,
|
||||||
managementModals,
|
managementModals,
|
||||||
|
refreshCurrentFolder: handleManualRefresh,
|
||||||
};
|
};
|
||||||
|
|
||||||
const uploadContext = {
|
const uploadContext = {
|
||||||
@@ -1207,7 +1217,6 @@ const useDocumentsWorkspace = ({
|
|||||||
creatingFolder,
|
creatingFolder,
|
||||||
currentSubfolders,
|
currentSubfolders,
|
||||||
breadcrumbs,
|
breadcrumbs,
|
||||||
refreshCurrentFolder,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const selectionContext = {
|
const selectionContext = {
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ export interface TagsState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ActionsState {
|
export interface ActionsState {
|
||||||
refreshCurrentFolder: () => Promise<void>;
|
|
||||||
closeDocumentPreview: CloseDocumentPreview;
|
closeDocumentPreview: CloseDocumentPreview;
|
||||||
handleFileDrop?: (dataTransfer: DataTransfer, folderId: FolderId) => Promise<void> | void;
|
handleFileDrop?: (dataTransfer: DataTransfer, folderId: FolderId) => Promise<void> | void;
|
||||||
moveDocumentsToFolder?: (docIds: FolderId[], folderId: FolderId) => Promise<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) => {
|
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 id = `toast-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
||||||
const finalDuration = duration ?? DEFAULT_DURATIONS[variant];
|
const finalDuration = duration ?? DEFAULT_DURATIONS[variant];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user