worked with socket for dashboard
This commit is contained in:
@@ -7,6 +7,7 @@ import { useSocketStore } from "../../store/builder/store";
|
||||
import { recentlyViewed } from "../../services/dashboard/recentlyViewed";
|
||||
import { searchProject } from "../../services/dashboard/searchProjects";
|
||||
import { deleteProject } from "../../services/dashboard/deleteProject";
|
||||
import { handleDuplicateProjects } from "./functions/handleDuplicateProject";
|
||||
|
||||
interface Project {
|
||||
_id: string;
|
||||
@@ -24,7 +25,7 @@ const DashboardHome: React.FC = () => {
|
||||
const [recentProjects, setRecentProjects] = useState<RecentProjectsData>({});
|
||||
const [isSearchActive, setIsSearchActive] = useState<boolean>(false);
|
||||
const { userId, organization } = getUserData();
|
||||
const { dashBoardSocket } = useSocketStore();
|
||||
const { projectSocket } = useSocketStore();
|
||||
|
||||
const fetchRecentProjects = async () => {
|
||||
try {
|
||||
@@ -49,35 +50,38 @@ const DashboardHome: React.FC = () => {
|
||||
userId,
|
||||
inputValue
|
||||
);
|
||||
console.log('filterRecentProcess: ', filterRecentProcess);
|
||||
setIsSearchActive(true);
|
||||
setRecentProjects(filterRecentProcess.message ? {} : filterRecentProcess);
|
||||
};
|
||||
|
||||
const handleDeleteProject = async (projectId: any) => {
|
||||
console.log('projectId:delete ', projectId);
|
||||
try {
|
||||
//API for delete project
|
||||
const deletedProject = await deleteProject(
|
||||
projectId,
|
||||
userId,
|
||||
organization
|
||||
);
|
||||
// const deletedProject = await deleteProject(
|
||||
// projectId,
|
||||
// userId,
|
||||
// organization
|
||||
// );
|
||||
// console.log('deletedProject: ', deletedProject);
|
||||
|
||||
//socket for delete Project
|
||||
// const deleteProject = {
|
||||
// projectId,
|
||||
// organization,
|
||||
// userId,
|
||||
// };
|
||||
const deleteProject = {
|
||||
projectId,
|
||||
organization,
|
||||
userId,
|
||||
};
|
||||
|
||||
// if (dashBoardSocket) {
|
||||
// const handleResponse = (data: any) => {
|
||||
// console.log("Project add response:", data);
|
||||
// dashBoardSocket.off("v1-project:response:delete", handleResponse);
|
||||
// };
|
||||
if (projectSocket) {
|
||||
const handleResponse = (data: any) => {
|
||||
console.log("Project add response:", data);
|
||||
projectSocket.off("v1-project:response:delete", handleResponse);
|
||||
};
|
||||
|
||||
// dashBoardSocket.on("v1-project:response:delete", handleResponse);
|
||||
// dashBoardSocket.emit("v1:project:delete", deleteProject);
|
||||
// }
|
||||
projectSocket.on("v1-project:response:delete", handleResponse);
|
||||
projectSocket.emit("v1:project:delete", deleteProject);
|
||||
}
|
||||
|
||||
setRecentProjects((prevDiscardedProjects: RecentProjectsData) => {
|
||||
if (!Array.isArray(prevDiscardedProjects?.RecentlyViewed)) {
|
||||
@@ -97,6 +101,21 @@ const DashboardHome: React.FC = () => {
|
||||
}
|
||||
};
|
||||
|
||||
const handleDuplicateRecentProject = async (projectId: string, projectName: string, thumbnail: string) => {
|
||||
|
||||
await handleDuplicateProjects({
|
||||
userId,
|
||||
organization,
|
||||
projectId,
|
||||
projectName,
|
||||
projectSocket,
|
||||
thumbnail,
|
||||
setRecentProjects,
|
||||
setIsSearchActive
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
const renderProjects = () => {
|
||||
const projectList = recentProjects[Object.keys(recentProjects)[0]];
|
||||
|
||||
@@ -111,12 +130,12 @@ const DashboardHome: React.FC = () => {
|
||||
thumbnail={project.thumbnail}
|
||||
projectId={project._id}
|
||||
handleDeleteProject={handleDeleteProject}
|
||||
handleDuplicateRecentProject={handleDuplicateRecentProject}
|
||||
/>
|
||||
));
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
console.log('isSearchActive: ', isSearchActive);
|
||||
if (!isSearchActive) {
|
||||
fetchRecentProjects();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user