From 3d03ad52b1e1d382d592b749557b41edaf666de0 Mon Sep 17 00:00:00 2001
From: Danil Nazarenko <134951516+dnazarenkoo@users.noreply.github.com>
Date: Tue, 8 Aug 2023 14:09:32 +0300
Subject: [PATCH] fix: update styles for the dashboard confirm modal (#3287)
---
.../src/container/ConfigDropdown/index.tsx | 11 +++++-----
.../src/container/ConfigDropdown/styles.ts | 6 ++++++
frontend/src/container/Header/index.tsx | 7 ++++---
frontend/src/container/Header/styles.ts | 6 +++++-
.../TableComponents/DeleteButton.tsx | 21 ++++++++++++-------
5 files changed, 33 insertions(+), 18 deletions(-)
create mode 100644 frontend/src/container/ConfigDropdown/styles.ts
diff --git a/frontend/src/container/ConfigDropdown/index.tsx b/frontend/src/container/ConfigDropdown/index.tsx
index cae4d087d6..519a05c016 100644
--- a/frontend/src/container/ConfigDropdown/index.tsx
+++ b/frontend/src/container/ConfigDropdown/index.tsx
@@ -4,7 +4,7 @@ import {
QuestionCircleFilled,
QuestionCircleOutlined,
} from '@ant-design/icons';
-import { Dropdown, Space } from 'antd';
+import { Space } from 'antd';
import { useIsDarkMode } from 'hooks/useDarkMode';
import { useMemo, useState } from 'react';
import { useSelector } from 'react-redux';
@@ -13,6 +13,7 @@ import { ConfigProps } from 'types/api/dynamicConfigs/getDynamicConfigs';
import AppReducer from 'types/reducer/app';
import HelpToolTip from './Config';
+import { ConfigDropdown } from './styles';
function DynamicConfigDropdown({
frontendId,
@@ -53,19 +54,17 @@ function DynamicConfigDropdown({
const DropDownIcon = isHelpDropDownOpen ? CaretUpFilled : CaretDownFilled;
return (
-
-
+
-
+
);
}
diff --git a/frontend/src/container/ConfigDropdown/styles.ts b/frontend/src/container/ConfigDropdown/styles.ts
new file mode 100644
index 0000000000..25144dbb75
--- /dev/null
+++ b/frontend/src/container/ConfigDropdown/styles.ts
@@ -0,0 +1,6 @@
+import { Dropdown } from 'antd';
+import styled from 'styled-components';
+
+export const ConfigDropdown = styled(Dropdown)`
+ cursor: pointer;
+`;
diff --git a/frontend/src/container/Header/index.tsx b/frontend/src/container/Header/index.tsx
index b1334ade34..c5b39c4740 100644
--- a/frontend/src/container/Header/index.tsx
+++ b/frontend/src/container/Header/index.tsx
@@ -3,7 +3,7 @@ import {
CaretUpFilled,
LogoutOutlined,
} from '@ant-design/icons';
-import { Button, Divider, Dropdown, MenuProps, Space, Typography } from 'antd';
+import { Button, Divider, MenuProps, Space, Typography } from 'antd';
import { Logout } from 'api/utils';
import ROUTES from 'constants/routes';
import Config from 'container/ConfigDropdown';
@@ -33,6 +33,7 @@ import {
LogoutContainer,
NavLinkWrapper,
ToggleButton,
+ UserDropdown,
} from './styles';
function HeaderContainer(): JSX.Element {
@@ -133,7 +134,7 @@ function HeaderContainer(): JSX.Element {
unCheckedChildren="🌞"
/>
- : }
-
+
diff --git a/frontend/src/container/Header/styles.ts b/frontend/src/container/Header/styles.ts
index bd53f22e83..31f3648da8 100644
--- a/frontend/src/container/Header/styles.ts
+++ b/frontend/src/container/Header/styles.ts
@@ -1,4 +1,4 @@
-import { Avatar, Layout, Switch, Typography } from 'antd';
+import { Avatar, Dropdown, Layout, Switch, Typography } from 'antd';
import styled from 'styled-components';
export const Header = styled(Layout.Header)`
@@ -82,3 +82,7 @@ export const NavLinkWrapper = styled.div`
export const AvatarWrapper = styled(Avatar)`
background-color: rgba(255, 255, 255, 0.25);
`;
+
+export const UserDropdown = styled(Dropdown)`
+ cursor: pointer;
+`;
diff --git a/frontend/src/container/ListOfDashboard/TableComponents/DeleteButton.tsx b/frontend/src/container/ListOfDashboard/TableComponents/DeleteButton.tsx
index 800dd8d1e6..fb13155841 100644
--- a/frontend/src/container/ListOfDashboard/TableComponents/DeleteButton.tsx
+++ b/frontend/src/container/ListOfDashboard/TableComponents/DeleteButton.tsx
@@ -1,5 +1,6 @@
import { ExclamationCircleOutlined } from '@ant-design/icons';
import { Modal } from 'antd';
+import { useCallback } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators, Dispatch } from 'redux';
import { ThunkDispatch } from 'redux-thunk';
@@ -9,11 +10,11 @@ import AppActions from 'types/actions';
import { Data } from '../index';
import { TableLinkText } from './styles';
-const { confirm } = Modal;
-
function DeleteButton({ deleteDashboard, id }: DeleteButtonProps): JSX.Element {
- const openConfirmationDialog = (): void => {
- confirm({
+ const [modal, contextHolder] = Modal.useModal();
+
+ const openConfirmationDialog = useCallback((): void => {
+ modal.confirm({
title: 'Do you really want to delete this dashboard?',
icon: ,
onOk() {
@@ -25,12 +26,16 @@ function DeleteButton({ deleteDashboard, id }: DeleteButtonProps): JSX.Element {
okButtonProps: { danger: true },
centered: true,
});
- };
+ }, [id, modal, deleteDashboard]);
return (
-
- Delete
-
+ <>
+
+ Delete
+
+
+ {contextHolder}
+ >
);
}