= ({ type, message, className }) => {
+ return (
+
+ {type === 'success' ? : }
+ {message}
+
+ );
+};
+
+export default Banner;
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/Banner/banner.less b/openmetadata-ui/src/main/resources/ui/src/components/common/Banner/banner.less
new file mode 100644
index 00000000000..78246e4e25e
--- /dev/null
+++ b/openmetadata-ui/src/main/resources/ui/src/components/common/Banner/banner.less
@@ -0,0 +1,23 @@
+@import (reference) url('../../../styles/variables.less');
+
+.message-banner-wrapper {
+ display: flex;
+ gap: 8px;
+ align-items: center;
+ backdrop-filter: blur(500px);
+ padding: 8px 16px;
+
+ &.border-radius {
+ border-radius: 4px;
+ }
+
+ &.success {
+ background-color: @success-bg-color;
+ color: @success-color;
+ }
+
+ &.error {
+ background-color: @error-bg-color;
+ color: @error-color;
+ }
+}
diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts
index 5d716c8eff3..fcdb4da682a 100644
--- a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts
@@ -295,6 +295,7 @@ export const SOCKET_EVENTS = {
TASK_CHANNEL: 'taskChannel',
MENTION_CHANNEL: 'mentionChannel',
JOB_STATUS: 'jobStatus',
+ CSV_EXPORT_CHANNEL: 'csvExportChannel',
};
export const IN_PAGE_SEARCH_ROUTES: Record> = {
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json
index e3c5b2d155f..f6479b41f26 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json
@@ -773,6 +773,7 @@
"no-description": "Sen descrición",
"no-diff-available": "Non hai diferenzas dispoñibles",
"no-entity": "Non hai {{entity}}",
+ "no-entity-available": "No {{entity}} are available",
"no-entity-selected": "Non hai {{entity}} seleccionado",
"no-matching-data-asset": "Non se atoparon activos de datos coincidentes",
"no-of-test": "Nº de probas",
diff --git a/openmetadata-ui/src/main/resources/ui/src/rest/glossaryAPI.ts b/openmetadata-ui/src/main/resources/ui/src/rest/glossaryAPI.ts
index e85044b170f..3d1c58db5c7 100644
--- a/openmetadata-ui/src/main/resources/ui/src/rest/glossaryAPI.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/rest/glossaryAPI.ts
@@ -14,6 +14,7 @@
import { AxiosResponse } from 'axios';
import { Operation } from 'fast-json-patch';
import { PagingResponse } from 'Models';
+import { CSVExportResponse } from '../components/Entity/EntityExportModalProvider/EntityExportModalProvider.interface';
import { VotingDataProps } from '../components/Entity/Voting/voting.interface';
import { ES_MAX_PAGE_SIZE, PAGE_SIZE_MEDIUM } from '../constants/constants';
import { TabSpecificField } from '../enums/entity.enum';
@@ -172,7 +173,7 @@ export const deleteGlossaryTerm = (id: string) => {
};
export const exportGlossaryInCSVFormat = async (glossaryName: string) => {
- const response = await APIClient.get(
+ const response = await APIClient.get(
`/glossaries/name/${getEncodedFqn(glossaryName)}/export`
);
diff --git a/openmetadata-ui/src/main/resources/ui/src/rest/teamsAPI.ts b/openmetadata-ui/src/main/resources/ui/src/rest/teamsAPI.ts
index e8b363924f1..045747d9cf5 100644
--- a/openmetadata-ui/src/main/resources/ui/src/rest/teamsAPI.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/rest/teamsAPI.ts
@@ -14,6 +14,7 @@
import { AxiosResponse } from 'axios';
import { Operation } from 'fast-json-patch';
import { PagingResponse, RestoreRequestType } from 'Models';
+import { CSVExportResponse } from '../components/Entity/EntityExportModalProvider/EntityExportModalProvider.interface';
import { CreateTeam } from '../generated/api/teams/createTeam';
import { Team } from '../generated/entity/teams/team';
import { TeamHierarchy } from '../generated/entity/teams/teamHierarchy';
@@ -90,7 +91,7 @@ export const restoreTeam = async (id: string) => {
};
export const exportTeam = async (teamName: string) => {
- const response = await APIClient.get(
+ const response = await APIClient.get(
`/teams/name/${getEncodedFqn(teamName)}/export`
);
@@ -98,7 +99,7 @@ export const exportTeam = async (teamName: string) => {
};
export const exportUserOfTeam = async (team: string) => {
- const response = await APIClient.get(`/users/export`, {
+ const response = await APIClient.get(`/users/export`, {
params: { team },
});
diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/variables.less b/openmetadata-ui/src/main/resources/ui/src/styles/variables.less
index 05370443569..16954b63af2 100644
--- a/openmetadata-ui/src/main/resources/ui/src/styles/variables.less
+++ b/openmetadata-ui/src/main/resources/ui/src/styles/variables.less
@@ -168,3 +168,8 @@
@margin-sm: 12px; // Form controls and items
@margin-xs: 8px; // small items
@margin-xss: 4px; // more small
+
+@error-bg-color: rgb(from @error-color r g b / 0.1);
+@success-bg-color: rgb(from @success-color r g b / 0.1);
+@warning-bg-color: rgb(from @warning-color r g b / 0.1);
+@info-bg-color: rgb(from @info-color r g b / 0.1);