import React from "react"; import { useRouter } from "next/router"; import { mutate } from "swr"; // services import projectService from "services/project.service"; // layouts import { ProjectAuthorizationWrapper } from "layouts/auth-layout"; // hooks import useUserAuth from "hooks/use-user-auth"; import useProjectDetails from "hooks/use-project-details"; import useToast from "hooks/use-toast"; // components import { SettingsHeader } from "components/project"; import { AutoArchiveAutomation, AutoCloseAutomation } from "components/automation"; // ui import { BreadcrumbItem, Breadcrumbs } from "components/breadcrumbs"; // types import type { NextPage } from "next"; import { IProject } from "types"; // constant import { PROJECTS_LIST, PROJECT_DETAILS } from "constants/fetch-keys"; const AutomationsSettings: NextPage = () => { const router = useRouter(); const { workspaceSlug, projectId } = router.query; const { user } = useUserAuth(); const { setToastAlert } = useToast(); const { projectDetails } = useProjectDetails(); const handleChange = async (formData: Partial) => { if (!workspaceSlug || !projectId || !projectDetails) return; mutate( PROJECT_DETAILS(projectId as string), (prevData) => ({ ...(prevData as IProject), ...formData }), false ); mutate( PROJECTS_LIST(workspaceSlug as string, { is_favorite: "all" }), (prevData) => (prevData ?? []).map((p) => (p.id === projectDetails.id ? { ...p, ...formData } : p)), false ); await projectService .updateProject(workspaceSlug as string, projectId as string, formData, user) .then(() => {}) .catch(() => { setToastAlert({ type: "error", title: "Error!", message: "Something went wrong. Please try again.", }); }); }; return ( } >
); }; export default AutomationsSettings;