From 2b017490a33280f24b7808cb044055399f5d3f1f Mon Sep 17 00:00:00 2001 From: mohadeseh safari Date: Fri, 20 Jun 2025 18:56:39 -0400 Subject: [PATCH] Move status page delete button to configuration page header (#2150) --- .../Create/Components/Tabs/index.jsx | 21 +++++++-- client/src/Pages/StatusPage/Create/index.jsx | 47 +++++++++++++++++-- 2 files changed, 62 insertions(+), 6 deletions(-) diff --git a/client/src/Pages/StatusPage/Create/Components/Tabs/index.jsx b/client/src/Pages/StatusPage/Create/Components/Tabs/index.jsx index 936a22130..60d86e1c9 100644 --- a/client/src/Pages/StatusPage/Create/Components/Tabs/index.jsx +++ b/client/src/Pages/StatusPage/Create/Components/Tabs/index.jsx @@ -1,6 +1,6 @@ // Components import { TabContext } from "@mui/lab"; -import { Tab, useTheme } from "@mui/material"; +import { Tab } from "@mui/material"; import Settings from "./Settings"; import Content from "./Content"; @@ -22,8 +22,12 @@ const Tabs = ({ tab, setTab, TAB_LIST, + handleDelete, + isDeleteOpen, + setIsDeleteOpen, + isDeleting, + isLoading, }) => { - const theme = useTheme(); return ( - {TAB_LIST.map((tabLabel, idx) => ( + {TAB_LIST.map((tabLabel) => ( ) : ( { //Local state const [tab, setTab] = useState(0); const [progress, setProgress] = useState({ value: 0, isLoading: false }); + const [isDeleteOpen, setIsDeleteOpen] = useState(false); const [form, setForm] = useState({ isPublished: false, companyName: "", @@ -51,13 +55,13 @@ const CreateStatusPage = () => { //Utils const theme = useTheme(); const [monitors, isLoading, networkError] = useMonitorsFetch(); - const [createStatusPage, createStatusIsLoading, createStatusPageNetworkError] = - useCreateStatusPage(isCreate); + const [createStatusPage] = useCreateStatusPage(isCreate); const navigate = useNavigate(); const { t } = useTranslation(); - const [statusPage, statusPageMonitors, statusPageIsLoading, statusPageNetworkError] = + const [statusPage, statusPageMonitors, statusPageIsLoading, , fetchStatusPage] = useStatusPageFetch(isCreate, url); + const [deleteStatusPage, isDeleting] = useStatusPageDelete(fetchStatusPage, url); // Handlers const handleFormChange = (e) => { @@ -122,6 +126,12 @@ const CreateStatusPage = () => { setProgress({ value: 0, isLoading: false }); }; + const handleDelete = () => { + deleteStatusPage(); + setIsDeleteOpen(false); + navigate("/status"); + }; + const handleSubmit = async () => { let toSubmit = { ...form, @@ -220,6 +230,37 @@ const CreateStatusPage = () => { // Load fields return ( + + {!isCreate && ( + + + setIsDeleteOpen(false)} + open={isDeleteOpen} + confirmationButtonLabel={t("deleteStatusPageConfirm")} + description={t("deleteStatusPageDescription")} + isLoading={isDeleting || statusPageIsLoading} + /> + + )}