diff --git a/public/icons/private.svg b/public/icons/private.svg
new file mode 100644
index 0000000..5c0eb3f
--- /dev/null
+++ b/public/icons/private.svg
@@ -0,0 +1 @@
+
+    
       {/* Download Button */}
       
 handleDownload(fileId, fileName)}
-        className="flex items-center justify-center rounded-full bg-blue-500 p-2 hover:bg-blue-600"
+      onClick={() => handleDownload(fileId, fileName)}
+      className="flex items-center justify-center rounded-full bg-blue-500 p-2 hover:bg-blue-600"
       >
-         
 
       {/* Copy URL Button */}
       
 handleCopyUrl(fileUrl)}
-        className="flex items-center justify-center rounded-full bg-green-500 p-2 hover:bg-green-600"
+      onClick={() => {
+        handleCopyUrl(fileUrl);
+        toast.success("File URL copied to clipboard!");
+      }}
+      className="flex items-center justify-center rounded-full bg-green-500 p-2 hover:bg-green-600"
       >
-         
+
       {/* Remove Button */}
       {isOwner && (
       
 handleRemove(fileId)}
+        onClick={async () => {
+        try {
+          await handleRemove(fileId);
+          toast.success("File removed successfully!");
+        } catch (err) {
+          toast.error("Failed to remove file.");
+          console.error(err);
+        }
+        }}
         className="flex items-center justify-center rounded-full bg-red-500 p-2 hover:bg-red-600"
       >
-         
       )}
+
+      {/* Public/Private Toggle */}
       {isOwner && (
-        
-        
-          Public:
-         
-        
-          
-          {/* Toggle Handle */}
-          
-         
-      
+      
 {
+        const newIsPublic = !isPublic;
+        try {
+          const response = await fetch(`/api/files/update-public`, {
+          method: "POST",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          body: JSON.stringify({
+            fileId: fileId,
+            isPublic: newIsPublic,
+          }),
+          });
+          if (!response.ok) {
+          throw new Error("Failed to update public status");
+          }
+          setIsPublic(newIsPublic); // Update local state
+          toast.success(
+          `File is now ${newIsPublic ? "Public" : "Private"}!`
+          );
+        } catch (err) {
+          toast.error("Error updating public status.");
+          console.error(err);
+        }
+        }}
+        className="flex items-center justify-center rounded-full bg-gray-500 p-2 hover:bg-gray-600"
+      >
+         
       )}
     
   );
@@ -98,12 +113,15 @@ export function FileDescriptionContainer({
   fileId: string;
   fileDescription?: string;
 }) {
-
   const [description, setDescription] = useState(fileDescription || ""); // Add state for description
-  const { handleDescriptionChange } = useFileActions(() => {}, (description: string) => {
-    setDescription(description);
-    return undefined;
-  }, fileId); // Wrap setDescription in a function
+  const { handleDescriptionChange } = useFileActions(
+    () => {},
+    (description: string) => {
+      setDescription(description);
+      return undefined;
+    },
+    fileId,
+  ); // Wrap setDescription in a function
   const debounceTimer = useRef
(null); // Initialize debounce timer
 
   const handleChange = (e: React.ChangeEvent) => {
@@ -111,9 +129,9 @@ export function FileDescriptionContainer({
   };
 
   return (
-    
+    
       
     
   );
-}
\ No newline at end of file
+}
diff --git a/src/app/_components/FileGrid.tsx b/src/app/_components/FileGrid.tsx
index 091566f..93cccc7 100644
--- a/src/app/_components/FileGrid.tsx
+++ b/src/app/_components/FileGrid.tsx
@@ -15,7 +15,7 @@ interface FileDetails {
   description: string;
   extension: string;
   isOwner: boolean; // Indicates if the user owns the file
-  isPublic: boolean; // Indicates if the file is public
+  public: boolean; // Indicates if the file is public
 }
 
 interface FileGridProps {
@@ -118,7 +118,7 @@ export default function FileGrid({ session }: FileGridProps) {
                 fileName={file.name}
                 fileUrl={file.url}
                 isOwner={true}
-                isPublic={file.isPublic}
+                isPublic={file.public}
               />
             
   {
   try {
     const response = await fetch(
       `${process.env.NEXT_PUBLIC_PAGE_URL}/api/files/share?id=${encodeURIComponent(
-        fileId
+        fileId,
       )}`,
-      { cache: "no-store" }
+      { cache: "no-store" },
     );
 
     if (!response.ok) {
@@ -96,7 +96,6 @@ export default async function FilePreviewContainer({
   }
 
   const fileDetails = await fetchFileDetails(fileId);
-  
 
   if (!fileDetails) {
     return (
@@ -138,10 +137,10 @@ export default async function FilePreviewContainer({
             {fileDetails.size > 1024 * 1024 * 1024
               ? (fileDetails.size / (1024 * 1024 * 1024)).toFixed(2) + " GB"
               : fileDetails.size > 1024 * 1024
-              ? (fileDetails.size / (1024 * 1024)).toFixed(2) + " MB"
-              : fileDetails.size > 1024
-              ? (fileDetails.size / 1024).toFixed(2) + " KB"
-              : fileDetails.size + " Bytes"}
+                ? (fileDetails.size / (1024 * 1024)).toFixed(2) + " MB"
+                : fileDetails.size > 1024
+                  ? (fileDetails.size / 1024).toFixed(2) + " KB"
+                  : fileDetails.size + " Bytes"}
           
           
             Owner: {" "}
@@ -163,46 +162,14 @@ export default async function FilePreviewContainer({
               fileDescription={fileDetails.description}
             />
           
-          
-            
-              Name:  {fileDetails.name}
-            
-            
-              Size: {" "}
-              {fileDetails.size > 1024 * 1024 * 1024
-                ? (fileDetails.size / (1024 * 1024 * 1024)).toFixed(2) + " GB"
-                : fileDetails.size > 1024 * 1024
-                ? (fileDetails.size / (1024 * 1024)).toFixed(2) + " MB"
-                : fileDetails.size > 1024
-                ? (fileDetails.size / 1024).toFixed(2) + " KB"
-                : fileDetails.size + " Bytes"}
-            
-            
-              Owner: {" "}
-              
-            
-              Upload Date: {" "}
-              {new Date(fileDetails.uploadDate).toLocaleString()}
-            
-            
-              Description: {" "}
-              
-             
-            
-              
+          
+