mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-19 09:50:15 +01:00
🔄 refactor: improved RAG animations/messages (#2616)
* fix: warning slow process rag message * refactor: improved useProgress hook for Files
This commit is contained in:
parent
b77bd19092
commit
2aec4a6250
4 changed files with 52 additions and 11 deletions
|
|
@ -5,9 +5,21 @@ import useLocalize from '~/hooks/useLocalize';
|
|||
export const useDelayedUploadToast = () => {
|
||||
const localize = useLocalize();
|
||||
const { showToast } = useToastContext();
|
||||
const [uploadTimers, setUploadTimers] = useState({});
|
||||
const [uploadTimers, setUploadTimers] = useState<Record<string, NodeJS.Timeout>>({});
|
||||
|
||||
const determineDelay = (fileSize: number): number => {
|
||||
const baseDelay = 5000;
|
||||
const additionalDelay = Math.floor(fileSize / 1000000) * 2000;
|
||||
return baseDelay + additionalDelay;
|
||||
};
|
||||
|
||||
const startUploadTimer = (fileId: string, fileName: string, fileSize: number) => {
|
||||
const delay = determineDelay(fileSize);
|
||||
|
||||
if (uploadTimers[fileId]) {
|
||||
clearTimeout(uploadTimers[fileId]);
|
||||
}
|
||||
|
||||
const startUploadTimer = (fileId: string, fileName: string) => {
|
||||
const timer = setTimeout(() => {
|
||||
const message = localize('com_ui_upload_delay', fileName);
|
||||
showToast({
|
||||
|
|
@ -15,7 +27,7 @@ export const useDelayedUploadToast = () => {
|
|||
status: 'warning',
|
||||
duration: 7000,
|
||||
});
|
||||
}, 3000); // 3 seconds delay
|
||||
}, delay);
|
||||
|
||||
setUploadTimers((prev) => ({ ...prev, [fileId]: timer }));
|
||||
};
|
||||
|
|
@ -24,7 +36,7 @@ export const useDelayedUploadToast = () => {
|
|||
if (uploadTimers[fileId]) {
|
||||
clearTimeout(uploadTimers[fileId]);
|
||||
setUploadTimers((prev) => {
|
||||
const { [fileId]: _, ...rest } = prev as Record<string, unknown>;
|
||||
const { [fileId]: _, ...rest } = prev;
|
||||
return rest;
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ const useFileHandling = (params?: UseFileHandling) => {
|
|||
return;
|
||||
}
|
||||
|
||||
startUploadTimer(extendedFile.file_id, extendedFile.file?.name || 'File');
|
||||
startUploadTimer(extendedFile.file_id, extendedFile.file?.name || 'File', extendedFile.size);
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue