From 09ef59000d7a2297e43074dd58ac53c690f5854e Mon Sep 17 00:00:00 2001 From: Asika TK Date: Fri, 12 Sep 2025 14:46:14 +0530 Subject: [PATCH 01/45] feat: notifications page ui new icons added --- src/Assets/Icon/ic-bulb.svg | 7 +++++++ src/Assets/Icon/ic-coins.svg | 3 +++ src/Assets/Icon/ic-piggybank.svg | 3 +++ src/Assets/Icon/ic-priority-high-fill.svg | 3 +++ src/Assets/Icon/ic-priority-low-fill.svg | 4 ++++ src/Assets/Icon/ic-priority-medium-fill.svg | 4 ++++ src/Assets/Icon/ic-priority-urgent-fill.svg | 10 ++++++++++ src/Assets/Icon/ic-spider.svg | 3 +++ src/Assets/Icon/ic-vector.svg | 3 +++ src/Shared/Components/Icon/Icon.tsx | 14 ++++++++++++++ 10 files changed, 54 insertions(+) create mode 100644 src/Assets/Icon/ic-bulb.svg create mode 100644 src/Assets/Icon/ic-coins.svg create mode 100644 src/Assets/Icon/ic-piggybank.svg create mode 100644 src/Assets/Icon/ic-priority-high-fill.svg create mode 100644 src/Assets/Icon/ic-priority-low-fill.svg create mode 100644 src/Assets/Icon/ic-priority-medium-fill.svg create mode 100644 src/Assets/Icon/ic-priority-urgent-fill.svg create mode 100644 src/Assets/Icon/ic-spider.svg create mode 100644 src/Assets/Icon/ic-vector.svg diff --git a/src/Assets/Icon/ic-bulb.svg b/src/Assets/Icon/ic-bulb.svg new file mode 100644 index 000000000..a167e3b3a --- /dev/null +++ b/src/Assets/Icon/ic-bulb.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/Assets/Icon/ic-coins.svg b/src/Assets/Icon/ic-coins.svg new file mode 100644 index 000000000..16072f183 --- /dev/null +++ b/src/Assets/Icon/ic-coins.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-piggybank.svg b/src/Assets/Icon/ic-piggybank.svg new file mode 100644 index 000000000..44619eebe --- /dev/null +++ b/src/Assets/Icon/ic-piggybank.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-priority-high-fill.svg b/src/Assets/Icon/ic-priority-high-fill.svg new file mode 100644 index 000000000..9e084e5ee --- /dev/null +++ b/src/Assets/Icon/ic-priority-high-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-priority-low-fill.svg b/src/Assets/Icon/ic-priority-low-fill.svg new file mode 100644 index 000000000..0b7c7a735 --- /dev/null +++ b/src/Assets/Icon/ic-priority-low-fill.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/Assets/Icon/ic-priority-medium-fill.svg b/src/Assets/Icon/ic-priority-medium-fill.svg new file mode 100644 index 000000000..121997606 --- /dev/null +++ b/src/Assets/Icon/ic-priority-medium-fill.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/Assets/Icon/ic-priority-urgent-fill.svg b/src/Assets/Icon/ic-priority-urgent-fill.svg new file mode 100644 index 000000000..ec8140320 --- /dev/null +++ b/src/Assets/Icon/ic-priority-urgent-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/Assets/Icon/ic-spider.svg b/src/Assets/Icon/ic-spider.svg new file mode 100644 index 000000000..472dd9a10 --- /dev/null +++ b/src/Assets/Icon/ic-spider.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-vector.svg b/src/Assets/Icon/ic-vector.svg new file mode 100644 index 000000000..5ea230dca --- /dev/null +++ b/src/Assets/Icon/ic-vector.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 892e418dd..997cd0619 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,5 +1,12 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. +import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' +import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' +import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' +import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' +import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' +import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -556,6 +563,13 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, + 'ic-bulb': ICBulb, + 'ic-piggybank': ICPiggybank, + 'ic-priority-high-fill': ICPriorityHighFill, + 'ic-priority-low-fill': ICPriorityLowFill, + 'ic-priority-medium-fill': ICPriorityMediumFill, + 'ic-priority-urgent-fill': ICPriorityUrgentFill, + 'ic-spider': ICSpider, } export type IconName = keyof typeof iconMap From fe7f280761fcb059a2212f99217e9acee0063ea1 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Fri, 12 Sep 2025 15:56:12 +0530 Subject: [PATCH 02/45] feat: recommendation ui added new icon --- src/Shared/Components/Icon/Icon.tsx | 2 ++ src/Shared/Components/Icon/types.ts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 997cd0619..b35723abd 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -7,6 +7,7 @@ import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' +import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -570,6 +571,7 @@ export const iconMap = { 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-priority-urgent-fill': ICPriorityUrgentFill, 'ic-spider': ICSpider, + 'ic-vector': ICVector, } export type IconName = keyof typeof iconMap diff --git a/src/Shared/Components/Icon/types.ts b/src/Shared/Components/Icon/types.ts index f939a8e14..c352169b6 100644 --- a/src/Shared/Components/Icon/types.ts +++ b/src/Shared/Components/Icon/types.ts @@ -46,7 +46,7 @@ export interface IconBaseProps { * * @example 'B500', 'N200', 'G50', 'R700' */ - color: IconBaseColorType + color?: IconBaseColorType /** * A unique identifier for testing purposes, typically used in test automation. */ From f8dc9abf624934f3a8f5fe69c72e6b75925b839f Mon Sep 17 00:00:00 2001 From: Asika TK Date: Mon, 15 Sep 2025 09:25:22 +0530 Subject: [PATCH 03/45] feat: notification ui added new icon --- src/Assets/Icon/ic-red-bulb.svg | 9 +++++++++ src/Shared/Components/Icon/Icon.tsx | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/Assets/Icon/ic-red-bulb.svg diff --git a/src/Assets/Icon/ic-red-bulb.svg b/src/Assets/Icon/ic-red-bulb.svg new file mode 100644 index 000000000..f6d6482af --- /dev/null +++ b/src/Assets/Icon/ic-red-bulb.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index b35723abd..e8b943b3e 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,11 +1,13 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICClose } from '@Icons/ic-close.svg' import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' +import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' @@ -350,6 +352,7 @@ export const iconMap = { 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, 'ic-clock': ICClock, + 'ic-close': ICClose, 'ic-close-large': ICCloseLarge, 'ic-close-small': ICCloseSmall, 'ic-cloud-vms': ICCloudVms, @@ -564,7 +567,8 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, - 'ic-bulb': ICBulb, + 'ic-bulb': ICRedBulb, + 'ic-red-bulb': ICBulb, 'ic-piggybank': ICPiggybank, 'ic-priority-high-fill': ICPriorityHighFill, 'ic-priority-low-fill': ICPriorityLowFill, From bebb618164f9ce730642757af6cb9bfecacc8d14 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Mon, 15 Sep 2025 11:47:11 +0530 Subject: [PATCH 04/45] feat: notifications page ui new icons --- .../SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md | 0 .../Components/SelectPicker/GroupedFilterSelectPicker.example.tsx | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md create mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx new file mode 100644 index 000000000..e69de29bb From 24c5c3fb58120c60d60b4f0d1d3125e0da15cb8f Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 15 Sep 2025 14:20:14 +0530 Subject: [PATCH 05/45] feat: Icons for Recommendation status --- src/Assets/Icon/ic-circle-progress.svg | 6 ++++++ src/Assets/Icon/ic-dot-circle.svg | 3 +++ src/Assets/Icon/ic-failure-color.svg | 4 ++++ src/Shared/Components/Icon/Icon.tsx | 6 ++++++ 4 files changed, 19 insertions(+) create mode 100644 src/Assets/Icon/ic-circle-progress.svg create mode 100644 src/Assets/Icon/ic-dot-circle.svg create mode 100644 src/Assets/Icon/ic-failure-color.svg diff --git a/src/Assets/Icon/ic-circle-progress.svg b/src/Assets/Icon/ic-circle-progress.svg new file mode 100644 index 000000000..d4ec9d326 --- /dev/null +++ b/src/Assets/Icon/ic-circle-progress.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Assets/Icon/ic-dot-circle.svg b/src/Assets/Icon/ic-dot-circle.svg new file mode 100644 index 000000000..149c94bab --- /dev/null +++ b/src/Assets/Icon/ic-dot-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/Icon/ic-failure-color.svg b/src/Assets/Icon/ic-failure-color.svg new file mode 100644 index 000000000..73d792eb5 --- /dev/null +++ b/src/Assets/Icon/ic-failure-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index e8b943b3e..a7db96f03 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,7 +1,10 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' import { ReactComponent as ICClose } from '@Icons/ic-close.svg' +import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' +import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' @@ -569,6 +572,9 @@ export const iconMap = { 'ic-world-globe': ICWorldGlobe, 'ic-bulb': ICRedBulb, 'ic-red-bulb': ICBulb, + 'ic-failure-color': ICStatusFailed, + 'ic-dot-circle.svg': ICStatusPending, + 'ic-circle-progress': ICStatusProgress, 'ic-piggybank': ICPiggybank, 'ic-priority-high-fill': ICPriorityHighFill, 'ic-priority-low-fill': ICPriorityLowFill, From 12d524157f419d48a9d7ef5616c842b2cf5a513a Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 15 Sep 2025 14:25:23 +0530 Subject: [PATCH 06/45] feat: Icon name change --- src/Shared/Components/Icon/Icon.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index a7db96f03..7acc1fe55 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -573,7 +573,7 @@ export const iconMap = { 'ic-bulb': ICRedBulb, 'ic-red-bulb': ICBulb, 'ic-failure-color': ICStatusFailed, - 'ic-dot-circle.svg': ICStatusPending, + 'ic-dot-circle': ICStatusPending, 'ic-circle-progress': ICStatusProgress, 'ic-piggybank': ICPiggybank, 'ic-priority-high-fill': ICPriorityHighFill, From 804bb0a3ff88f17e86a5f3d17e9da76926c2f49c Mon Sep 17 00:00:00 2001 From: chithra Date: Tue, 23 Sep 2025 10:34:33 +0530 Subject: [PATCH 07/45] feat:new root for connecting athena apis --- src/Assets/IconV2/ic-arrow-white.svg | 3 +++ src/Assets/IconV2/ic-line.svg | 3 +++ src/Common/API/CoreAPI.ts | 38 +++++++++++++++++++--------- src/Common/Constants.ts | 7 +++++ src/Shared/Components/Icon/Icon.tsx | 30 +++------------------- src/index.ts | 1 + 6 files changed, 44 insertions(+), 38 deletions(-) create mode 100644 src/Assets/IconV2/ic-arrow-white.svg create mode 100644 src/Assets/IconV2/ic-line.svg diff --git a/src/Assets/IconV2/ic-arrow-white.svg b/src/Assets/IconV2/ic-arrow-white.svg new file mode 100644 index 000000000..38d2caf06 --- /dev/null +++ b/src/Assets/IconV2/ic-arrow-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-line.svg b/src/Assets/IconV2/ic-line.svg new file mode 100644 index 000000000..caacdc6a9 --- /dev/null +++ b/src/Assets/IconV2/ic-line.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Common/API/CoreAPI.ts b/src/Common/API/CoreAPI.ts index c5056e8d9..2bf7a2a86 100644 --- a/src/Common/API/CoreAPI.ts +++ b/src/Common/API/CoreAPI.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host } from '@Common/Constants' +import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host, SERVICE_PATHS } from '@Common/Constants' import { noop } from '@Common/Helper' import { ServerErrors } from '@Common/ServerError' import { APIOptions, ResponseType } from '@Common/Types' @@ -55,11 +55,23 @@ class CoreAPI { method: type, signal, body: data ? JSON.stringify(data) : undefined, + headers: { + 'Content-Type': 'application/json', + }, } // eslint-disable-next-line dot-notation options['credentials'] = 'include' as RequestCredentials + let currentUrl: string + if (isProxyHost) { + // Remove leading slash from url if it exists to avoid double slash after /proxy + const proxyUrl = url.startsWith('/') ? url.slice(1) : url + currentUrl = `/proxy/${proxyUrl}` + } else { + currentUrl = `${this.host}/${url}` + } + return fetch( - `${isProxyHost ? '/proxy' : this.host}/${url}`, + currentUrl, !isMultipartRequest ? options : ({ @@ -197,7 +209,8 @@ class CoreAPI { data, options, isMultipartRequest, - }: FetchInTimeParamsType): Promise => { + isProxyHost = false, + }: FetchInTimeParamsType & { isProxyHost?: boolean }): Promise => { const controller = options?.abortControllerRef?.current ?? new AbortController() const timeoutSignal = controller.signal @@ -267,19 +280,20 @@ class CoreAPI { data: K, options?: APIOptions, isMultipartRequest?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest }) + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) - put = (url: string, data: K, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'PUT', data, options }) + put = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) - patch = (url: string, data: K, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'PATCH', data, options }) + patch = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) - get = (url: string, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'GET', data: null, options }) + get = (url: string, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'GET', data: null, options, isProxyHost }) - trash = (url: string, data?: K, options?: APIOptions): Promise> => - this.fetchInTime({ url, type: 'DELETE', data, options }) + trash = (url: string, data?: K, options?: APIOptions, isProxyHost?: boolean): Promise> => + this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) setGlobalAPITimeout = (timeout: number) => { this.timeout = timeout || FALLBACK_REQUEST_TIMEOUT diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index da240e67b..bc833c89d 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -21,6 +21,13 @@ import { BackupAndScheduleListViewEnum, BackupLocationsTypes } from '@PagesDevtr export const FALLBACK_REQUEST_TIMEOUT = 60000 export const Host = window?.__ORCHESTRATOR_ROOT__ ?? '/orchestrator' +// Service path constants for API routing +export const SERVICE_PATHS = { + ATHENA: 'athena', + ORCHESTRATOR: 'orchestrator', + // Add other service paths as needed in the future +} as const + export const DOCUMENTATION_HOME_PAGE = 'https://docs.devtron.ai' export const DEVTRON_HOME_PAGE = 'https://devtron.ai/' export const DOCUMENTATION_VERSION = '/devtron/v1.7' diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 7acc1fe55..7f033b794 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,18 +1,5 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. -import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' -import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' -import { ReactComponent as ICClose } from '@Icons/ic-close.svg' -import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' -import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' -import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' -import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' -import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' -import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' -import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' -import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' -import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' -import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -26,6 +13,7 @@ import { ReactComponent as ICArrowClockwise } from '@IconsV2/ic-arrow-clockwise. import { ReactComponent as ICArrowLineDown } from '@IconsV2/ic-arrow-line-down.svg' import { ReactComponent as ICArrowRight } from '@IconsV2/ic-arrow-right.svg' import { ReactComponent as ICArrowSquareOut } from '@IconsV2/ic-arrow-square-out.svg' +import { ReactComponent as ICArrowWhite } from '@IconsV2/ic-arrow-white.svg' import { ReactComponent as ICArrowsClockwise } from '@IconsV2/ic-arrows-clockwise.svg' import { ReactComponent as ICArrowsLeftRight } from '@IconsV2/ic-arrows-left-right.svg' import { ReactComponent as ICAsterisk } from '@IconsV2/ic-asterisk.svg' @@ -184,6 +172,7 @@ import { ReactComponent as ICLdap } from '@IconsV2/ic-ldap.svg' import { ReactComponent as ICLego } from '@IconsV2/ic-lego.svg' import { ReactComponent as ICLightning } from '@IconsV2/ic-lightning.svg' import { ReactComponent as ICLightningFill } from '@IconsV2/ic-lightning-fill.svg' +import { ReactComponent as ICLine } from '@IconsV2/ic-line.svg' import { ReactComponent as ICLink } from '@IconsV2/ic-link.svg' import { ReactComponent as ICLinkedBuildColor } from '@IconsV2/ic-linked-build-color.svg' import { ReactComponent as ICListBullets } from '@IconsV2/ic-list-bullets.svg' @@ -307,6 +296,7 @@ export const iconMap = { 'ic-arrow-line-down': ICArrowLineDown, 'ic-arrow-right': ICArrowRight, 'ic-arrow-square-out': ICArrowSquareOut, + 'ic-arrow-white': ICArrowWhite, 'ic-arrows-clockwise': ICArrowsClockwise, 'ic-arrows-left-right': ICArrowsLeftRight, 'ic-asterisk': ICAsterisk, @@ -355,7 +345,6 @@ export const iconMap = { 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, 'ic-clock': ICClock, - 'ic-close': ICClose, 'ic-close-large': ICCloseLarge, 'ic-close-small': ICCloseSmall, 'ic-cloud-vms': ICCloudVms, @@ -466,6 +455,7 @@ export const iconMap = { 'ic-lego': ICLego, 'ic-lightning-fill': ICLightningFill, 'ic-lightning': ICLightning, + 'ic-line': ICLine, 'ic-link': ICLink, 'ic-linked-build-color': ICLinkedBuildColor, 'ic-list-bullets': ICListBullets, @@ -570,18 +560,6 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, - 'ic-bulb': ICRedBulb, - 'ic-red-bulb': ICBulb, - 'ic-failure-color': ICStatusFailed, - 'ic-dot-circle': ICStatusPending, - 'ic-circle-progress': ICStatusProgress, - 'ic-piggybank': ICPiggybank, - 'ic-priority-high-fill': ICPriorityHighFill, - 'ic-priority-low-fill': ICPriorityLowFill, - 'ic-priority-medium-fill': ICPriorityMediumFill, - 'ic-priority-urgent-fill': ICPriorityUrgentFill, - 'ic-spider': ICSpider, - 'ic-vector': ICVector, } export type IconName = keyof typeof iconMap diff --git a/src/index.ts b/src/index.ts index 3ffecebf1..627c7329f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -194,6 +194,7 @@ declare global { interface Window { __BASE_URL__: string __ORCHESTRATOR_ROOT__: string + __ATHENA_ROOT__: string _env_: customEnv } } From e93208ecf7aaa40171a7b08c18edf4a87e00f4bf Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 30 Sep 2025 19:53:17 +0530 Subject: [PATCH 08/45] feat: chatbot changes --- src/Assets/IconV2/ic-new-chat.svg | 5 +++ src/Common/Markdown/MarkDown.tsx | 4 +++ src/Common/Markdown/markdown.scss | 55 +++++++++++++++++++++++++++++ src/Shared/Components/Icon/Icon.tsx | 2 ++ 4 files changed, 66 insertions(+) create mode 100644 src/Assets/IconV2/ic-new-chat.svg diff --git a/src/Assets/IconV2/ic-new-chat.svg b/src/Assets/IconV2/ic-new-chat.svg new file mode 100644 index 000000000..a5d366419 --- /dev/null +++ b/src/Assets/IconV2/ic-new-chat.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Common/Markdown/MarkDown.tsx b/src/Common/Markdown/MarkDown.tsx index 8194b262a..a56f54d4f 100644 --- a/src/Common/Markdown/MarkDown.tsx +++ b/src/Common/Markdown/MarkDown.tsx @@ -80,6 +80,10 @@ const MarkDown = ({ ` renderer.heading = ({ text, depth }: Tokens.Heading) => { + // Alternative debugging - add to window object + if (typeof window !== 'undefined') { + ;(window as any).debugHeadingText = text + } const escapedText = disableEscapedText ? '' : text.toLowerCase().replace(/[^\w]+/g, '-') return ` diff --git a/src/Common/Markdown/markdown.scss b/src/Common/Markdown/markdown.scss index cf8a7af2d..4526d4c91 100644 --- a/src/Common/Markdown/markdown.scss +++ b/src/Common/Markdown/markdown.scss @@ -77,4 +77,59 @@ a.anchor { color: var(--N900); } + h1, h2, h3, h4, h5, h6 .header-link { + color: #000a14 !important; + font-size: 15px !important; + font-family: Open Sans !important; + font-weight: 600 !important; + line-height: 20px !important; + word-wrap: break-word !important; + } +} + +// custom styles +.markdown { + // Title styles + h1, h2, h3, h4, h5, h6 { + &.header-link { + color: #000a14 !important; + font-size: 15px !important; + font-family: Open Sans !important; + font-weight: 600 !important; + line-height: 20px !important; + word-wrap: break-word !important; + } + } + + // Description styles + .md-description { + font-size: 14px; + line-height: 1.6; + color: var(--N700); + margin-bottom: 20px; + } + + // List styles + ul.md-list { + margin: 12px 0; + padding-left: 24px; + + li { + color: var(--neutral-N900, #F8F8F9); + font-size: 13px; + font-family: Open Sans; + font-weight: 400; + line-height: 20px; + word-wrap: break-word; + + &::marker { + color: var(--N400); + } + } + } + + // Nested list styles + ul.md-list ul { + margin: 8px 0; + } } diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 7f033b794..4e84cd451 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -196,6 +196,7 @@ import { ReactComponent as ICMonitoring } from '@IconsV2/ic-monitoring.svg' import { ReactComponent as ICMoreVertical } from '@IconsV2/ic-more-vertical.svg' import { ReactComponent as ICNamespace } from '@IconsV2/ic-namespace.svg' import { ReactComponent as ICNew } from '@IconsV2/ic-new.svg' +import { ReactComponent as ICNewChat } from '@IconsV2/ic-new-chat.svg' import { ReactComponent as ICNodeScript } from '@IconsV2/ic-node-script.svg' import { ReactComponent as ICOidc } from '@IconsV2/ic-oidc.svg' import { ReactComponent as ICOpenBox } from '@IconsV2/ic-open-box.svg' @@ -478,6 +479,7 @@ export const iconMap = { 'ic-monitoring': ICMonitoring, 'ic-more-vertical': ICMoreVertical, 'ic-namespace': ICNamespace, + 'ic-new-chat': ICNewChat, 'ic-new': ICNew, 'ic-node-script': ICNodeScript, 'ic-oidc': ICOidc, From 754404e0073ce428f144f480b941ed6526db8882 Mon Sep 17 00:00:00 2001 From: chithra Date: Tue, 30 Sep 2025 21:22:32 +0530 Subject: [PATCH 09/45] adding new icons --- src/Assets/IconV2/ic-arrow-white.svg | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Assets/IconV2/ic-arrow-white.svg b/src/Assets/IconV2/ic-arrow-white.svg index 38d2caf06..27b058713 100644 --- a/src/Assets/IconV2/ic-arrow-white.svg +++ b/src/Assets/IconV2/ic-arrow-white.svg @@ -1,3 +1,8 @@ +<<<<<<< HEAD +======= + + +>>>>>>> aa18c13c (adding new icons) From 3722b017e146278b671860105575170a1ebb2c92 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Wed, 1 Oct 2025 14:29:15 +0530 Subject: [PATCH 10/45] feat: chatbot makdown styles updated --- src/Common/Markdown/MarkDown.tsx | 3 --- src/Common/Markdown/markdown.scss | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Common/Markdown/MarkDown.tsx b/src/Common/Markdown/MarkDown.tsx index a56f54d4f..3a0076444 100644 --- a/src/Common/Markdown/MarkDown.tsx +++ b/src/Common/Markdown/MarkDown.tsx @@ -81,9 +81,6 @@ const MarkDown = ({ renderer.heading = ({ text, depth }: Tokens.Heading) => { // Alternative debugging - add to window object - if (typeof window !== 'undefined') { - ;(window as any).debugHeadingText = text - } const escapedText = disableEscapedText ? '' : text.toLowerCase().replace(/[^\w]+/g, '-') return ` diff --git a/src/Common/Markdown/markdown.scss b/src/Common/Markdown/markdown.scss index 4526d4c91..67401da32 100644 --- a/src/Common/Markdown/markdown.scss +++ b/src/Common/Markdown/markdown.scss @@ -132,4 +132,7 @@ ul.md-list ul { margin: 8px 0; } + ol { + padding-left: 15px; + } } From d6dba966f4d8601bd063c9be6bebc58ba1d098a0 Mon Sep 17 00:00:00 2001 From: chithra Date: Wed, 1 Oct 2025 16:17:24 +0530 Subject: [PATCH 11/45] Icons added --- src/Shared/Components/Icon/Icon.tsx | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 4e84cd451..f1645fd41 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,5 +1,17 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. - +import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' +import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' +import { ReactComponent as ICClose } from '@Icons/ic-close.svg' +import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' +import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' +import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' +import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' +import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' +import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' +import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' +import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' +import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' +import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -562,6 +574,19 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, + 'ic-bulb': ICRedBulb, + 'ic-red-bulb': ICBulb, + 'ic-failure-color': ICStatusFailed, + 'ic-dot-circle': ICStatusPending, + 'ic-circle-progress': ICStatusProgress, + 'ic-piggybank': ICPiggybank, + 'ic-priority-high-fill': ICPriorityHighFill, + 'ic-priority-low-fill': ICPriorityLowFill, + 'ic-priority-medium-fill': ICPriorityMediumFill, + 'ic-priority-urgent-fill': ICPriorityUrgentFill, + 'ic-spider': ICSpider, + 'ic-vector': ICVector, + 'ic-close': ICClose, } export type IconName = keyof typeof iconMap From a6104548b12aaa4ed6d7a7b94668bdf18b0f1937 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 15:42:33 +0530 Subject: [PATCH 12/45] icons changing to IconsV2 --- src/Assets/Icon/ic-coins.svg | 3 -- src/Assets/Icon/ic-priority-medium-fill.svg | 4 -- src/Assets/{Icon => IconV2}/ic-bulb.svg | 0 .../{Icon => IconV2}/ic-circle-progress.svg | 0 src/Assets/IconV2/ic-coins.svg | 4 +- src/Assets/{Icon => IconV2}/ic-dot-circle.svg | 0 .../{Icon => IconV2}/ic-failure-color.svg | 0 src/Assets/{Icon => IconV2}/ic-piggybank.svg | 0 .../ic-priority-high-fill.svg | 0 .../{Icon => IconV2}/ic-priority-low-fill.svg | 0 src/Assets/IconV2/ic-priority-medium-fill.svg | 6 +++ .../ic-priority-urgent-fill.svg | 0 src/Assets/{Icon => IconV2}/ic-red-bulb.svg | 0 src/Assets/{Icon => IconV2}/ic-spider.svg | 0 src/Assets/{Icon => IconV2}/ic-vector.svg | 0 src/Shared/Components/Icon/Icon.tsx | 51 +++++++++---------- 16 files changed, 33 insertions(+), 35 deletions(-) delete mode 100644 src/Assets/Icon/ic-coins.svg delete mode 100644 src/Assets/Icon/ic-priority-medium-fill.svg rename src/Assets/{Icon => IconV2}/ic-bulb.svg (100%) rename src/Assets/{Icon => IconV2}/ic-circle-progress.svg (100%) rename src/Assets/{Icon => IconV2}/ic-dot-circle.svg (100%) rename src/Assets/{Icon => IconV2}/ic-failure-color.svg (100%) rename src/Assets/{Icon => IconV2}/ic-piggybank.svg (100%) rename src/Assets/{Icon => IconV2}/ic-priority-high-fill.svg (100%) rename src/Assets/{Icon => IconV2}/ic-priority-low-fill.svg (100%) rename src/Assets/{Icon => IconV2}/ic-priority-urgent-fill.svg (100%) rename src/Assets/{Icon => IconV2}/ic-red-bulb.svg (100%) rename src/Assets/{Icon => IconV2}/ic-spider.svg (100%) rename src/Assets/{Icon => IconV2}/ic-vector.svg (100%) diff --git a/src/Assets/Icon/ic-coins.svg b/src/Assets/Icon/ic-coins.svg deleted file mode 100644 index 16072f183..000000000 --- a/src/Assets/Icon/ic-coins.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Assets/Icon/ic-priority-medium-fill.svg b/src/Assets/Icon/ic-priority-medium-fill.svg deleted file mode 100644 index 121997606..000000000 --- a/src/Assets/Icon/ic-priority-medium-fill.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/Assets/Icon/ic-bulb.svg b/src/Assets/IconV2/ic-bulb.svg similarity index 100% rename from src/Assets/Icon/ic-bulb.svg rename to src/Assets/IconV2/ic-bulb.svg diff --git a/src/Assets/Icon/ic-circle-progress.svg b/src/Assets/IconV2/ic-circle-progress.svg similarity index 100% rename from src/Assets/Icon/ic-circle-progress.svg rename to src/Assets/IconV2/ic-circle-progress.svg diff --git a/src/Assets/IconV2/ic-coins.svg b/src/Assets/IconV2/ic-coins.svg index 848b4b283..16072f183 100644 --- a/src/Assets/IconV2/ic-coins.svg +++ b/src/Assets/IconV2/ic-coins.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/Assets/Icon/ic-dot-circle.svg b/src/Assets/IconV2/ic-dot-circle.svg similarity index 100% rename from src/Assets/Icon/ic-dot-circle.svg rename to src/Assets/IconV2/ic-dot-circle.svg diff --git a/src/Assets/Icon/ic-failure-color.svg b/src/Assets/IconV2/ic-failure-color.svg similarity index 100% rename from src/Assets/Icon/ic-failure-color.svg rename to src/Assets/IconV2/ic-failure-color.svg diff --git a/src/Assets/Icon/ic-piggybank.svg b/src/Assets/IconV2/ic-piggybank.svg similarity index 100% rename from src/Assets/Icon/ic-piggybank.svg rename to src/Assets/IconV2/ic-piggybank.svg diff --git a/src/Assets/Icon/ic-priority-high-fill.svg b/src/Assets/IconV2/ic-priority-high-fill.svg similarity index 100% rename from src/Assets/Icon/ic-priority-high-fill.svg rename to src/Assets/IconV2/ic-priority-high-fill.svg diff --git a/src/Assets/Icon/ic-priority-low-fill.svg b/src/Assets/IconV2/ic-priority-low-fill.svg similarity index 100% rename from src/Assets/Icon/ic-priority-low-fill.svg rename to src/Assets/IconV2/ic-priority-low-fill.svg diff --git a/src/Assets/IconV2/ic-priority-medium-fill.svg b/src/Assets/IconV2/ic-priority-medium-fill.svg index 07f524fb4..7d54b4868 100644 --- a/src/Assets/IconV2/ic-priority-medium-fill.svg +++ b/src/Assets/IconV2/ic-priority-medium-fill.svg @@ -1,4 +1,10 @@ +<<<<<<< HEAD +======= + + + +>>>>>>> 324044cd (icons changing to IconsV2) diff --git a/src/Assets/Icon/ic-priority-urgent-fill.svg b/src/Assets/IconV2/ic-priority-urgent-fill.svg similarity index 100% rename from src/Assets/Icon/ic-priority-urgent-fill.svg rename to src/Assets/IconV2/ic-priority-urgent-fill.svg diff --git a/src/Assets/Icon/ic-red-bulb.svg b/src/Assets/IconV2/ic-red-bulb.svg similarity index 100% rename from src/Assets/Icon/ic-red-bulb.svg rename to src/Assets/IconV2/ic-red-bulb.svg diff --git a/src/Assets/Icon/ic-spider.svg b/src/Assets/IconV2/ic-spider.svg similarity index 100% rename from src/Assets/Icon/ic-spider.svg rename to src/Assets/IconV2/ic-spider.svg diff --git a/src/Assets/Icon/ic-vector.svg b/src/Assets/IconV2/ic-vector.svg similarity index 100% rename from src/Assets/Icon/ic-vector.svg rename to src/Assets/IconV2/ic-vector.svg diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index f1645fd41..c0348867a 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -1,17 +1,5 @@ // NOTE: This file is auto-generated. Do not edit directly. Run the script `npm run generate-icon` to update. -import { ReactComponent as ICBulb } from '@Icons/ic-bulb.svg' -import { ReactComponent as ICStatusProgress } from '@Icons/ic-circle-progress.svg' -import { ReactComponent as ICClose } from '@Icons/ic-close.svg' -import { ReactComponent as ICStatusPending } from '@Icons/ic-dot-circle.svg' -import { ReactComponent as ICStatusFailed } from '@Icons/ic-failure-color.svg' -import { ReactComponent as ICPiggybank } from '@Icons/ic-piggybank.svg' -import { ReactComponent as ICPriorityHighFill } from '@Icons/ic-priority-high-fill.svg' -import { ReactComponent as ICPriorityLowFill } from '@Icons/ic-priority-low-fill.svg' -import { ReactComponent as ICPriorityMediumFill } from '@Icons/ic-priority-medium-fill.svg' -import { ReactComponent as ICPriorityUrgentFill } from '@Icons/ic-priority-urgent-fill.svg' -import { ReactComponent as ICRedBulb } from '@Icons/ic-red-bulb.svg' -import { ReactComponent as ICSpider } from '@Icons/ic-spider.svg' -import { ReactComponent as ICVector } from '@Icons/ic-vector.svg' + import { ReactComponent as IC73strings } from '@IconsV2/ic-73strings.svg' import { ReactComponent as ICAborted } from '@IconsV2/ic-aborted.svg' import { ReactComponent as ICActivity } from '@IconsV2/ic-activity.svg' @@ -53,6 +41,7 @@ import { ReactComponent as ICBrowser } from '@IconsV2/ic-browser.svg' import { ReactComponent as ICBug } from '@IconsV2/ic-bug.svg' import { ReactComponent as ICBuildColor } from '@IconsV2/ic-build-color.svg' import { ReactComponent as ICBuilding } from '@IconsV2/ic-building.svg' +import { ReactComponent as ICBulb } from '@IconsV2/ic-bulb.svg' import { ReactComponent as ICCalendar } from '@IconsV2/ic-calendar.svg' import { ReactComponent as ICCancelled } from '@IconsV2/ic-cancelled.svg' import { ReactComponent as ICCardStack } from '@IconsV2/ic-card-stack.svg' @@ -70,6 +59,7 @@ import { ReactComponent as ICChecks } from '@IconsV2/ic-checks.svg' import { ReactComponent as ICCiLinked } from '@IconsV2/ic-ci-linked.svg' import { ReactComponent as ICCircleLoader } from '@IconsV2/ic-circle-loader.svg' import { ReactComponent as ICCircleSmall } from '@IconsV2/ic-circle-small.svg' +import { ReactComponent as ICCircleProgress } from '@IconsV2/ic-circle-progress.svg' import { ReactComponent as ICCleanBrush } from '@IconsV2/ic-clean-brush.svg' import { ReactComponent as ICClipboard } from '@IconsV2/ic-clipboard.svg' import { ReactComponent as ICClock } from '@IconsV2/ic-clock.svg' @@ -109,6 +99,7 @@ import { ReactComponent as ICDiffUpdated } from '@IconsV2/ic-diff-updated.svg' import { ReactComponent as ICDisconnect } from '@IconsV2/ic-disconnect.svg' import { ReactComponent as ICDiscordFill } from '@IconsV2/ic-discord-fill.svg' import { ReactComponent as ICDockerhub } from '@IconsV2/ic-dockerhub.svg' +import { ReactComponent as ICDotCircle } from '@IconsV2/ic-dot-circle.svg' import { ReactComponent as ICDownload } from '@IconsV2/ic-download.svg' import { ReactComponent as ICEcr } from '@IconsV2/ic-ecr.svg' import { ReactComponent as ICEdit } from '@IconsV2/ic-edit.svg' @@ -123,6 +114,7 @@ import { ReactComponent as ICError } from '@IconsV2/ic-error.svg' import { ReactComponent as ICExpandRightSm } from '@IconsV2/ic-expand-right-sm.svg' import { ReactComponent as ICExpandSm } from '@IconsV2/ic-expand-sm.svg' import { ReactComponent as ICFailure } from '@IconsV2/ic-failure.svg' +import { ReactComponent as ICFailureColor } from '@IconsV2/ic-failure-color.svg' import { ReactComponent as ICFastForward } from '@IconsV2/ic-fast-forward.svg' import { ReactComponent as ICFile } from '@IconsV2/ic-file.svg' import { ReactComponent as ICFileCode } from '@IconsV2/ic-file-code.svg' @@ -224,10 +216,16 @@ import { ReactComponent as ICParty } from '@IconsV2/ic-party.svg' import { ReactComponent as ICPath } from '@IconsV2/ic-path.svg' import { ReactComponent as ICPauseCircle } from '@IconsV2/ic-pause-circle.svg' import { ReactComponent as ICPencil } from '@IconsV2/ic-pencil.svg' +import { ReactComponent as ICPiggybank } from '@IconsV2/ic-piggybank.svg' import { ReactComponent as ICPlayOutline } from '@IconsV2/ic-play-outline.svg' +import { ReactComponent as ICPriorityHighFill } from '@IconsV2/ic-priority-high-fill.svg' +import { ReactComponent as ICPriorityLowFill } from '@IconsV2/ic-priority-low-fill.svg' +import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' +import { ReactComponent as ICPriorityUrgentFill } from '@IconsV2/ic-priority-urgent-fill.svg' import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' import { ReactComponent as ICQuay } from '@IconsV2/ic-quay.svg' import { ReactComponent as ICQuote } from '@IconsV2/ic-quote.svg' +import { ReactComponent as ICRedBulb } from '@IconsV2/ic-red-bulb.svg' import { ReactComponent as ICRatings } from '@IconsV2/ic-ratings.svg' import { ReactComponent as ICResizeHandle } from '@IconsV2/ic-resize-handle.svg' import { ReactComponent as ICRightPanelCollapse } from '@IconsV2/ic-right-panel-collapse.svg' @@ -243,6 +241,7 @@ import { ReactComponent as ICSortable } from '@IconsV2/ic-sortable.svg' import { ReactComponent as ICSparkleAiColor } from '@IconsV2/ic-sparkle-ai-color.svg' import { ReactComponent as ICSparkleColor } from '@IconsV2/ic-sparkle-color.svg' import { ReactComponent as ICSpeedometer } from '@IconsV2/ic-speedometer.svg' +import { ReactComponent as ICSpider } from '@IconsV2/ic-spider.svg' import { ReactComponent as ICSpinny } from '@IconsV2/ic-spinny.svg' import { ReactComponent as ICSprayCan } from '@IconsV2/ic-spray-can.svg' import { ReactComponent as ICStack } from '@IconsV2/ic-stack.svg' @@ -281,6 +280,7 @@ import { ReactComponent as ICUpgradeEnterprise } from '@IconsV2/ic-upgrade-enter import { ReactComponent as ICUserCircle } from '@IconsV2/ic-user-circle.svg' import { ReactComponent as ICUserKey } from '@IconsV2/ic-user-key.svg' import { ReactComponent as ICUsers } from '@IconsV2/ic-users.svg' +import { ReactComponent as ICVector } from '@IconsV2/ic-vector.svg' import { ReactComponent as ICViewVariableToggle } from '@IconsV2/ic-view-variable-toggle.svg' import { ReactComponent as ICVisibilityOff } from '@IconsV2/ic-visibility-off.svg' import { ReactComponent as ICVisibilityOn } from '@IconsV2/ic-visibility-on.svg' @@ -337,6 +337,7 @@ export const iconMap = { 'ic-bug': ICBug, 'ic-build-color': ICBuildColor, 'ic-building': ICBuilding, + 'ic-bulb': ICBulb, 'ic-calendar': ICCalendar, 'ic-cancelled': ICCancelled, 'ic-card-stack': ICCardStack, @@ -354,6 +355,7 @@ export const iconMap = { 'ic-ci-linked': ICCiLinked, 'ic-circle-loader': ICCircleLoader, 'ic-circle-small': ICCircleSmall, + 'ic-circle-progress': ICCircleProgress, 'ic-clean-brush': ICCleanBrush, 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, @@ -393,6 +395,7 @@ export const iconMap = { 'ic-disconnect': ICDisconnect, 'ic-discord-fill': ICDiscordFill, 'ic-dockerhub': ICDockerhub, + 'ic-dot-circle': ICDotCircle, 'ic-download': ICDownload, 'ic-ecr': ICEcr, 'ic-edit-lines': ICEditLines, @@ -406,6 +409,7 @@ export const iconMap = { 'ic-error': ICError, 'ic-expand-right-sm': ICExpandRightSm, 'ic-expand-sm': ICExpandSm, + 'ic-failure-color': ICFailureColor, 'ic-failure': ICFailure, 'ic-fast-forward': ICFastForward, 'ic-file-code': ICFileCode, @@ -508,10 +512,16 @@ export const iconMap = { 'ic-path': ICPath, 'ic-pause-circle': ICPauseCircle, 'ic-pencil': ICPencil, + 'ic-piggybank': ICPiggybank, 'ic-play-outline': ICPlayOutline, + 'ic-priority-high-fill': ICPriorityHighFill, + 'ic-priority-low-fill': ICPriorityLowFill, + 'ic-priority-medium-fill': ICPriorityMediumFill, + 'ic-priority-urgent-fill': ICPriorityUrgentFill, 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-quay': ICQuay, 'ic-quote': ICQuote, + 'ic-red-bulb': ICRedBulb, 'ic-ratings': ICRatings, 'ic-resize-handle': ICResizeHandle, 'ic-right-panel-collapse': ICRightPanelCollapse, @@ -527,6 +537,7 @@ export const iconMap = { 'ic-sparkle-ai-color': ICSparkleAiColor, 'ic-sparkle-color': ICSparkleColor, 'ic-speedometer': ICSpeedometer, + 'ic-spider': ICSpider, 'ic-spinny': ICSpinny, 'ic-spray-can': ICSprayCan, 'ic-stack': ICStack, @@ -565,6 +576,7 @@ export const iconMap = { 'ic-user-circle': ICUserCircle, 'ic-user-key': ICUserKey, 'ic-users': ICUsers, + 'ic-vector': ICVector, 'ic-view-variable-toggle': ICViewVariableToggle, 'ic-visibility-off': ICVisibilityOff, 'ic-visibility-on': ICVisibilityOn, @@ -574,19 +586,6 @@ export const iconMap = { 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, 'ic-world-globe': ICWorldGlobe, - 'ic-bulb': ICRedBulb, - 'ic-red-bulb': ICBulb, - 'ic-failure-color': ICStatusFailed, - 'ic-dot-circle': ICStatusPending, - 'ic-circle-progress': ICStatusProgress, - 'ic-piggybank': ICPiggybank, - 'ic-priority-high-fill': ICPriorityHighFill, - 'ic-priority-low-fill': ICPriorityLowFill, - 'ic-priority-medium-fill': ICPriorityMediumFill, - 'ic-priority-urgent-fill': ICPriorityUrgentFill, - 'ic-spider': ICSpider, - 'ic-vector': ICVector, - 'ic-close': ICClose, } export type IconName = keyof typeof iconMap From 16646ea15c96be263e3499417086a16a5ba203bd Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:30:42 +0530 Subject: [PATCH 13/45] Removing unwanted changes --- src/Common/Markdown/MarkDown.tsx | 1 - src/Common/Markdown/markdown.scss | 58 ----------------------------- src/Shared/Components/Icon/Icon.tsx | 6 +-- 3 files changed, 2 insertions(+), 63 deletions(-) diff --git a/src/Common/Markdown/MarkDown.tsx b/src/Common/Markdown/MarkDown.tsx index 3a0076444..8194b262a 100644 --- a/src/Common/Markdown/MarkDown.tsx +++ b/src/Common/Markdown/MarkDown.tsx @@ -80,7 +80,6 @@ const MarkDown = ({ ` renderer.heading = ({ text, depth }: Tokens.Heading) => { - // Alternative debugging - add to window object const escapedText = disableEscapedText ? '' : text.toLowerCase().replace(/[^\w]+/g, '-') return ` diff --git a/src/Common/Markdown/markdown.scss b/src/Common/Markdown/markdown.scss index 67401da32..cf8a7af2d 100644 --- a/src/Common/Markdown/markdown.scss +++ b/src/Common/Markdown/markdown.scss @@ -77,62 +77,4 @@ a.anchor { color: var(--N900); } - h1, h2, h3, h4, h5, h6 .header-link { - color: #000a14 !important; - font-size: 15px !important; - font-family: Open Sans !important; - font-weight: 600 !important; - line-height: 20px !important; - word-wrap: break-word !important; - } -} - -// custom styles -.markdown { - // Title styles - h1, h2, h3, h4, h5, h6 { - &.header-link { - color: #000a14 !important; - font-size: 15px !important; - font-family: Open Sans !important; - font-weight: 600 !important; - line-height: 20px !important; - word-wrap: break-word !important; - } - } - - // Description styles - .md-description { - font-size: 14px; - line-height: 1.6; - color: var(--N700); - margin-bottom: 20px; - } - - // List styles - ul.md-list { - margin: 12px 0; - padding-left: 24px; - - li { - color: var(--neutral-N900, #F8F8F9); - font-size: 13px; - font-family: Open Sans; - font-weight: 400; - line-height: 20px; - word-wrap: break-word; - - &::marker { - color: var(--N400); - } - } - } - - // Nested list styles - ul.md-list ul { - margin: 8px 0; - } - ol { - padding-left: 15px; - } } diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index c0348867a..d6ab1f6c2 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -222,11 +222,10 @@ import { ReactComponent as ICPriorityHighFill } from '@IconsV2/ic-priority-high- import { ReactComponent as ICPriorityLowFill } from '@IconsV2/ic-priority-low-fill.svg' import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' import { ReactComponent as ICPriorityUrgentFill } from '@IconsV2/ic-priority-urgent-fill.svg' -import { ReactComponent as ICPriorityMediumFill } from '@IconsV2/ic-priority-medium-fill.svg' import { ReactComponent as ICQuay } from '@IconsV2/ic-quay.svg' import { ReactComponent as ICQuote } from '@IconsV2/ic-quote.svg' -import { ReactComponent as ICRedBulb } from '@IconsV2/ic-red-bulb.svg' import { ReactComponent as ICRatings } from '@IconsV2/ic-ratings.svg' +import { ReactComponent as ICRedBulb } from '@IconsV2/ic-red-bulb.svg' import { ReactComponent as ICResizeHandle } from '@IconsV2/ic-resize-handle.svg' import { ReactComponent as ICRightPanelCollapse } from '@IconsV2/ic-right-panel-collapse.svg' import { ReactComponent as ICRocketGear } from '@IconsV2/ic-rocket-gear.svg' @@ -518,11 +517,10 @@ export const iconMap = { 'ic-priority-low-fill': ICPriorityLowFill, 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-priority-urgent-fill': ICPriorityUrgentFill, - 'ic-priority-medium-fill': ICPriorityMediumFill, 'ic-quay': ICQuay, 'ic-quote': ICQuote, - 'ic-red-bulb': ICRedBulb, 'ic-ratings': ICRatings, + 'ic-red-bulb': ICRedBulb, 'ic-resize-handle': ICResizeHandle, 'ic-right-panel-collapse': ICRightPanelCollapse, 'ic-rocket-gear': ICRocketGear, From e013add200b7055846418202c798c884ee3e0a6f Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:44:43 +0530 Subject: [PATCH 14/45] Icons adding --- src/Assets/IconV2/ic-arrow-white.svg | 5 ----- src/Assets/IconV2/ic-coin.svg | 3 +++ src/Assets/IconV2/ic-coins.svg | 4 ++-- src/Shared/Components/Icon/Icon.tsx | 2 ++ 4 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 src/Assets/IconV2/ic-coin.svg diff --git a/src/Assets/IconV2/ic-arrow-white.svg b/src/Assets/IconV2/ic-arrow-white.svg index 27b058713..38d2caf06 100644 --- a/src/Assets/IconV2/ic-arrow-white.svg +++ b/src/Assets/IconV2/ic-arrow-white.svg @@ -1,8 +1,3 @@ -<<<<<<< HEAD -======= - - ->>>>>>> aa18c13c (adding new icons) diff --git a/src/Assets/IconV2/ic-coin.svg b/src/Assets/IconV2/ic-coin.svg new file mode 100644 index 000000000..16072f183 --- /dev/null +++ b/src/Assets/IconV2/ic-coin.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-coins.svg b/src/Assets/IconV2/ic-coins.svg index 16072f183..848b4b283 100644 --- a/src/Assets/IconV2/ic-coins.svg +++ b/src/Assets/IconV2/ic-coins.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index d6ab1f6c2..2a7b3365b 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -71,6 +71,7 @@ import { ReactComponent as ICCloudVms } from '@IconsV2/ic-cloud-vms.svg' import { ReactComponent as ICCluster } from '@IconsV2/ic-cluster.svg' import { ReactComponent as ICClusterIsolated } from '@IconsV2/ic-cluster-isolated.svg' import { ReactComponent as ICCode } from '@IconsV2/ic-code.svg' +import { ReactComponent as ICCoin } from '@IconsV2/ic-coin.svg' import { ReactComponent as ICCoins } from '@IconsV2/ic-coins.svg' import { ReactComponent as ICContainer } from '@IconsV2/ic-container.svg' import { ReactComponent as ICContainerRegistry } from '@IconsV2/ic-container-registry.svg' @@ -366,6 +367,7 @@ export const iconMap = { 'ic-cluster-isolated': ICClusterIsolated, 'ic-cluster': ICCluster, 'ic-code': ICCode, + 'ic-coin': ICCoin, 'ic-coins': ICCoins, 'ic-container-registry': ICContainerRegistry, 'ic-container': ICContainer, From 91a76e36ca9426b4dd3cec64c9205106da6a75bf Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:47:11 +0530 Subject: [PATCH 15/45] Adding medium icon --- src/Assets/IconV2/ic-priority-medium-fill.svg | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Assets/IconV2/ic-priority-medium-fill.svg b/src/Assets/IconV2/ic-priority-medium-fill.svg index 7d54b4868..edc1d84e0 100644 --- a/src/Assets/IconV2/ic-priority-medium-fill.svg +++ b/src/Assets/IconV2/ic-priority-medium-fill.svg @@ -1,10 +1,5 @@ -<<<<<<< HEAD - - - -======= - - - ->>>>>>> 324044cd (icons changing to IconsV2) + + + + From dc4ef222db261c8533d4c6e625e1fcde8c066841 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:51:17 +0530 Subject: [PATCH 16/45] Correct icon replaced --- src/Assets/IconV2/ic-priority-medium-fill.svg | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Assets/IconV2/ic-priority-medium-fill.svg b/src/Assets/IconV2/ic-priority-medium-fill.svg index edc1d84e0..07f524fb4 100644 --- a/src/Assets/IconV2/ic-priority-medium-fill.svg +++ b/src/Assets/IconV2/ic-priority-medium-fill.svg @@ -1,5 +1,4 @@ - - - - + + + From df3d18fecb97e7ee79115ad6d4c8efb3c8b7e99c Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:53:38 +0530 Subject: [PATCH 17/45] code formatting --- src/Shared/Components/Icon/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Components/Icon/types.ts b/src/Shared/Components/Icon/types.ts index c352169b6..f939a8e14 100644 --- a/src/Shared/Components/Icon/types.ts +++ b/src/Shared/Components/Icon/types.ts @@ -46,7 +46,7 @@ export interface IconBaseProps { * * @example 'B500', 'N200', 'G50', 'R700' */ - color?: IconBaseColorType + color: IconBaseColorType /** * A unique identifier for testing purposes, typically used in test automation. */ From 516f6762bf401c34b95e8cf370d2fa4f82544530 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 6 Oct 2025 18:59:04 +0530 Subject: [PATCH 18/45] Removing service paths --- src/Common/API/CoreAPI.ts | 31 ++++++++++++++++++++++--------- src/Common/Constants.ts | 7 ------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/Common/API/CoreAPI.ts b/src/Common/API/CoreAPI.ts index 2bf7a2a86..859212a62 100644 --- a/src/Common/API/CoreAPI.ts +++ b/src/Common/API/CoreAPI.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host, SERVICE_PATHS } from '@Common/Constants' +import { API_STATUS_CODES, FALLBACK_REQUEST_TIMEOUT, Host } from '@Common/Constants' import { noop } from '@Common/Helper' import { ServerErrors } from '@Common/ServerError' import { APIOptions, ResponseType } from '@Common/Types' @@ -69,7 +69,7 @@ class CoreAPI { } else { currentUrl = `${this.host}/${url}` } - + return fetch( currentUrl, !isMultipartRequest @@ -281,19 +281,32 @@ class CoreAPI { options?: APIOptions, isMultipartRequest?: boolean, isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) + ): Promise> => + this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) - put = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) + put = ( + url: string, + data: K, + options?: APIOptions, + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) - patch = (url: string, data: K, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) + patch = ( + url: string, + data: K, + options?: APIOptions, + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) get = (url: string, options?: APIOptions, isProxyHost?: boolean): Promise> => this.fetchInTime({ url, type: 'GET', data: null, options, isProxyHost }) - trash = (url: string, data?: K, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) + trash = ( + url: string, + data?: K, + options?: APIOptions, + isProxyHost?: boolean, + ): Promise> => this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) setGlobalAPITimeout = (timeout: number) => { this.timeout = timeout || FALLBACK_REQUEST_TIMEOUT diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index bc833c89d..da240e67b 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -21,13 +21,6 @@ import { BackupAndScheduleListViewEnum, BackupLocationsTypes } from '@PagesDevtr export const FALLBACK_REQUEST_TIMEOUT = 60000 export const Host = window?.__ORCHESTRATOR_ROOT__ ?? '/orchestrator' -// Service path constants for API routing -export const SERVICE_PATHS = { - ATHENA: 'athena', - ORCHESTRATOR: 'orchestrator', - // Add other service paths as needed in the future -} as const - export const DOCUMENTATION_HOME_PAGE = 'https://docs.devtron.ai' export const DEVTRON_HOME_PAGE = 'https://devtron.ai/' export const DOCUMENTATION_VERSION = '/devtron/v1.7' From 4961797058289fb250abdc087edf001f05f1b340 Mon Sep 17 00:00:00 2001 From: chithra Date: Tue, 7 Oct 2025 17:52:23 +0530 Subject: [PATCH 19/45] API changes added --- src/Common/API/CoreAPI.ts | 46 ++++++++++----------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/src/Common/API/CoreAPI.ts b/src/Common/API/CoreAPI.ts index 859212a62..368649cbe 100644 --- a/src/Common/API/CoreAPI.ts +++ b/src/Common/API/CoreAPI.ts @@ -61,17 +61,8 @@ class CoreAPI { } // eslint-disable-next-line dot-notation options['credentials'] = 'include' as RequestCredentials - let currentUrl: string - if (isProxyHost) { - // Remove leading slash from url if it exists to avoid double slash after /proxy - const proxyUrl = url.startsWith('/') ? url.slice(1) : url - currentUrl = `/proxy/${proxyUrl}` - } else { - currentUrl = `${this.host}/${url}` - } - return fetch( - currentUrl, + `${isProxyHost ? '/proxy' : this.host}/${url}`, !isMultipartRequest ? options : ({ @@ -209,8 +200,7 @@ class CoreAPI { data, options, isMultipartRequest, - isProxyHost = false, - }: FetchInTimeParamsType & { isProxyHost?: boolean }): Promise => { + }: FetchInTimeParamsType): Promise => { const controller = options?.abortControllerRef?.current ?? new AbortController() const timeoutSignal = controller.signal @@ -280,33 +270,19 @@ class CoreAPI { data: K, options?: APIOptions, isMultipartRequest?: boolean, - isProxyHost?: boolean, - ): Promise> => - this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest, isProxyHost }) + ): Promise> => this.fetchInTime({ url, type: 'POST', data, options, isMultipartRequest }) - put = ( - url: string, - data: K, - options?: APIOptions, - isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'PUT', data, options, isProxyHost }) + put = (url: string, data: K, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'PUT', data, options }) - patch = ( - url: string, - data: K, - options?: APIOptions, - isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'PATCH', data, options, isProxyHost }) + patch = (url: string, data: K, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'PATCH', data, options }) - get = (url: string, options?: APIOptions, isProxyHost?: boolean): Promise> => - this.fetchInTime({ url, type: 'GET', data: null, options, isProxyHost }) + get = (url: string, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'GET', data: null, options }) - trash = ( - url: string, - data?: K, - options?: APIOptions, - isProxyHost?: boolean, - ): Promise> => this.fetchInTime({ url, type: 'DELETE', data, options, isProxyHost }) + trash = (url: string, data?: K, options?: APIOptions): Promise> => + this.fetchInTime({ url, type: 'DELETE', data, options }) setGlobalAPITimeout = (timeout: number) => { this.timeout = timeout || FALLBACK_REQUEST_TIMEOUT From 10443db5b483c7d79cdd467496bc8eb2e154ef20 Mon Sep 17 00:00:00 2001 From: chithra Date: Sun, 12 Oct 2025 21:40:22 +0530 Subject: [PATCH 20/45] feat: Runbook implentation --- src/Assets/IconV2/ic-book-gear.svg | 9 +++++++++ src/Assets/IconV2/ic-check-green.svg | 3 +++ src/Assets/IconV2/ic-close-circle-red.svg | 3 +++ src/Assets/IconV2/ic-close-circle.svg | 3 +++ src/Assets/IconV2/ic-confirm.svg | 3 +++ src/Assets/IconV2/ic-info-filled-new.svg | 8 ++++++++ src/Assets/IconV2/ic-pencil-white.svg | 3 +++ src/Assets/IconV2/ic-timer-green.svg | 3 +++ src/Assets/IconV2/ic-timer-red.svg | 3 +++ src/Common/Constants.ts | 1 + src/Shared/Components/Icon/Icon.tsx | 18 ++++++++++++++++++ src/Shared/Hooks/useUserPreferences/types.ts | 2 ++ 12 files changed, 59 insertions(+) create mode 100644 src/Assets/IconV2/ic-book-gear.svg create mode 100644 src/Assets/IconV2/ic-check-green.svg create mode 100644 src/Assets/IconV2/ic-close-circle-red.svg create mode 100644 src/Assets/IconV2/ic-close-circle.svg create mode 100644 src/Assets/IconV2/ic-confirm.svg create mode 100644 src/Assets/IconV2/ic-info-filled-new.svg create mode 100644 src/Assets/IconV2/ic-pencil-white.svg create mode 100644 src/Assets/IconV2/ic-timer-green.svg create mode 100644 src/Assets/IconV2/ic-timer-red.svg diff --git a/src/Assets/IconV2/ic-book-gear.svg b/src/Assets/IconV2/ic-book-gear.svg new file mode 100644 index 000000000..aad326fba --- /dev/null +++ b/src/Assets/IconV2/ic-book-gear.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/Assets/IconV2/ic-check-green.svg b/src/Assets/IconV2/ic-check-green.svg new file mode 100644 index 000000000..3d2537bba --- /dev/null +++ b/src/Assets/IconV2/ic-check-green.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-close-circle-red.svg b/src/Assets/IconV2/ic-close-circle-red.svg new file mode 100644 index 000000000..39eb6570a --- /dev/null +++ b/src/Assets/IconV2/ic-close-circle-red.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-close-circle.svg b/src/Assets/IconV2/ic-close-circle.svg new file mode 100644 index 000000000..5c48b3451 --- /dev/null +++ b/src/Assets/IconV2/ic-close-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-confirm.svg b/src/Assets/IconV2/ic-confirm.svg new file mode 100644 index 000000000..33f68aeed --- /dev/null +++ b/src/Assets/IconV2/ic-confirm.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-info-filled-new.svg b/src/Assets/IconV2/ic-info-filled-new.svg new file mode 100644 index 000000000..121dc6fc3 --- /dev/null +++ b/src/Assets/IconV2/ic-info-filled-new.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/src/Assets/IconV2/ic-pencil-white.svg b/src/Assets/IconV2/ic-pencil-white.svg new file mode 100644 index 000000000..85f43a527 --- /dev/null +++ b/src/Assets/IconV2/ic-pencil-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-timer-green.svg b/src/Assets/IconV2/ic-timer-green.svg new file mode 100644 index 000000000..da7308969 --- /dev/null +++ b/src/Assets/IconV2/ic-timer-green.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-timer-red.svg b/src/Assets/IconV2/ic-timer-red.svg new file mode 100644 index 000000000..fd3f830d4 --- /dev/null +++ b/src/Assets/IconV2/ic-timer-red.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index da240e67b..0434eb9dc 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -143,6 +143,7 @@ export const URLS = { AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, AI_RECOMMENDATIONS_OVERVIEW: `${AI_RECOMMENDATIONS_ROOT}/overview`, EXTERNAL_APPS: 'ea', + AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, } as const export const ROUTES = { diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 2a7b3365b..6a4c37f21 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -34,6 +34,7 @@ import { ReactComponent as ICBgScan } from '@IconsV2/ic-bg-scan.svg' import { ReactComponent as ICBgWebhook } from '@IconsV2/ic-bg-webhook.svg' import { ReactComponent as ICBharatpe } from '@IconsV2/ic-bharatpe.svg' import { ReactComponent as ICBitbucket } from '@IconsV2/ic-bitbucket.svg' +import { ReactComponent as ICBookGear } from '@IconsV2/ic-book-gear.svg' import { ReactComponent as ICBookOpen } from '@IconsV2/ic-book-open.svg' import { ReactComponent as ICBot } from '@IconsV2/ic-bot.svg' import { ReactComponent as ICBrain } from '@IconsV2/ic-brain.svg' @@ -54,6 +55,7 @@ import { ReactComponent as ICChatCircleOnline } from '@IconsV2/ic-chat-circle-on import { ReactComponent as ICCheck } from '@IconsV2/ic-check.svg' import { ReactComponent as ICCheckAll } from '@IconsV2/ic-check-all.svg' import { ReactComponent as ICCheckCircle } from '@IconsV2/ic-check-circle.svg' +import { ReactComponent as ICCheckGreen } from '@IconsV2/ic-check-green.svg' import { ReactComponent as ICCheckSquare } from '@IconsV2/ic-check-square.svg' import { ReactComponent as ICChecks } from '@IconsV2/ic-checks.svg' import { ReactComponent as ICCiLinked } from '@IconsV2/ic-ci-linked.svg' @@ -64,6 +66,8 @@ import { ReactComponent as ICCleanBrush } from '@IconsV2/ic-clean-brush.svg' import { ReactComponent as ICClipboard } from '@IconsV2/ic-clipboard.svg' import { ReactComponent as ICClock } from '@IconsV2/ic-clock.svg' import { ReactComponent as ICClockCounterclockwise } from '@IconsV2/ic-clock-counterclockwise.svg' +import { ReactComponent as ICCloseCircle } from '@IconsV2/ic-close-circle.svg' +import { ReactComponent as ICCloseCircleRed } from '@IconsV2/ic-close-circle-red.svg' import { ReactComponent as ICCloseLarge } from '@IconsV2/ic-close-large.svg' import { ReactComponent as ICCloseSmall } from '@IconsV2/ic-close-small.svg' import { ReactComponent as ICCloud } from '@IconsV2/ic-cloud.svg' @@ -73,6 +77,7 @@ import { ReactComponent as ICClusterIsolated } from '@IconsV2/ic-cluster-isolate import { ReactComponent as ICCode } from '@IconsV2/ic-code.svg' import { ReactComponent as ICCoin } from '@IconsV2/ic-coin.svg' import { ReactComponent as ICCoins } from '@IconsV2/ic-coins.svg' +import { ReactComponent as ICConfirm } from '@IconsV2/ic-confirm.svg' import { ReactComponent as ICContainer } from '@IconsV2/ic-container.svg' import { ReactComponent as ICContainerRegistry } from '@IconsV2/ic-container-registry.svg' import { ReactComponent as ICCookr } from '@IconsV2/ic-cookr.svg' @@ -162,6 +167,7 @@ import { ReactComponent as ICHibernateCircle } from '@IconsV2/ic-hibernate-circl import { ReactComponent as ICInProgress } from '@IconsV2/ic-in-progress.svg' import { ReactComponent as ICInfoFilled } from '@IconsV2/ic-info-filled.svg' import { ReactComponent as ICInfoFilledColor } from '@IconsV2/ic-info-filled-color.svg' +import { ReactComponent as ICInfoFilledNew } from '@IconsV2/ic-info-filled-new.svg' import { ReactComponent as ICInfoOutline } from '@IconsV2/ic-info-outline.svg' import { ReactComponent as ICInput } from '@IconsV2/ic-input.svg' import { ReactComponent as ICInstall } from '@IconsV2/ic-install.svg' @@ -217,6 +223,7 @@ import { ReactComponent as ICParty } from '@IconsV2/ic-party.svg' import { ReactComponent as ICPath } from '@IconsV2/ic-path.svg' import { ReactComponent as ICPauseCircle } from '@IconsV2/ic-pause-circle.svg' import { ReactComponent as ICPencil } from '@IconsV2/ic-pencil.svg' +import { ReactComponent as ICPencilWhite } from '@IconsV2/ic-pencil-white.svg' import { ReactComponent as ICPiggybank } from '@IconsV2/ic-piggybank.svg' import { ReactComponent as ICPlayOutline } from '@IconsV2/ic-play-outline.svg' import { ReactComponent as ICPriorityHighFill } from '@IconsV2/ic-priority-high-fill.svg' @@ -270,6 +277,8 @@ import { ReactComponent as ICThumbDown } from '@IconsV2/ic-thumb-down.svg' import { ReactComponent as ICThumbUp } from '@IconsV2/ic-thumb-up.svg' import { ReactComponent as ICTimeoutDash } from '@IconsV2/ic-timeout-dash.svg' import { ReactComponent as ICTimer } from '@IconsV2/ic-timer.svg' +import { ReactComponent as ICTimerGreen } from '@IconsV2/ic-timer-green.svg' +import { ReactComponent as ICTimerRed } from '@IconsV2/ic-timer-red.svg' import { ReactComponent as ICTrafficSignal } from '@IconsV2/ic-traffic-signal.svg' import { ReactComponent as ICTravclan } from '@IconsV2/ic-travclan.svg' import { ReactComponent as ICTrendUp } from '@IconsV2/ic-trend-up.svg' @@ -330,6 +339,7 @@ export const iconMap = { 'ic-bg-webhook': ICBgWebhook, 'ic-bharatpe': ICBharatpe, 'ic-bitbucket': ICBitbucket, + 'ic-book-gear': ICBookGear, 'ic-book-open': ICBookOpen, 'ic-bot': ICBot, 'ic-brain': ICBrain, @@ -349,6 +359,7 @@ export const iconMap = { 'ic-chat-circle-online': ICChatCircleOnline, 'ic-check-all': ICCheckAll, 'ic-check-circle': ICCheckCircle, + 'ic-check-green': ICCheckGreen, 'ic-check-square': ICCheckSquare, 'ic-check': ICCheck, 'ic-checks': ICChecks, @@ -360,6 +371,8 @@ export const iconMap = { 'ic-clipboard': ICClipboard, 'ic-clock-counterclockwise': ICClockCounterclockwise, 'ic-clock': ICClock, + 'ic-close-circle-red': ICCloseCircleRed, + 'ic-close-circle': ICCloseCircle, 'ic-close-large': ICCloseLarge, 'ic-close-small': ICCloseSmall, 'ic-cloud-vms': ICCloudVms, @@ -369,6 +382,7 @@ export const iconMap = { 'ic-code': ICCode, 'ic-coin': ICCoin, 'ic-coins': ICCoins, + 'ic-confirm': ICConfirm, 'ic-container-registry': ICContainerRegistry, 'ic-container': ICContainer, 'ic-cookr': ICCookr, @@ -457,6 +471,7 @@ export const iconMap = { 'ic-hibernate': ICHibernate, 'ic-in-progress': ICInProgress, 'ic-info-filled-color': ICInfoFilledColor, + 'ic-info-filled-new': ICInfoFilledNew, 'ic-info-filled': ICInfoFilled, 'ic-info-outline': ICInfoOutline, 'ic-input': ICInput, @@ -512,6 +527,7 @@ export const iconMap = { 'ic-party': ICParty, 'ic-path': ICPath, 'ic-pause-circle': ICPauseCircle, + 'ic-pencil-white': ICPencilWhite, 'ic-pencil': ICPencil, 'ic-piggybank': ICPiggybank, 'ic-play-outline': ICPlayOutline, @@ -565,6 +581,8 @@ export const iconMap = { 'ic-thumb-down': ICThumbDown, 'ic-thumb-up': ICThumbUp, 'ic-timeout-dash': ICTimeoutDash, + 'ic-timer-green': ICTimerGreen, + 'ic-timer-red': ICTimerRed, 'ic-timer': ICTimer, 'ic-traffic-signal': ICTrafficSignal, 'ic-travclan': ICTravclan, diff --git a/src/Shared/Hooks/useUserPreferences/types.ts b/src/Shared/Hooks/useUserPreferences/types.ts index 9227f147b..160f3c06b 100644 --- a/src/Shared/Hooks/useUserPreferences/types.ts +++ b/src/Shared/Hooks/useUserPreferences/types.ts @@ -58,6 +58,7 @@ export type NavigationItemID = | 'data-protection-backup-locations' | 'data-protection-history-and-logs' | 'ai-recommendations-overview' + | 'ai-recommendations-runbooks' export type NavigationSubMenuItemID = | 'application-management-configurations-gitops' @@ -66,6 +67,7 @@ export type NavigationSubMenuItemID = | 'application-management-configurations-chart-repository' | 'application-management-configurations-deployment-charts' | 'application-management-configurations-notifications' + | 'application-management-configurations-runbook' | 'application-management-configurations-catalog-frameworks' | 'application-management-configurations-scoped-variables' | 'application-management-configurations-build-infra' From 85943f0031ef7bfe2c6ae78ad7f007d97698f1a2 Mon Sep 17 00:00:00 2001 From: chithra Date: Wed, 15 Oct 2025 16:33:27 +0530 Subject: [PATCH 21/45] Changing the path --- src/Common/Constants.ts | 1 + .../SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md | 0 .../SelectPicker/GroupedFilterSelectPicker.example.tsx | 0 src/Shared/Hooks/useUserPreferences/types.ts | 1 + 4 files changed, 2 insertions(+) delete mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md delete mode 100644 src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index 0434eb9dc..7ed546c26 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -142,6 +142,7 @@ export const URLS = { // AI RECOMMENDATIONS AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, AI_RECOMMENDATIONS_OVERVIEW: `${AI_RECOMMENDATIONS_ROOT}/overview`, + AI_RECOMMENDATIONS_NOTIFICATIONS: `${AI_RECOMMENDATIONS_ROOT}/notifications`, EXTERNAL_APPS: 'ea', AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, } as const diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker-Usage-Guide.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx b/src/Shared/Components/SelectPicker/GroupedFilterSelectPicker.example.tsx deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/Shared/Hooks/useUserPreferences/types.ts b/src/Shared/Hooks/useUserPreferences/types.ts index 160f3c06b..db29cabdd 100644 --- a/src/Shared/Hooks/useUserPreferences/types.ts +++ b/src/Shared/Hooks/useUserPreferences/types.ts @@ -59,6 +59,7 @@ export type NavigationItemID = | 'data-protection-history-and-logs' | 'ai-recommendations-overview' | 'ai-recommendations-runbooks' + | 'ai-recommendations-notifications' export type NavigationSubMenuItemID = | 'application-management-configurations-gitops' From ac708d762602b8930803ef629201550c7e2df77a Mon Sep 17 00:00:00 2001 From: chithra Date: Wed, 22 Oct 2025 11:49:59 +0530 Subject: [PATCH 22/45] duplicates icons removed --- src/Assets/IconV2/ic-coin.svg | 3 --- src/Assets/IconV2/ic-vector.svg | 3 --- src/Common/Constants.ts | 2 +- src/Shared/Components/Icon/Icon.tsx | 4 ---- 4 files changed, 1 insertion(+), 11 deletions(-) delete mode 100644 src/Assets/IconV2/ic-coin.svg delete mode 100644 src/Assets/IconV2/ic-vector.svg diff --git a/src/Assets/IconV2/ic-coin.svg b/src/Assets/IconV2/ic-coin.svg deleted file mode 100644 index 16072f183..000000000 --- a/src/Assets/IconV2/ic-coin.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Assets/IconV2/ic-vector.svg b/src/Assets/IconV2/ic-vector.svg deleted file mode 100644 index 5ea230dca..000000000 --- a/src/Assets/IconV2/ic-vector.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index 7ed546c26..58dc559d2 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -139,9 +139,9 @@ export const URLS = { GLOBAL_CONFIG_DOCKER: `${GLOBAL_CONFIG_ROOT}/docker`, GLOBAL_CONFIG_EDIT_CLUSTER: `${GLOBAL_CONFIG_ROOT}/cluster-env/edit/:clusterId`, PERMISSION_GROUPS: `${GLOBAL_CONFIG_ROOT}/auth/groups`, + // AI RECOMMENDATIONS AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, - AI_RECOMMENDATIONS_OVERVIEW: `${AI_RECOMMENDATIONS_ROOT}/overview`, AI_RECOMMENDATIONS_NOTIFICATIONS: `${AI_RECOMMENDATIONS_ROOT}/notifications`, EXTERNAL_APPS: 'ea', AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 6a4c37f21..9dd61269e 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -75,7 +75,6 @@ import { ReactComponent as ICCloudVms } from '@IconsV2/ic-cloud-vms.svg' import { ReactComponent as ICCluster } from '@IconsV2/ic-cluster.svg' import { ReactComponent as ICClusterIsolated } from '@IconsV2/ic-cluster-isolated.svg' import { ReactComponent as ICCode } from '@IconsV2/ic-code.svg' -import { ReactComponent as ICCoin } from '@IconsV2/ic-coin.svg' import { ReactComponent as ICCoins } from '@IconsV2/ic-coins.svg' import { ReactComponent as ICConfirm } from '@IconsV2/ic-confirm.svg' import { ReactComponent as ICContainer } from '@IconsV2/ic-container.svg' @@ -289,7 +288,6 @@ import { ReactComponent as ICUpgradeEnterprise } from '@IconsV2/ic-upgrade-enter import { ReactComponent as ICUserCircle } from '@IconsV2/ic-user-circle.svg' import { ReactComponent as ICUserKey } from '@IconsV2/ic-user-key.svg' import { ReactComponent as ICUsers } from '@IconsV2/ic-users.svg' -import { ReactComponent as ICVector } from '@IconsV2/ic-vector.svg' import { ReactComponent as ICViewVariableToggle } from '@IconsV2/ic-view-variable-toggle.svg' import { ReactComponent as ICVisibilityOff } from '@IconsV2/ic-visibility-off.svg' import { ReactComponent as ICVisibilityOn } from '@IconsV2/ic-visibility-on.svg' @@ -380,7 +378,6 @@ export const iconMap = { 'ic-cluster-isolated': ICClusterIsolated, 'ic-cluster': ICCluster, 'ic-code': ICCode, - 'ic-coin': ICCoin, 'ic-coins': ICCoins, 'ic-confirm': ICConfirm, 'ic-container-registry': ICContainerRegistry, @@ -594,7 +591,6 @@ export const iconMap = { 'ic-user-circle': ICUserCircle, 'ic-user-key': ICUserKey, 'ic-users': ICUsers, - 'ic-vector': ICVector, 'ic-view-variable-toggle': ICViewVariableToggle, 'ic-visibility-off': ICVisibilityOff, 'ic-visibility-on': ICVisibilityOn, From a66904e604f1f0d985a1a5ea404bc2b99bf59b7f Mon Sep 17 00:00:00 2001 From: Asika TK Date: Mon, 13 Oct 2025 14:53:16 +0530 Subject: [PATCH 23/45] feat: chatbot graphs --- src/Shared/Providers/MainContextProvider/types.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Shared/Providers/MainContextProvider/types.ts b/src/Shared/Providers/MainContextProvider/types.ts index f04949c4d..0ab1831b0 100644 --- a/src/Shared/Providers/MainContextProvider/types.ts +++ b/src/Shared/Providers/MainContextProvider/types.ts @@ -48,6 +48,7 @@ export interface SidePanelConfig { /** URL to documentation that should be displayed in the panel */ docLink: string | null aiSessionId?: string + isExpandedView?: boolean } type AIAgentContextType = { From e23ba7a043134e9e58caac38ade5877740c07d9f Mon Sep 17 00:00:00 2001 From: Asika TK Date: Thu, 23 Oct 2025 11:32:23 +0530 Subject: [PATCH 24/45] audit-logs --- src/Common/Constants.ts | 1 + src/Shared/Hooks/useUserPreferences/types.ts | 1 + src/index.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index 58dc559d2..b59de68ee 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -108,6 +108,7 @@ export const URLS = { INFRASTRUCTURE_MANAGEMENT_OVERVIEW: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/overview`, INFRASTRUCTURE_MANAGEMENT_RESOURCE_BROWSER: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/resource-browser`, INFRASTRUCTURE_MANAGEMENT_RESOURCE_WATCHER: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/resource-watcher`, + INFRASTRUCTURE_MANAGEMENT_AUDIT_LOGS: `${INFRASTRUCTURE_MANAGEMENT_ROOT}/audit-logs`, // SOFTWARE RELEASE MANAGEMENT SOFTWARE_RELEASE_MANAGEMENT: SOFTWARE_RELEASE_MANAGEMENT_ROOT, // COST VISIBILITY diff --git a/src/Shared/Hooks/useUserPreferences/types.ts b/src/Shared/Hooks/useUserPreferences/types.ts index db29cabdd..9707e0506 100644 --- a/src/Shared/Hooks/useUserPreferences/types.ts +++ b/src/Shared/Hooks/useUserPreferences/types.ts @@ -32,6 +32,7 @@ export type NavigationItemID = | 'infrastructure-management-resource-browser' | 'infrastructure-management-resource-watcher' | 'infrastructure-management-catalog-framework' + | 'infrastructure-management-audit-logs' | 'software-release-management-overview' | 'software-release-management-release-hub' | 'software-release-management-tenants' diff --git a/src/index.ts b/src/index.ts index 627c7329f..e6f035bf4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -189,6 +189,7 @@ export interface customEnv { * Time interval in seconds to refetch command bar data - Applications List */ COMMAND_BAR_REFETCH_INTERVAL?: number + HIDE_AUDIT_LOGS?: boolean } declare global { interface Window { From 867f2637c6242ddfca434f0e20321d0eec104d2b Mon Sep 17 00:00:00 2001 From: chithra Date: Thu, 23 Oct 2025 13:55:59 +0530 Subject: [PATCH 25/45] sample run book link added --- src/Shared/Components/DocLink/constants.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Shared/Components/DocLink/constants.ts b/src/Shared/Components/DocLink/constants.ts index a8dbe184b..70cbc3e2d 100644 --- a/src/Shared/Components/DocLink/constants.ts +++ b/src/Shared/Components/DocLink/constants.ts @@ -116,7 +116,8 @@ export const DOCUMENTATION = { GLOBAL_CONFIG_SSO_LOGIN_MICROSOFT: 'global-configurations/authorization/sso-login/microsoft', GLOBAL_CONFIG_PULL_IMAGE_DIGEST: 'global-configurations/pull-image-digest', GLOBAL_CONFIG_TAGS: 'getting-started/global-configurations/tags-policy', - + // TODO: Replace with correct Url + SAMPLE_RUNBOOK_LINK: 'https://github.com/devtron-labs/athena-be/wiki/Runbook-Actions', // Software Release Management SOFTWARE_DISTRIBUTION_HUB: 'usage/software-distribution-hub', RELEASE_TRACKS: 'usage/software-distribution-hub/release-hub#creating-release-tracks-and-versions', From a882d6cd83d7feec6af05c50c03f9ad1d2f5e458 Mon Sep 17 00:00:00 2001 From: chithra Date: Thu, 23 Oct 2025 14:17:04 +0530 Subject: [PATCH 26/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba28c4d9e..847f0d98f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-20", + "version": "1.20.6-pre-21", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-20", + "version": "1.20.6-pre-21", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0ec5e10c5..0eb8d4675 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-20", + "version": "1.20.6-pre-21", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 195f2a90402c179761b3f6e7180bb64af2478d9c Mon Sep 17 00:00:00 2001 From: chithra Date: Thu, 23 Oct 2025 14:25:57 +0530 Subject: [PATCH 27/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 847f0d98f..74069eb69 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-21", + "version": "1.20.6-pre-25", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-21", + "version": "1.20.6-pre-25", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0eb8d4675..35bf538e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-21", + "version": "1.20.6-pre-25", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 1f4c37cce0d48c518adfd1e98c77125f3cebd15b Mon Sep 17 00:00:00 2001 From: Asika TK Date: Sat, 25 Oct 2025 10:47:15 +0530 Subject: [PATCH 28/45] charts added axes configs --- .../Components/Charts/Chart.component.tsx | 19 ++- src/Shared/Components/Charts/types.ts | 15 ++- src/Shared/Components/Charts/utils.tsx | 119 +++++++++++++----- 3 files changed, 117 insertions(+), 36 deletions(-) diff --git a/src/Shared/Components/Charts/Chart.component.tsx b/src/Shared/Components/Charts/Chart.component.tsx index c2c470886..93e15e0d4 100644 --- a/src/Shared/Components/Charts/Chart.component.tsx +++ b/src/Shared/Components/Charts/Chart.component.tsx @@ -158,6 +158,8 @@ ChartJSTooltip.positioners.barElementCenterPositioner = (items, eventPosition) = * @param type - Chart type: 'area', 'pie', 'stackedBar', 'stackedBarHorizontal', or 'line' * @param xAxisLabels - Array of labels for the x-axis (or categories for pie charts) * @param datasets - Chart data: array of datasets for most charts, single dataset object for pie charts + * @param xAxisConfig + * @param yAxisConfig * * @performance * **Memoization Recommendations:** @@ -201,6 +203,8 @@ const Chart = (props: ChartProps) => { xScaleTitle, yAxisMax, yScaleTitle, + xAxisConfig, + yAxisConfig, } = props const { getTooltipContent, placement } = tooltipConfig || { placement: 'top' } @@ -294,7 +298,20 @@ const Chart = (props: ChartProps) => { return () => { chartRef.current.destroy() } - }, [type, datasets, labels, appTheme, hideAxis, referenceLines, xAxisMax, xScaleTitle, yAxisMax, yScaleTitle]) + }, [ + type, + datasets, + labels, + appTheme, + hideAxis, + referenceLines, + xAxisMax, + xScaleTitle, + yAxisMax, + yScaleTitle, + xAxisConfig, + yAxisConfig, + ]) return (
diff --git a/src/Shared/Components/Charts/types.ts b/src/Shared/Components/Charts/types.ts index 78fbd2b5a..9041289f3 100644 --- a/src/Shared/Components/Charts/types.ts +++ b/src/Shared/Components/Charts/types.ts @@ -50,6 +50,17 @@ export interface ReferenceLineConfigType { value: number } +export interface AxisConfig { + title?: string + unit?: string + unitPosition?: 'prefix' | 'suffix' + labelFormatter?: (value: number | string, index: number) => string | string[] | number | number[] + hide?: boolean + max?: number + min?: number + stepSize?: number +} + type XYAxisMax = { xAxisMax?: number yAxisMax?: number @@ -57,6 +68,8 @@ type XYAxisMax = { * Optional reference lines to draw across the chart */ referenceLines?: ReferenceLineConfigType[] + xAxisConfig?: AxisConfig + yAxisConfig?: AxisConfig } type OnChartClickHandler = (datasetName: string, value: number) => void @@ -116,9 +129,7 @@ export type ChartProps = { placement?: TooltipProps['placement'] datasetValueFormatter?: (value: number) => string | number } - /** A title for x axis */ xScaleTitle?: string - /** A title for y axis */ yScaleTitle?: string } & TypeAndDatasetsType diff --git a/src/Shared/Components/Charts/utils.tsx b/src/Shared/Components/Charts/utils.tsx index 92145eb6e..209765768 100644 --- a/src/Shared/Components/Charts/utils.tsx +++ b/src/Shared/Components/Charts/utils.tsx @@ -23,6 +23,7 @@ import { MAX_BAR_THICKNESS, } from './constants' import { + AxisConfig, ChartColorKey, ChartProps, ChartType, @@ -173,6 +174,66 @@ const getScaleTickTitleConfig = (title: string, appTheme: AppThemeType): ScaleOp color: CHART_AXIS_LABELS_COLOR[appTheme], }) +/** + * Formats a value with unit based on axis configuration + */ +const formatValueWithUnit = (value: number | string, axisConfig?: AxisConfig): string => { + if (!axisConfig?.unit) { + return String(value) + } + + const { unit, unitPosition = 'suffix' } = axisConfig + const valueStr = String(value) + + return unitPosition === 'prefix' ? `${unit}${valueStr}` : `${valueStr}${unit}` +} + +/** + * Creates a comprehensive axis configuration with enhanced customization + */ +const getEnhancedAxisConfig = ( + axisConfig: AxisConfig | undefined, + legacyTitle: string | undefined, + legacyMax: number | undefined, + appTheme: AppThemeType, + isHidden: boolean, + hideLabels: boolean = false, +): ScaleOptions<'linear'> => { + // Merge legacy props with new axis config (new config takes priority) + const title = axisConfig?.title || legacyTitle + const max = axisConfig?.max !== undefined ? axisConfig.max : legacyMax + const hide = axisConfig?.hide !== undefined ? axisConfig.hide : isHidden + + return { + display: !hide, + min: axisConfig?.min, + max, + border: { + color: CHART_AXIS_COLORS[appTheme], + }, + grid: { + color: CHART_GRID_LINES_COLORS[appTheme], + }, + title: getScaleTickTitleConfig(title || '', appTheme), + ticks: { + display: !hideLabels && !hide, + color: CHART_AXIS_LABELS_COLOR[appTheme], + font: { + family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", + size: 12, + lineHeight: '150%', + weight: 400, + }, + stepSize: axisConfig?.stepSize, + callback: + axisConfig?.labelFormatter || + ((value) => + // Apply unit formatting if specified + formatValueWithUnit(value, axisConfig)), + }, + } +} + // Get default options based on chart type export const getDefaultOptions = ({ chartProps, @@ -189,6 +250,8 @@ export const getDefaultOptions = ({ yAxisMax, xScaleTitle, yScaleTitle, + xAxisConfig, + yAxisConfig, yScaleTickFormat, xScaleTickFormat, xAxisLabels, @@ -249,34 +312,27 @@ export const getDefaultOptions = ({ : {}), } - const commonScaleConfig = { - display: !hideAxis, - border: { - color: CHART_AXIS_COLORS[appTheme], - }, - grid: { - color: CHART_GRID_LINES_COLORS[appTheme], - }, - ticks: { - display: !hideXAxisLabels, - color: CHART_AXIS_LABELS_COLOR[appTheme], - font: { - family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", - size: 12, - lineHeight: '150%', - weight: 400, - }, - }, - } satisfies ScaleOptions<'linear'> + // Create enhanced axis configurations + const enhancedXAxisConfig = getEnhancedAxisConfig( + xAxisConfig, + xScaleTitle, + xAxisMax, + appTheme, + hideAxis, + hideXAxisLabels, + ) + const enhancedYAxisConfig = getEnhancedAxisConfig(yAxisConfig, yScaleTitle, yAxisMax, appTheme, hideAxis, false) + + // Apply legacy tick formatters if no custom formatter is provided in axis config const commonXScaleConfig = { - ...commonScaleConfig, - max: xAxisMax, - title: getScaleTickTitleConfig(xScaleTitle, appTheme), + ...enhancedXAxisConfig, ticks: { - ...commonScaleConfig.ticks, - ...((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') + ...enhancedXAxisConfig.ticks, + autoSkip: false, + ...(!xAxisConfig?.labelFormatter && + ((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) ? { callback: type === 'stackedBarHorizontal' @@ -284,19 +340,16 @@ export const getDefaultOptions = ({ : (_, index) => xScaleTickFormat(xAxisLabels[index], index), } : {}), - autoSkip: false, }, } satisfies ScaleOptions<'linear'> const commonYScaleConfig = { - ...commonScaleConfig, - max: yAxisMax, - title: getScaleTickTitleConfig(yScaleTitle, appTheme), - // for stackedBarHorizon + ...enhancedYAxisConfig, ticks: { - ...commonScaleConfig.ticks, - ...((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') + ...enhancedYAxisConfig.ticks, + ...(!yAxisConfig?.labelFormatter && + ((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) ? { callback: type !== 'stackedBarHorizontal' From bfa89347799059f0983f85d727d60eceee2cb2fc Mon Sep 17 00:00:00 2001 From: Asika TK Date: Sat, 25 Oct 2025 11:07:11 +0530 Subject: [PATCH 29/45] chart config version update --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 74069eb69..41433cfc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-25", + "version": "1.20.6-pre-26", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-25", + "version": "1.20.6-pre-26", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 35bf538e8..619b8b954 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-25", + "version": "1.20.6-pre-26", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 2b2a5de858305ad13e6f39a1a650ac04bc2b8184 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 27 Oct 2025 13:27:47 +0530 Subject: [PATCH 30/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 41433cfc5..e0422fd9e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-26", + "version": "1.20.6-pre-29", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-26", + "version": "1.20.6-pre-29", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 619b8b954..7fb5ad027 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-26", + "version": "1.20.6-pre-29", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 0c4370cbefa51be4e4bb102fff91bcde4b90fac8 Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 3 Nov 2025 10:41:45 +0530 Subject: [PATCH 31/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 77f4c9c6c..cf4ee3b2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-alpha-31", + "version": "1.20.6-pre-34", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-alpha-31", + "version": "1.20.6-pre-34", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 5d641e07a..8ad6abfd1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-alpha-31", + "version": "1.20.6-pre-34", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 6c415b046df7fcfcbbd262618ca59d87d098598b Mon Sep 17 00:00:00 2001 From: chithra Date: Mon, 3 Nov 2025 10:53:50 +0530 Subject: [PATCH 32/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cf4ee3b2a..1ee9dec44 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-34", + "version": "1.20.6-pre-35", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-34", + "version": "1.20.6-pre-35", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 8ad6abfd1..f0779e2ac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-34", + "version": "1.20.6-pre-35", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From b11fedc853c95f1bedbf102a89463557820077ca Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 4 Nov 2025 15:52:50 +0530 Subject: [PATCH 33/45] reverted changes in axes config --- src/Shared/Components/Charts/utils.tsx | 119 +++++++------------------ 1 file changed, 33 insertions(+), 86 deletions(-) diff --git a/src/Shared/Components/Charts/utils.tsx b/src/Shared/Components/Charts/utils.tsx index 209765768..92145eb6e 100644 --- a/src/Shared/Components/Charts/utils.tsx +++ b/src/Shared/Components/Charts/utils.tsx @@ -23,7 +23,6 @@ import { MAX_BAR_THICKNESS, } from './constants' import { - AxisConfig, ChartColorKey, ChartProps, ChartType, @@ -174,66 +173,6 @@ const getScaleTickTitleConfig = (title: string, appTheme: AppThemeType): ScaleOp color: CHART_AXIS_LABELS_COLOR[appTheme], }) -/** - * Formats a value with unit based on axis configuration - */ -const formatValueWithUnit = (value: number | string, axisConfig?: AxisConfig): string => { - if (!axisConfig?.unit) { - return String(value) - } - - const { unit, unitPosition = 'suffix' } = axisConfig - const valueStr = String(value) - - return unitPosition === 'prefix' ? `${unit}${valueStr}` : `${valueStr}${unit}` -} - -/** - * Creates a comprehensive axis configuration with enhanced customization - */ -const getEnhancedAxisConfig = ( - axisConfig: AxisConfig | undefined, - legacyTitle: string | undefined, - legacyMax: number | undefined, - appTheme: AppThemeType, - isHidden: boolean, - hideLabels: boolean = false, -): ScaleOptions<'linear'> => { - // Merge legacy props with new axis config (new config takes priority) - const title = axisConfig?.title || legacyTitle - const max = axisConfig?.max !== undefined ? axisConfig.max : legacyMax - const hide = axisConfig?.hide !== undefined ? axisConfig.hide : isHidden - - return { - display: !hide, - min: axisConfig?.min, - max, - border: { - color: CHART_AXIS_COLORS[appTheme], - }, - grid: { - color: CHART_GRID_LINES_COLORS[appTheme], - }, - title: getScaleTickTitleConfig(title || '', appTheme), - ticks: { - display: !hideLabels && !hide, - color: CHART_AXIS_LABELS_COLOR[appTheme], - font: { - family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", - size: 12, - lineHeight: '150%', - weight: 400, - }, - stepSize: axisConfig?.stepSize, - callback: - axisConfig?.labelFormatter || - ((value) => - // Apply unit formatting if specified - formatValueWithUnit(value, axisConfig)), - }, - } -} - // Get default options based on chart type export const getDefaultOptions = ({ chartProps, @@ -250,8 +189,6 @@ export const getDefaultOptions = ({ yAxisMax, xScaleTitle, yScaleTitle, - xAxisConfig, - yAxisConfig, yScaleTickFormat, xScaleTickFormat, xAxisLabels, @@ -312,27 +249,34 @@ export const getDefaultOptions = ({ : {}), } - // Create enhanced axis configurations - const enhancedXAxisConfig = getEnhancedAxisConfig( - xAxisConfig, - xScaleTitle, - xAxisMax, - appTheme, - hideAxis, - hideXAxisLabels, - ) - - const enhancedYAxisConfig = getEnhancedAxisConfig(yAxisConfig, yScaleTitle, yAxisMax, appTheme, hideAxis, false) + const commonScaleConfig = { + display: !hideAxis, + border: { + color: CHART_AXIS_COLORS[appTheme], + }, + grid: { + color: CHART_GRID_LINES_COLORS[appTheme], + }, + ticks: { + display: !hideXAxisLabels, + color: CHART_AXIS_LABELS_COLOR[appTheme], + font: { + family: "'IBM Plex Sans', 'Open Sans', 'Roboto'", + size: 12, + lineHeight: '150%', + weight: 400, + }, + }, + } satisfies ScaleOptions<'linear'> - // Apply legacy tick formatters if no custom formatter is provided in axis config const commonXScaleConfig = { - ...enhancedXAxisConfig, + ...commonScaleConfig, + max: xAxisMax, + title: getScaleTickTitleConfig(xScaleTitle, appTheme), ticks: { - ...enhancedXAxisConfig.ticks, - autoSkip: false, - ...(!xAxisConfig?.labelFormatter && - ((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) + ...commonScaleConfig.ticks, + ...((type !== 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type === 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') ? { callback: type === 'stackedBarHorizontal' @@ -340,16 +284,19 @@ export const getDefaultOptions = ({ : (_, index) => xScaleTickFormat(xAxisLabels[index], index), } : {}), + autoSkip: false, }, } satisfies ScaleOptions<'linear'> const commonYScaleConfig = { - ...enhancedYAxisConfig, + ...commonScaleConfig, + max: yAxisMax, + title: getScaleTickTitleConfig(yScaleTitle, appTheme), + // for stackedBarHorizon ticks: { - ...enhancedYAxisConfig.ticks, - ...(!yAxisConfig?.labelFormatter && - ((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || - (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function')) + ...commonScaleConfig.ticks, + ...((type === 'stackedBarHorizontal' && typeof xScaleTickFormat === 'function') || + (type !== 'stackedBarHorizontal' && typeof yScaleTickFormat === 'function') ? { callback: type !== 'stackedBarHorizontal' From 39a74abfcb8fc65d8fa334f9f47aab70dc4871d5 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 4 Nov 2025 16:59:44 +0530 Subject: [PATCH 34/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ee9dec44..dbfc42967 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-35", + "version": "1.20.6-pre-36", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-35", + "version": "1.20.6-pre-36", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index f0779e2ac..9ed5f102f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-35", + "version": "1.20.6-pre-36", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 81d2be03546857dce6dd6087ce8ead8a76fca142 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Tue, 4 Nov 2025 19:19:12 +0530 Subject: [PATCH 35/45] graph fix version update --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index dbfc42967..d58ccee47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-36", + "version": "1.20.6-pre-37", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-36", + "version": "1.20.6-pre-37", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 9ed5f102f..e3e515c12 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-36", + "version": "1.20.6-pre-37", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 5f49f1b144127edb2a4d8651c6d3ad8068ae8471 Mon Sep 17 00:00:00 2001 From: Asika TK Date: Fri, 7 Nov 2025 15:09:34 +0530 Subject: [PATCH 36/45] merged changes in chart --- src/Shared/Components/Charts/Chart.component.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Shared/Components/Charts/Chart.component.tsx b/src/Shared/Components/Charts/Chart.component.tsx index b0f1bb661..f5abbe9de 100644 --- a/src/Shared/Components/Charts/Chart.component.tsx +++ b/src/Shared/Components/Charts/Chart.component.tsx @@ -171,9 +171,9 @@ ChartJSTooltip.positioners.barElementCenterPositioner = (items, eventPosition) = * ``` * * @param id - Unique identifier for the chart canvas element - * @param type - Chart type: 'area', 'pie', 'stackedBar', 'stackedBarHorizontal', or 'line' - * @param xAxisLabels - Array of labels for the x-axis (or categories for pie charts) - * @param datasets - Chart data: array of datasets for most charts, single dataset object for pie charts + * @param type - Chart type: 'area', 'pie', 'semiPie', 'stackedBar', 'stackedBarHorizontal', or 'line' + * @param xAxisLabels - Array of labels for the x-axis (or categories for pie/semi-pie charts) + * @param datasets - Chart data: array of datasets for most charts, single dataset object for pie/semi-pie charts * @param xAxisConfig * @param yAxisConfig * @@ -221,6 +221,7 @@ const Chart = (props: ChartProps) => { xScaleTitle, yAxisMax, yScaleTitle, + centerText, xAxisConfig, yAxisConfig, } = props @@ -319,6 +320,7 @@ const Chart = (props: ChartProps) => { xScaleTitle, yAxisMax, yScaleTitle, + centerText, xAxisConfig, yAxisConfig, ]) From 762ed0201733e9c84e2ade1e71de14049dd27e43 Mon Sep 17 00:00:00 2001 From: chithra Date: Fri, 7 Nov 2025 15:36:16 +0530 Subject: [PATCH 37/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea1790cb1..d515d030d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-39", + "version": "1.20.6-pre-42", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-39", + "version": "1.20.6-pre-42", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index afd7e06e5..a31ae3417 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-39", + "version": "1.20.6-pre-42", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From d9fd69ddef88dece9cb6d999eaa115cd361a1618 Mon Sep 17 00:00:00 2001 From: chithra Date: Fri, 7 Nov 2025 15:47:25 +0530 Subject: [PATCH 38/45] Changing sample doc url --- src/Shared/Components/DocLink/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Components/DocLink/constants.ts b/src/Shared/Components/DocLink/constants.ts index 70cbc3e2d..37efffb81 100644 --- a/src/Shared/Components/DocLink/constants.ts +++ b/src/Shared/Components/DocLink/constants.ts @@ -117,7 +117,7 @@ export const DOCUMENTATION = { GLOBAL_CONFIG_PULL_IMAGE_DIGEST: 'global-configurations/pull-image-digest', GLOBAL_CONFIG_TAGS: 'getting-started/global-configurations/tags-policy', // TODO: Replace with correct Url - SAMPLE_RUNBOOK_LINK: 'https://github.com/devtron-labs/athena-be/wiki/Runbook-Actions', + SAMPLE_RUNBOOK_LINK: 'https://docs.devtron.ai/user-guide/ai-recommendations/runbook#add-runbook-spec', // Software Release Management SOFTWARE_DISTRIBUTION_HUB: 'usage/software-distribution-hub', RELEASE_TRACKS: 'usage/software-distribution-hub/release-hub#creating-release-tracks-and-versions', From a6798df501f35c153947385daec4375e11b903ac Mon Sep 17 00:00:00 2001 From: chithra Date: Fri, 7 Nov 2025 15:48:24 +0530 Subject: [PATCH 39/45] version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d515d030d..e340a9830 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-42", + "version": "1.20.6-pre-43", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-42", + "version": "1.20.6-pre-43", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index a31ae3417..75219f4f9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-42", + "version": "1.20.6-pre-43", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 3ba5401e45ecf26ff750827e35674b4c569b99a6 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Fri, 7 Nov 2025 19:22:14 +0530 Subject: [PATCH 40/45] chore: bump version to 1.20.6-pre-45 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f80cc192f..b6d63bfb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-44", + "version": "1.20.6-pre-45", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-44", + "version": "1.20.6-pre-45", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 5f9fc44de..08c675738 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-44", + "version": "1.20.6-pre-45", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", From 91683523f1f8166f96d3148bd7e3d52d65d7ed78 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Mon, 10 Nov 2025 15:47:29 +0530 Subject: [PATCH 41/45] feat: update version to 1.20.6-pre-46, add notifications icon, and integrate AI recommendations notifications --- package-lock.json | 4 +- package.json | 2 +- src/Assets/IconV2/ic-bell.svg | 3 ++ src/Common/Constants.ts | 7 +--- src/Shared/Components/Header/PageHeader.tsx | 40 ++++++++++++++++++- src/Shared/Components/Header/constants.ts | 2 + src/Shared/Components/Icon/Icon.tsx | 2 + src/Shared/Hooks/useUserPreferences/types.ts | 3 -- .../Providers/MainContextProvider/types.ts | 4 +- 9 files changed, 52 insertions(+), 15 deletions(-) create mode 100644 src/Assets/IconV2/ic-bell.svg diff --git a/package-lock.json b/package-lock.json index b6d63bfb0..e7c977468 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-45", + "version": "1.20.6-pre-46", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-45", + "version": "1.20.6-pre-46", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 08c675738..d0361b407 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.20.6-pre-45", + "version": "1.20.6-pre-46", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Assets/IconV2/ic-bell.svg b/src/Assets/IconV2/ic-bell.svg new file mode 100644 index 000000000..7a1f7a876 --- /dev/null +++ b/src/Assets/IconV2/ic-bell.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index a01dc890e..1034f9bfc 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -64,7 +64,6 @@ const DATA_PROTECTION_ROOT = '/data-protection-management' const DATA_PROTECTION_BACKUP_AND_SCHEDULE = `${DATA_PROTECTION_ROOT}/backup-and-schedule/:view(${Object.values(BackupAndScheduleListViewEnum).join('|')})` as const const GLOBAL_CONFIG_ROOT = '/global-configuration' -const AI_RECOMMENDATIONS_ROOT = '/ai-recommendations' export const URLS = { LOGIN: '/login', @@ -137,6 +136,7 @@ export const URLS = { // AUTOMATION AND ENABLEMENT AUTOMATION_AND_ENABLEMENT: AUTOMATION_AND_ENABLEMENT_ROOT, AUTOMATION_AND_ENABLEMENT_JOB: `${AUTOMATION_AND_ENABLEMENT_ROOT}/job`, + AUTOMATION_ENABLEMENT_RUNBOOKS: `${AUTOMATION_AND_ENABLEMENT_ROOT}/runbooks`, // DATA PROTECTION DATA_PROTECTION: DATA_PROTECTION_ROOT, DATA_PROTECTION_OVERVIEW: `${DATA_PROTECTION_ROOT}/overview`, @@ -151,12 +151,7 @@ export const URLS = { GLOBAL_CONFIG_DOCKER: `${GLOBAL_CONFIG_ROOT}/docker`, GLOBAL_CONFIG_EDIT_CLUSTER: `${GLOBAL_CONFIG_ROOT}/cluster-env/edit/:clusterId`, PERMISSION_GROUPS: `${GLOBAL_CONFIG_ROOT}/auth/groups`, - - // AI RECOMMENDATIONS - AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT, - AI_RECOMMENDATIONS_NOTIFICATIONS: `${AI_RECOMMENDATIONS_ROOT}/notifications`, EXTERNAL_APPS: 'ea', - AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`, } as const export const ROUTES = { diff --git a/src/Shared/Components/Header/PageHeader.tsx b/src/Shared/Components/Header/PageHeader.tsx index 2ccb423ff..46d4152e6 100644 --- a/src/Shared/Components/Header/PageHeader.tsx +++ b/src/Shared/Components/Header/PageHeader.tsx @@ -29,6 +29,7 @@ import { Button, ButtonStyleType, ButtonVariantType } from '../Button' import { Icon } from '../Icon' import { ImageWithFallback } from '../ImageWithFallback' import { InfoIconTippy } from '../InfoIconTippy' +import { NOTIFICATIONS_TEMP_WINDOW_TITLE } from './constants' import { HelpButton } from './HelpButton' import { IframePromoButton } from './IframePromoButton' import { ProfileMenu } from './ProfileMenu' @@ -51,8 +52,16 @@ const PageHeader = ({ tippyProps, closeIcon, }: PageHeaderType) => { - const { setLoginCount, setShowGettingStartedCard, setSidePanelConfig, sidePanelConfig, tempAppWindowConfig } = - useMainContext() + const { + setLoginCount, + setShowGettingStartedCard, + setSidePanelConfig, + sidePanelConfig, + tempAppWindowConfig, + AIRecommendations, + setTempAppWindowConfig, + isSuperAdmin, + } = useMainContext() const { showSwitchThemeLocationTippy, handleShowSwitchThemeLocationTippyChange } = useTheme() const { @@ -137,6 +146,19 @@ const PageHeader = ({ setSidePanelConfig((prev) => ({ ...prev, state: SidePanelTab.ASK_DEVTRON })) } + const handleNotificationsButtonClick = () => { + handleAnalyticsEvent({ + category: 'AI', + action: `NOTIFICATIONS_AI_RECOMMENDATIONS`, + }) + + setTempAppWindowConfig({ + open: true, + title: NOTIFICATIONS_TEMP_WINDOW_TITLE, + component: , + }) + } + const renderLogoutHelpSection = () => ( <> {window._env_?.FEATURE_ASK_DEVTRON_EXPERT && @@ -153,6 +175,20 @@ const PageHeader = ({ )} + + {AIRecommendations && isSuperAdmin && tempAppWindowConfig.title !== NOTIFICATIONS_TEMP_WINDOW_TITLE && ( +