From 2b017490a33280f24b7808cb044055399f5d3f1f Mon Sep 17 00:00:00 2001 From: mohadeseh safari Date: Fri, 20 Jun 2025 18:56:39 -0400 Subject: [PATCH 1/8] 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} + /> + + )} Date: Fri, 20 Jun 2025 18:59:50 -0400 Subject: [PATCH 2/8] Modify --- .../Components/ControlsHeader/index.jsx | 24 +--------------- client/src/Pages/StatusPage/Status/index.jsx | 28 +------------------ 2 files changed, 2 insertions(+), 50 deletions(-) diff --git a/client/src/Pages/StatusPage/Status/Components/ControlsHeader/index.jsx b/client/src/Pages/StatusPage/Status/Components/ControlsHeader/index.jsx index dcbf96399..41814062a 100644 --- a/client/src/Pages/StatusPage/Status/Components/ControlsHeader/index.jsx +++ b/client/src/Pages/StatusPage/Status/Components/ControlsHeader/index.jsx @@ -11,7 +11,7 @@ import { useLocation } from "react-router-dom"; import PropTypes from "prop-types"; import { useTranslation } from "react-i18next"; -const Controls = ({ isDeleteOpen, setIsDeleteOpen, isDeleting, url, type }) => { +const Controls = ({ url, type }) => { const theme = useTheme(); const { t } = useTranslation(); const location = useLocation(); @@ -27,16 +27,6 @@ const Controls = ({ isDeleteOpen, setIsDeleteOpen, isDeleting, url, type }) => { direction="row" gap={theme.spacing(2)} > - - -