2024-07-15 16:55:26 +05:30
|
|
|
import { FC, useState } from "react";
|
|
|
|
|
import { observer } from "mobx-react";
|
|
|
|
|
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
|
|
|
// types
|
2025-07-02 15:23:18 +05:30
|
|
|
import { WORKSPACE_TRACKER_ELEMENTS } from "@plane/constants";
|
2025-02-06 20:41:31 +05:30
|
|
|
import { useTranslation } from "@plane/i18n";
|
2024-07-15 16:55:26 +05:30
|
|
|
import { IWorkspace } from "@plane/types";
|
|
|
|
|
// ui
|
|
|
|
|
import { Button, Collapsible } from "@plane/ui";
|
2025-02-12 17:15:40 +05:30
|
|
|
import { DeleteWorkspaceModal } from "./delete-workspace-modal";
|
2024-07-15 16:55:26 +05:30
|
|
|
// components
|
|
|
|
|
|
|
|
|
|
type TDeleteWorkspace = {
|
|
|
|
|
workspace: IWorkspace | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const DeleteWorkspaceSection: FC<TDeleteWorkspace> = observer((props) => {
|
|
|
|
|
const { workspace } = props;
|
|
|
|
|
// states
|
|
|
|
|
const [isOpen, setIsOpen] = useState(false);
|
|
|
|
|
const [deleteWorkspaceModal, setDeleteWorkspaceModal] = useState(false);
|
2025-02-06 20:41:31 +05:30
|
|
|
const { t } = useTranslation();
|
2024-07-15 16:55:26 +05:30
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<>
|
|
|
|
|
<DeleteWorkspaceModal
|
|
|
|
|
data={workspace}
|
|
|
|
|
isOpen={deleteWorkspaceModal}
|
|
|
|
|
onClose={() => setDeleteWorkspaceModal(false)}
|
|
|
|
|
/>
|
|
|
|
|
<div className="border-t border-custom-border-100">
|
|
|
|
|
<div className="w-full">
|
|
|
|
|
<Collapsible
|
|
|
|
|
isOpen={isOpen}
|
|
|
|
|
onToggle={() => setIsOpen(!isOpen)}
|
|
|
|
|
className="w-full"
|
|
|
|
|
buttonClassName="flex w-full items-center justify-between py-4"
|
|
|
|
|
title={
|
|
|
|
|
<>
|
2025-02-06 20:41:31 +05:30
|
|
|
<span className="text-lg tracking-tight">
|
|
|
|
|
{t("workspace_settings.settings.general.delete_workspace")}
|
|
|
|
|
</span>
|
2024-07-15 16:55:26 +05:30
|
|
|
{isOpen ? <ChevronUp className="h-5 w-5" /> : <ChevronDown className="h-5 w-5" />}
|
|
|
|
|
</>
|
|
|
|
|
}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex flex-col gap-4">
|
|
|
|
|
<span className="text-base tracking-tight">
|
2025-02-06 20:41:31 +05:30
|
|
|
{t("workspace_settings.settings.general.delete_workspace_description")}
|
2024-07-15 16:55:26 +05:30
|
|
|
</span>
|
|
|
|
|
<div>
|
2025-07-02 15:23:18 +05:30
|
|
|
<Button
|
|
|
|
|
variant="danger"
|
|
|
|
|
onClick={() => setDeleteWorkspaceModal(true)}
|
|
|
|
|
data-ph-element={WORKSPACE_TRACKER_ELEMENTS.DELETE_WORKSPACE_BUTTON}
|
|
|
|
|
>
|
2025-02-06 20:41:31 +05:30
|
|
|
{t("workspace_settings.settings.general.delete_btn")}
|
2024-07-15 16:55:26 +05:30
|
|
|
</Button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Collapsible>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</>
|
|
|
|
|
);
|
|
|
|
|
});
|