diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/NoProfilerBanner/NoProfilerBanner.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/NoProfilerBanner/NoProfilerBanner.component.tsx index 1796ec908c1..8f08c43bed2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/NoProfilerBanner/NoProfilerBanner.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/NoProfilerBanner/NoProfilerBanner.component.tsx @@ -10,33 +10,81 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Chip } from '@mui/material'; +import { Button, Chip, Grid, useTheme } from '@mui/material'; import { useTranslation } from 'react-i18next'; +import { ReactComponent as RightArrowIcon } from '../../../../../assets/svg/right-arrow.svg'; import { ReactComponent as NoDataIcon } from '../../../../../assets/svg/ticket-with-check.svg'; import documentationLinksClassBase from '../../../../../utils/DocumentationLinksClassBase'; +import './no-profiler-banner.less'; const NoProfilerBanner = () => { + const theme = useTheme(); const { t } = useTranslation(); const profilerDocsLink = documentationLinksClassBase.getDocsURLS() .DATA_QUALITY_PROFILER_WORKFLOW_DOCS; return ( -
- } variant="outlined" /> + + + } + sx={{ + backgroundColor: theme.palette.allShades.white, + height: '40px', + width: '40px', + borderRadius: '8px', + '.MuiChip-icon': { + m: 0, + }, + }} + variant="outlined" + /> + -

- {t('message.no-profiler-message')} + +

{t('message.no-profiler-title')}

+

+ {t('message.no-profiler-message')} +

+
+ + - {`${t('label.here-lowercase')}.`} + -

-
+ + ); }; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/NoProfilerBanner/no-profiler-banner.less b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/NoProfilerBanner/no-profiler-banner.less new file mode 100644 index 00000000000..9dd427336d3 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/NoProfilerBanner/no-profiler-banner.less @@ -0,0 +1,20 @@ +.no-profiler-banner-container { + display: flex; + align-items: center; + gap: 16px; + border-radius: 10px; + background: #fafafc; + padding: 16px; + + .profiler-description { + color: #364254; + font-size: 12px; + font-weight: 400; + } + + .profiler-title { + color: #21263c; + font-size: 14px; + font-weight: 600; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerChart/TableProfilerChart.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerChart/TableProfilerChart.tsx index fe6d3d2fc33..560706eaaac 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerChart/TableProfilerChart.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerChart/TableProfilerChart.tsx @@ -11,9 +11,9 @@ * limitations under the License. */ +import { Grid } from '@mui/material'; import { Col, Row } from 'antd'; import { AxiosError } from 'axios'; -import classNames from 'classnames'; import { pick } from 'lodash'; import { DateRangeObject } from 'Models'; import { useCallback, useEffect, useMemo, useState } from 'react'; @@ -39,7 +39,7 @@ import { } from '../../../../../utils/TableProfilerUtils'; import { showErrorToast } from '../../../../../utils/ToastUtils'; import ErrorPlaceHolder from '../../../../common/ErrorWithPlaceholder/ErrorPlaceHolder'; -import { SummaryCard } from '../../../../common/SummaryCard/SummaryCard.component'; +import SummaryCardV1 from '../../../../common/SummaryCard/SummaryCardV1'; import CustomBarChart from '../../../../Visualisations/Chart/CustomBarChart'; import OperationDateBarChart from '../../../../Visualisations/Chart/OperationDateBarChart'; import { MetricChartType } from '../../ProfilerDashboard/profilerDashboard.interface'; @@ -225,23 +225,21 @@ const TableProfilerChart = ({ )} - - - - + {overallSummary?.map((summary) => ( - - + {/* - + /> */} + + ))} - + )} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/SummaryCard/SummaryCardV1.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/SummaryCard/SummaryCardV1.tsx new file mode 100644 index 00000000000..7dbffdd6b87 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/SummaryCard/SummaryCardV1.tsx @@ -0,0 +1,64 @@ +import { Box, Card, Chip, Typography } from '@mui/material'; +import { ReactComponent as NoDataIcon } from '../../../assets/svg/ticket-with-check.svg'; + +const SummaryCardV1 = () => { + return ( + + + } + sx={{ + backgroundColor: 'white', + height: '40px', + width: '40px', + borderRadius: '8px', + '.MuiChip-icon': { + m: 0, + }, + }} + variant="outlined" + /> + + + 1245 + + + Row Count + + + + + + Last updated: Sep 17, 2025 12:34 PM + + + + ); +}; + +export default SummaryCardV1; diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json index a0c2fc7d828..2b8a16427cd 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json @@ -2241,6 +2241,7 @@ "no-persona-assigned": "No persona assigned", "no-persona-message": "Personas are necessary to customize the landing page. Please create a persona from <0>{{link}}", "no-profiler-card-message-with-link": "Enable the profiler to discover valuable insights about your table. Visit our documentation for setup steps <0>here", + "no-profiler-title": "Run Profiler to Unlock Table Insights", "no-profiler-message": "Explore your table's metrics by running the profiler workflow. You'll see Row Count, Table Updates, Volume Changes, and more. Visit our documentation for setup steps ", "no-recently-viewed-date": "You haven't viewed any data assets recently. Explore to find something interesting!", "no-reference-available": "No references available.", diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx index e74d1237d31..3d1ce97fe1f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx @@ -129,7 +129,6 @@ import { TabProps } from '../components/common/TabsLabel/TabsLabel.interface'; import { GenericTab } from '../components/Customization/GenericTab/GenericTab'; import { CommonWidgets } from '../components/DataAssets/CommonWidgets/CommonWidgets'; import DataObservabilityTab from '../components/Database/Profiler/DataObservability/DataObservabilityTab'; -import TableProfiler from '../components/Database/Profiler/TableProfiler/TableProfiler'; import SampleDataTableComponent from '../components/Database/SampleDataTable/SampleDataTable.component'; import SchemaTable from '../components/Database/SchemaTable/SchemaTable.component'; import TableQueries from '../components/Database/TableQueries/TableQueries'; @@ -868,22 +867,6 @@ export const getTableDetailPageBaseTabs = ({ /> ), }, - { - label: ( - - ), - key: EntityTabs.PROFILER + 'old', - children: ( - - ), - }, { label: (