From 7ad232dbbe231d2378297c48c43a5b833909c603 Mon Sep 17 00:00:00 2001
From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com>
Date: Sat, 27 Dec 2025 18:37:30 +0530
Subject: [PATCH] feature: added refresh button in manage documents page with
translation
---
.../documents/(manage)/page.tsx | 23 +++++++++++++++++--
surfsense_web/messages/en.json | 4 +++-
surfsense_web/messages/zh.json | 4 +++-
3 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx b/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx
index 065267b2e..d4c1a4578 100644
--- a/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx
+++ b/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx
@@ -2,11 +2,13 @@
import { useQuery } from "@tanstack/react-query";
import { useAtomValue } from "jotai";
+import { RefreshCw } from "lucide-react";
import { motion } from "motion/react";
import { useParams } from "next/navigation";
import { useTranslations } from "next-intl";
import { useCallback, useEffect, useId, useMemo, useState } from "react";
import { toast } from "sonner";
+import { Button } from "@/components/ui/button";
import { deleteDocumentMutationAtom } from "@/atoms/documents/document-mutation.atoms";
import { documentTypeCountsAtom } from "@/atoms/documents/document-query.atoms";
import type { DocumentTypeEnum } from "@/contracts/types/document.types";
@@ -127,7 +129,8 @@ export default function DocumentsTable() {
} else {
await refetchDocuments();
}
- }, [debouncedSearch, refetchSearch, refetchDocuments]);
+ toast.success(t("refresh_success") || "Documents refreshed");
+ }, [debouncedSearch, refetchSearch, refetchDocuments, t]);
// Create a delete function for single document deletion
const deleteDocument = useCallback(
@@ -189,8 +192,24 @@ export default function DocumentsTable() {
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.3 }}
- className="w-full px-6 py-4 min-h-[calc(100vh-64px)]"
+ className="w-full px-6 py-4 space-y-6 min-h-[calc(100vh-64px)]"
>
+
+
+
{t("title")}
+
{t("subtitle")}
+
+
+
+