Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
11e912b
feat: Devtron 2.0 - folder structure
RohitRaj011 Aug 8, 2025
a7b6ccc
feat: add KeyboardShortcut component and related types
AbhishekA1509 Aug 11, 2025
9ce1cf9
feat: enhance user preferences handling with abort signal and new nav…
AbhishekA1509 Aug 11, 2025
4228a00
feat: TreeView - add 'nav' variant
RohitRaj011 Aug 12, 2025
4a7d647
feat: add Escape key handling to Backdrop component and update DTFocu…
AbhishekA1509 Aug 12, 2025
f5a8b0c
feat: enhance user preferences types with commandBar recentNavigation…
AbhishekA1509 Aug 13, 2025
5789fb7
feat: add Chart component
Elessar1802 Aug 13, 2025
ae023dd
fix: remove duplicate class name from KeyboardShortcut component
AbhishekA1509 Aug 13, 2025
1a094ea
chore: add icons
RohitRaj011 Aug 13, 2025
7be81ae
feat: TreeView - design updates to nav variant
RohitRaj011 Aug 13, 2025
8eac395
Merge branch 'feat/command-bar' of https://github.com/devtron-labs/de…
AbhishekA1509 Aug 13, 2025
068b1d5
feat: add cost visibility routes and types for breakdown views
AbhishekA1509 Aug 14, 2025
f88a255
feat: add right panel collapse icon and update icon map
AbhishekA1509 Aug 14, 2025
1a48714
feat: rename cost visibility route to cost visibility overview
AbhishekA1509 Aug 14, 2025
1307938
feat: add no-cluster-cost-enabled illustration and update GenericSect…
AbhishekA1509 Aug 14, 2025
4f3d6d2
refactor: chart types
Elessar1802 Aug 18, 2025
8487ebb
fix: update CostBreakdownViewType enum values to lowercase
AbhishekA1509 Aug 18, 2025
9e2c3b5
feat: add CostBreakdownItemViewParamsType enum and update routes to i…
AbhishekA1509 Aug 18, 2025
2415aee
Merge branch 'develop' of https://github.com/devtron-labs/devtron-fe-…
AbhishekA1509 Aug 18, 2025
5a800e6
fix: update version to 1.19.0-pre-6 in package.json and package-lock.…
AbhishekA1509 Aug 18, 2025
08ff0f5
feat: TreeView - sidenav variant UI/UX updates
RohitRaj011 Aug 18, 2025
2331822
Merge pull request #854 from devtron-labs/feat/command-bar
AbhishekA1509 Aug 18, 2025
878e9a3
feat: SearchBar - add sidenav variant
RohitRaj011 Aug 18, 2025
68d3a3f
Merge branch 'kubecon-2025' of github.com:devtron-labs/devtron-fe-com…
RohitRaj011 Aug 18, 2025
c5ba492
Merge branch 'feat/new-folder-structure' of https://github.com/devtro…
AbhishekA1509 Aug 18, 2025
7c6985b
chore: update TreeView component and styles for consistency
RohitRaj011 Aug 18, 2025
f7642c7
refactor: chart & colors
Elessar1802 Aug 18, 2025
1182556
feat: enhance TreeView item container styles for active state
RohitRaj011 Aug 19, 2025
f8560e6
chore(version): bump to 1.19.0-pre-7
RohitRaj011 Aug 19, 2025
ae20c4d
Merge pull request #857 from devtron-labs/feat/new-folder-structure
RohitRaj011 Aug 19, 2025
6f7375c
Merge branch 'kubecon-2025' of https://github.com/devtron-labs/devtro…
AbhishekA1509 Aug 19, 2025
aee4efd
Merge pull request #856 from devtron-labs/feat/cost-layout
AbhishekA1509 Aug 19, 2025
a9ce9a6
feat: add line chart
Elessar1802 Aug 20, 2025
98f1ebe
feat: add gradient to area chart
Elessar1802 Aug 20, 2025
a417de2
Merge branch 'kubecon-2025' of github.com:devtron-labs/devtron-fe-com…
Elessar1802 Aug 20, 2025
f9add16
chore: add documentation comment to chart component
Elessar1802 Aug 20, 2025
e50c17d
feat: add new routes for application management and cost visibility &…
RohitRaj011 Aug 20, 2025
01a6bce
feat: SearchBar, TreeView - styles update
RohitRaj011 Aug 20, 2025
bfa7e76
refactor: improve types
Elessar1802 Aug 20, 2025
a80e2c6
chore: add icons
RohitRaj011 Aug 20, 2025
0a2bd48
style: SearchBar - icons update, sidenav variant style update
RohitRaj011 Aug 21, 2025
e0fc646
Merge pull request #858 from devtron-labs/feat/charts
Elessar1802 Aug 21, 2025
2872170
Merge branch 'develop' of https://github.com/devtron-labs/devtron-fe-…
arunjaindev Aug 22, 2025
518701b
Merge pull request #865 from devtron-labs/sync-develop-kubecon-22-aug
arunjaindev Aug 22, 2025
9e9f1ff
chore(version): bump to 1.19.4-pre-2
RohitRaj011 Aug 22, 2025
f6fe82c
Merge branch 'kubecon-2025' of github.com:devtron-labs/devtron-fe-com…
RohitRaj011 Aug 22, 2025
69777a2
Merge pull request #863 from devtron-labs/fix/navigation-2.0
RohitRaj011 Aug 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@devtron-labs/devtron-fe-common-lib",
"version": "1.19.4-pre-0",
"version": "1.19.4-pre-2",
"description": "Supporting common component library",
"type": "module",
"main": "dist/index.js",
Expand Down Expand Up @@ -116,6 +116,7 @@
"@uiw/react-codemirror": "4.23.7",
"@xyflow/react": "12.4.2",
"ansi_up": "^5.2.1",
"chart.js": "^4.5.0",
"codemirror-json-schema": "0.8.0",
"dayjs": "^1.11.13",
"fast-json-patch": "^3.1.1",
Expand Down
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-bot.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-building.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-clipboard.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-cloud.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-coins.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-database-backup.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-devtron-text.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-files-changed.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-right-panel-collapse.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/Assets/IconV2/ic-trend-up.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions src/Common/Constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
* limitations under the License.
*/

import { CostBreakdownItemViewParamsType, CostBreakdownViewType } from 'src/Pages-Devtron-2.0'

import { SelectPickerOptionType } from '@Shared/Components'

export const FALLBACK_REQUEST_TIMEOUT = 60000
Expand Down Expand Up @@ -50,6 +52,9 @@ export const PATTERNS = {

const GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP = '/global-config/templates/devtron-apps'

const APPLICATION_MANAGEMENT_ROOT = '/application-management'
const COST_VISIBILITY_ROOT = '/cost-visibility'

export const URLS = {
LOGIN: '/login',
LOGIN_SSO: '/login/sso',
Expand Down Expand Up @@ -88,6 +93,17 @@ export const URLS = {
GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP_DETAIL: `${GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP}/detail/:appId`,
LICENSE_AUTH: '/license-auth',
GLOBAL_CONFIG_EDIT_CLUSTER: '/global-config/cluster-env/edit/:clusterId',
COST_VISIBILITY: COST_VISIBILITY_ROOT,
COST_VISIBILITY_OVERVIEW: `${COST_VISIBILITY_ROOT}/overview`,
COST_BREAKDOWN_ROUTE: `${COST_VISIBILITY_ROOT}/breakdown/:breakdownViewType`,
COST_BREAKDOWN_CLUSTERS: `${COST_VISIBILITY_ROOT}/breakdown/${CostBreakdownViewType.CLUSTERS}`,
COST_BREAKDOWN_ENVIRONMENTS: `${COST_VISIBILITY_ROOT}/breakdown/${CostBreakdownViewType.ENVIRONMENTS}`,
COST_BREAKDOWN_PROJECTS: `${COST_VISIBILITY_ROOT}/breakdown/${CostBreakdownViewType.PROJECTS}`,
COST_BREAKDOWN_APPLICATIONS: `${COST_VISIBILITY_ROOT}/breakdown/${CostBreakdownViewType.APPLICATIONS}`,
COST_BREAKDOWN_ITEM_NAME: `:${CostBreakdownItemViewParamsType.ITEM_NAME}`,
COST_CONFIGURATIONS: `${COST_VISIBILITY_ROOT}/configurations`,
APPLICATION_MANAGEMENT: APPLICATION_MANAGEMENT_ROOT,
APPLICATION_MANAGEMENT_OVERVIEW: `${APPLICATION_MANAGEMENT_ROOT}/overview`,
} as const

export const ROUTES = {
Expand Down
1 change: 1 addition & 0 deletions src/Common/Hooks/UseRegisterShortcut/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ export const KEYBOARD_KEYS_MAP = {
Delete: '⌦',
'.': '.',
Space: 'Space',
'>': '>',
} as const

export type SupportedKeyboardKeysType = keyof typeof KEYBOARD_KEYS_MAP
Expand Down
23 changes: 16 additions & 7 deletions src/Common/SearchBar/SearchBar.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@

import { ChangeEvent, KeyboardEvent, useCallback, useEffect, useRef, useState } from 'react'

import { ReactComponent as ICCross } from '@Icons/ic-cross.svg'
import { ReactComponent as Search } from '@Icons/ic-search.svg'
import { useRegisterShortcut } from '@Common/Hooks'
import { Button, ButtonStyleType, ButtonVariantType } from '@Shared/Components'
import { Button, ButtonStyleType, ButtonVariantType, Icon } from '@Shared/Components'
import { ComponentSizeType } from '@Shared/constants'

import { debounce, noop } from '../Helper'
Expand Down Expand Up @@ -74,6 +72,7 @@ const SearchBar = ({
noBackgroundAndBorder = false,
size = ComponentSizeType.medium,
keyboardShortcut,
variant = 'default',
}: SearchBarProps) => {
const [showClearButton, setShowClearButton] = useState(!!initialSearchText)
const inputRef = useRef<HTMLInputElement>()
Expand Down Expand Up @@ -157,11 +156,19 @@ const SearchBar = ({
return (
<div className={`search-bar-container ${containerClassName || ''}`}>
<div
className={`search-bar ${noBackgroundAndBorder ? 'dc__no-border dc__no-background dc__hover-n50' : 'bg__secondary en-2 dc__hover-border-n300'} focus-within-border-b5 dc__block w-100 min-w-200 dc__position-rel br-4 bw-1 ${getSearchBarHeightFromSize(size)}`}
className={`search-bar search-bar--${variant} ${noBackgroundAndBorder ? 'dc__no-border dc__no-background dc__hover-n50' : 'bg__secondary en-2 dc__hover-border-n300'} focus-within-border-b5 dc__block w-100 min-w-200 dc__position-rel br-4 bw-1 ${getSearchBarHeightFromSize(size)}`}
>
<Search className="search-bar__icon dc__position-abs icon-color-n6 icon-dim-16" />
<span
className="search-bar__icon dc__position-abs icon-dim-16"
style={
variant === 'sidenav' ? { ['--overrideIconColor' as string]: 'var(--sidenav-input-icon)' } : {}
}
>
<Icon name="ic-magnifying-glass" color="N600" />
</span>
<input
placeholder="Search"
data-variant={variant}
data-testid={dataTestId}
type="text"
{...inputProps}
Expand All @@ -176,9 +183,11 @@ const SearchBar = ({
/>
{/* TODO: Sync with product since it should have ic-enter in case of not applied */}
{showClearButton ? (
<div className="flex search-bar__clear-button dc__position-abs dc__transparent">
<div
className={`flex search-bar__clear-btn search-bar__clear-btn--${variant} dc__position-abs dc__transparent`}
>
<Button
icon={<ICCross />}
icon={<Icon name="ic-close-small" color={null} />}
size={ComponentSizeType.xs}
variant={ButtonVariantType.borderLess}
style={ButtonStyleType.negativeGrey}
Expand Down
38 changes: 36 additions & 2 deletions src/Common/SearchBar/searchBar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/

.search-bar {
$root: &;

&:focus,
&:focus-within {
outline: none;
Expand All @@ -29,18 +31,50 @@
}
}

&#{$root}--sidenav {
background: transparent;
border-color: var(--sidenav-input-border);
min-width: 0;

&:hover {
border-color: var(--sidenav-input-border-hover);
}

&:focus,
&:focus-within {
border: solid 1px var(--sidenav-input-border-focus) !important;
}

#{$root}__input {
color: var(--sidenav-text);
background: transparent;

&::placeholder {
color: var(--sidenav-input-placeholder);
}
}
}

&__icon {
z-index: 1;
top: 50%;
left: 8px;
transform: translateY(-50%);
}

&__clear-button {
right: 0;
&__clear-btn {
right: 2px;
top: 50%;
transform: translateY(-50%);
z-index: 1;

&#{$root}__clear-btn--sidenav {
.button {
svg *[stroke^='#']:not([data-style-override='false']) {
stroke: var(--sidenav-input-icon);
}
}
}
}

&__kbd-shortcut {
Expand Down
4 changes: 4 additions & 0 deletions src/Common/SearchBar/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,8 @@ export interface SearchBarProps {
* @note This is displayed in place of the dropdown indicator
*/
keyboardShortcut?: SupportedKeyboardKeysType
/**
* @default 'default'
*/
variant?: 'default' | 'sidenav'
}
3 changes: 0 additions & 3 deletions src/Common/Types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,6 @@ export interface ResponseType<T = any> {

export interface APIOptions {
timeout?: number
/**
* @deprecated Use abortController instead
*/
signal?: AbortSignal
abortControllerRef?: MutableRefObject<AbortController>
/**
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const Overview = () => <div>Overview</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/ApplicationManagement/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const Overview = () => <div>Overview</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/Automation&Enablement/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const Overview = () => <div>Overview</div>
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/CostVisibility/Overview/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/CostVisibility/Shared/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './types'
10 changes: 10 additions & 0 deletions src/Pages-Devtron-2.0/CostVisibility/Shared/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export enum CostBreakdownViewType {
CLUSTERS = 'clusters',
ENVIRONMENTS = 'environments',
PROJECTS = 'projects',
APPLICATIONS = 'applications',
}

export enum CostBreakdownItemViewParamsType {
ITEM_NAME = 'itemName',
}
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/CostVisibility/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Shared'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const Overview = () => <div>Overview</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/GlobalConfiguration/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/GlobalOverview/GlobalOverview.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const GlobalOverview = () => <div>GlobalOverview</div>
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/GlobalOverview/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './GlobalOverview'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const Overview = () => <div>Overview</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/InfrastructureManagement/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const Overview = () => <div>Overview</div>
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/SecurityCenter/Overview/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/SecurityCenter/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const Overview = () => <div>Overview</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/SoftwareReleaseManagement/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './Overview'
1 change: 1 addition & 0 deletions src/Pages-Devtron-2.0/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './CostVisibility'
Loading