"use client"; import React, { useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { ArchiveRestore } from "lucide-react"; // types import { PROJECT_AUTOMATION_MONTHS, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { IProject } from "@plane/types"; // ui import { CustomSelect, Loader, ToggleSwitch } from "@plane/ui"; // component import { SelectMonthModal } from "@/components/automation"; // constants // hooks import { useProject, useUserPermissions } from "@/hooks/store"; type Props = { handleChange: (formData: Partial) => Promise; }; const initialValues: Partial = { archive_in: 1 }; export const AutoArchiveAutomation: React.FC = observer((props) => { const { handleChange } = props; // router const { workspaceSlug } = useParams(); // states const [monthModal, setmonthModal] = useState(false); // store hooks const { allowPermissions } = useUserPermissions(); const { t } = useTranslation(); const { currentProjectDetails } = useProject(); const isAdmin = allowPermissions( [EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT, workspaceSlug?.toString(), currentProjectDetails?.id ); return ( <> setmonthModal(false)} handleChange={handleChange} />

{t("project_settings.automations.auto-archive.title")}

{t("project_settings.automations.auto-archive.description")}

currentProjectDetails?.archive_in === 0 ? handleChange({ archive_in: 1 }) : handleChange({ archive_in: 0 }) } size="sm" disabled={!isAdmin} />
{currentProjectDetails ? ( currentProjectDetails.archive_in !== 0 && (
{t("project_settings.automations.auto-archive.duration")}
{ handleChange({ archive_in: val }); }} input disabled={!isAdmin} > <> {PROJECT_AUTOMATION_MONTHS.map((month) => ( {t(month.i18n_label, { months: month.value })} ))}
) ) : ( )}
); });