From f523841e2b5e50a242e1ad4b13d840ef49a3ed9c Mon Sep 17 00:00:00 2001 From: Olha Tomylko Date: Wed, 15 Apr 2026 10:44:34 +0200 Subject: [PATCH 1/3] feat: enable create actions in dashboard hub, generic page and landing page --- .../DashboardTable/DashboardTable.tsx | 18 +++-- src/Components/DashboardHub/Header/Header.tsx | 16 ++--- .../DashboardHub/ImportModal/ImportModal.tsx | 6 ++ .../DuplicateModal/DuplicateModal.tsx | 11 ++- src/Components/Header/Header.tsx | 69 ++++++++++++++----- src/Modules/DashboardHub.tsx | 2 +- src/hooks/useCreateBlankDashboard.ts | 12 ++-- src/hooks/useDuplicateDashboard.ts | 10 +-- src/hooks/useImportDashboard.ts | 6 +- src/state/dashboardsAtom.ts | 51 +++++++++++++- 10 files changed, 148 insertions(+), 53 deletions(-) diff --git a/src/Components/DashboardHub/DashboardTable/DashboardTable.tsx b/src/Components/DashboardHub/DashboardTable/DashboardTable.tsx index ab9cf30..d007930 100644 --- a/src/Components/DashboardHub/DashboardTable/DashboardTable.tsx +++ b/src/Components/DashboardHub/DashboardTable/DashboardTable.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import { Table, Tbody, Td, Th, ThProps, Thead, Tr } from '@patternfly/react-table'; import { ActionsColumn } from '@patternfly/react-table'; -import { Button, Content, TooltipPosition } from '@patternfly/react-core'; +import { Button, Content, Tooltip, TooltipPosition } from '@patternfly/react-core'; import { Link } from 'react-router-dom'; import { DashboardTemplate } from '../../../api/dashboard-templates'; import { setDefaultDashboardAtom } from '../../../state/dashboardsAtom'; @@ -9,6 +9,7 @@ import { CodeIcon, CopyIcon, EditAltIcon, HomeIcon, TrashIcon, UsersIcon } from import { useExportDashboard } from '../../../hooks/useExportDashboard'; import { useDeleteDashboard } from '../../../hooks/useDeleteDashboard'; import { DeleteDashboardModal } from '../DeleteDashboardModal/DeleteDashboardModal'; +import { DuplicateModal } from '../../DuplicateModal/DuplicateModal'; import DateFormat from '@redhat-cloud-services/frontend-components/DateFormat'; import { useFlag } from '@unleash/proxy-client-react'; import { useAddNotification } from '../../../state/notificationsAtom'; @@ -27,15 +28,15 @@ interface DashboardTableProps { onRefetchDashboards: () => void; } -export const ButtonCopy: React.FunctionComponent = () => { - // eslint-disable-next-line @typescript-eslint/no-empty-function - return