Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
40 changes: 0 additions & 40 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,31 +1,20 @@

# Ignoring the test files for the time beinggi
*.test.ts
*.test.tsx
.eslintrc.js
vite.config.mts
scripts/

# The following files have eslint errors/warnings
src/Pages/GlobalConfigurations/Authorization/APITokens/__tests__/ApiTokens.test.tsx
src/components/AppSelector/ChartSelector.tsx
src/components/ApplicationGroup/AppGroup.service.ts
src/components/ApplicationGroup/AppGroup.utils.ts
src/components/ApplicationGroup/AppGroupAppFilter.components.tsx
src/components/ApplicationGroup/AppGroupDetailsRoute.tsx
src/components/ApplicationGroup/AppGroupRoute.tsx
src/components/ApplicationGroup/Constants.ts
src/components/ApplicationGroup/CreateAppGroup.tsx
src/components/ApplicationGroup/Details/EnvCDDetails/EnvCDDetails.tsx
src/components/ApplicationGroup/Details/EnvCDDetails/__test__/EnvCDDetails.test.tsx
src/components/ApplicationGroup/Details/EnvCIDetails/EnvCIDetails.tsx
src/components/ApplicationGroup/Details/EnvCIDetails/__test__/EnvCIDetails.test.tsx
src/components/ApplicationGroup/Details/EnvironmentConfig/__test__/ApplicationRoutes.test.tsx
src/components/ApplicationGroup/Details/EnvironmentConfig/__test__/EnvConfig.test.tsx
src/components/ApplicationGroup/Details/EnvironmentOverview/HibernateModal.tsx
src/components/ApplicationGroup/Details/EnvironmentOverview/HibernateStatusListDrawer.tsx
src/components/ApplicationGroup/Details/EnvironmentOverview/HibernateStatusRow.tsx
src/components/ApplicationGroup/Details/EnvironmentOverview/__test__/EnvironmentOverview.test.tsx
src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx
src/components/ApplicationGroup/Details/TriggerView/BulkCITrigger.tsx
src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx
Expand All @@ -51,20 +40,15 @@ src/components/ClusterNodes/ClusterEvents.tsx
src/components/ClusterNodes/ClusterManifest.tsx
src/components/ClusterNodes/ClusterNodeEmptyStates.tsx
src/components/ClusterNodes/NodeDetails.tsx
src/components/ClusterNodes/__tests__/ClusterManifest.test.tsx
src/components/ClusterNodes/__tests__/NodeList.test.tsx
src/components/Hotjar/Hotjar.tsx
src/components/Jobs/ExpandedRow/ExpandedRow.tsx
src/components/Jobs/JobDetails/JobDetails.tsx
src/components/Jobs/JobList/JobListView.tsx
src/components/Jobs/Jobs.tsx
src/components/Jobs/JobsEmptyState.tsx
src/components/Jobs/Service.ts
src/components/Jobs/Utils.ts
src/components/LogViewer/LogViewer.tsx
src/components/ResourceBrowser/ResourceList/__tests__/Sidebar.test.tsx
src/components/__mocks__/xterm-webfont.js
src/components/app/LogFilter.test.ts
src/components/app/LogFilter.ts
src/components/app/Overview/EnvironmentList.tsx
src/components/app/Overview/Overview.tsx
Expand All @@ -75,15 +59,13 @@ src/components/app/ResponsiveDrawer.tsx
src/components/app/WebWorker.ts
src/components/app/create/CreateApp.tsx
src/components/app/create/validationRules.ts
src/components/app/details/AboutAppInfoModal.tsx
src/components/app/details/AboutTagEditModal.tsx
src/components/app/details/appDetails/AppMetrics.tsx
src/components/app/details/appDetails/AppStatusCard.tsx
src/components/app/details/appDetails/DeploymentStatusDetailModal.tsx
src/components/app/details/appDetails/GraphsModal.tsx
src/components/app/details/appDetails/IssuesCard.tsx
src/components/app/details/appDetails/SourceInfo.tsx
src/components/app/details/appDetails/__tests__/GenericInfo.test.tsx
src/components/app/details/appDetails/index.tsx
src/components/app/details/appDetails/utils.tsx
src/components/app/details/cIDetails/CIDetails.tsx
Expand All @@ -101,7 +83,6 @@ src/components/app/details/testViewer/TestRunDetails.tsx
src/components/app/details/testViewer/TestRunList.tsx
src/components/app/details/triggerView/EmptyStateCIMaterial.tsx
src/components/app/details/triggerView/MaterialSource.tsx
src/components/app/details/triggerView/__tests__/triggerview.test.tsx
src/components/app/details/triggerView/ciWebhook.service.ts
src/components/app/details/triggerView/config.ts
src/components/app/details/triggerView/workflow.service.ts
Expand All @@ -118,7 +99,6 @@ src/components/app/list-new/AppListService.ts
src/components/app/list-new/GenericAppList.tsx
src/components/app/list-new/HelmAppList.tsx
src/components/app/list/TriggerUrl.tsx
src/components/app/list/__tests__/AppListView.test.tsx
src/components/app/list/appList.modal.ts
src/components/app/list/emptyView/Empty.tsx
src/components/app/list/expandedRow/ExpandedRow.tsx
Expand All @@ -136,7 +116,6 @@ src/components/charts/ChartGroupDeployments.tsx
src/components/charts/ChartGroupDetails.tsx
src/components/charts/ChartGroupUpdate.tsx
src/components/charts/ChartHeaderFilters.tsx
src/components/charts/Charts.tsx
src/components/charts/MultiChartSummary.tsx
src/components/charts/chartValues/ChartValues.tsx
src/components/charts/charts.service.ts
Expand Down Expand Up @@ -200,7 +179,6 @@ src/components/common/DatePickers/Calender.tsx
src/components/common/DatePickers/DayPickerRangeController.tsx
src/components/common/DeprecatedUpdateWarn.tsx
src/components/common/Description/GenericDescription.tsx
src/components/common/DynamicTabs/__tests__/DynamicTabs.test.tsx
src/components/common/HiddenInput/HiddenInput.tsx
src/components/common/List/List.tsx
src/components/common/MultiSelect/MultiSelect.tsx
Expand All @@ -219,15 +197,13 @@ src/components/common/helpers/time.ts
src/components/common/helpers/utils.tsx
src/components/common/helpers/workflowURL.ts
src/components/common/hooks/FileReader.ts
src/components/common/hooks/__tests__/FileReader.test.tsx
src/components/common/icons/Icons.tsx
src/components/common/lineChart/lineChart.tsx
src/components/common/navigation/Navigation.tsx
src/components/dockerRegistry/Docker.tsx
src/components/dockerRegistry/ManageRegistry.tsx
src/components/dockerRegistry/service.tsx
src/components/external-apps/ExternalAppService.ts
src/components/external-apps/ExternalApps.tsx
src/components/externalArgoApps/ExternalArgoApp.tsx
src/components/externalArgoApps/ExternalArgoAppDetail.tsx
src/components/externalLinks/ExternalLinks.component.tsx
Expand All @@ -239,7 +215,6 @@ src/components/externalLinks/ExternalLinksFilters.tsx
src/components/gitOps/GitOpsConfiguration.tsx
src/components/gitOps/UserGitRepConfiguration.tsx
src/components/gitOps/UserGitRepo.tsx
src/components/gitOps/__tests__/GitOpsConfiguration.test.tsx
src/components/gitOps/gitops.service.tsx
src/components/gitOps/gitops.type.ts
src/components/gitProvider/AddGitHostConfigModal.tsx
Expand Down Expand Up @@ -269,19 +244,9 @@ src/components/scopedVariables/ScopedVariablesEditor.tsx
src/components/scopedVariables/ScopedVariablesLoader.tsx
src/components/scopedVariables/UploadScopedVariables.tsx
src/components/scopedVariables/VariablesList.tsx
src/components/scopedVariables/__tests__/Descriptor.test.tsx
src/components/scopedVariables/__tests__/DescriptorSearchBar.test.tsx
src/components/scopedVariables/__tests__/SavedVariables.test.tsx
src/components/scopedVariables/__tests__/ScopedVariables.test.tsx
src/components/scopedVariables/__tests__/ScopedVariablesEditor.test.tsx
src/components/scopedVariables/__tests__/ScopedVariablesLoader.test.tsx
src/components/scopedVariables/__tests__/UploadScopedVariables.test.tsx
src/components/scopedVariables/__tests__/VariablesList.test.tsx
src/components/scopedVariables/__tests__/utils.test.tsx
src/components/scopedVariables/utils.tsx
src/components/security/AddCveModal.tsx
src/components/security/DeleteCVEModal.tsx
src/components/security/SecurityPoliciesTab.tsx
src/components/security/SecurityPolicyApp.tsx
src/components/security/SecurityPolicyCluster.tsx
src/components/security/SecurityPolicyEdit.tsx
Expand All @@ -293,23 +258,19 @@ src/components/terminal/TerminalWrapper.tsx
src/components/util/KeyValueFileInput.tsx
src/components/v2/appDetails/ReleaseStatusEmptyState.tsx
src/components/v2/appDetails/SyncError.component.tsx
src/components/v2/appDetails/__tests__/index.store.test.ts
src/components/v2/appDetails/appDetails.api.ts
src/components/v2/appDetails/ea/EAAppDetail.component.tsx
src/components/v2/appDetails/k8Resource/FilterResource.tsx
src/components/v2/appDetails/k8Resource/nodeDetail/EphemeralContainerDrawer.tsx
src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/CustomLogsModal/CustomLogsModal.tsx
src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/Terminal.component.tsx
src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/TerminalWrapper.component.tsx
src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/__tests__/Terminal.component.test.tsx
src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/__tests__/TerminalWrapper.test.tsx
src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/constants.ts
src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/terminal.type.ts
src/components/v2/appDetails/k8Resource/nodeDetail/nodeDetail.api.ts
src/components/v2/appDetails/k8Resource/nodeDetail/nodeDetail.util.tsx
src/components/v2/appDetails/k8Resource/nodeType/NodeTree.component.tsx
src/components/v2/appDetails/k8Resource/nodeType/PodTabSection.tsx
src/components/v2/appDetails/k8Resource/nodeType/__tests__/NodeTree.component.test.ts
src/components/v2/appDetails/k8Resource/nodeType/nodeType.util.ts
src/components/v2/appDetails/k8Resource/nodeType/useNodeTreeReducer.ts
src/components/v2/appDetails/sourceInfo/EnvironmentSelector.component.tsx
Expand Down Expand Up @@ -364,4 +325,3 @@ src/services/service.types.ts
src/util/MurmurHash3.ts
src/util/Subject.ts
src/util/Util.ts
src/util/__tests__/Subject.test.ts
5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"private": true,
"homepage": "/dashboard",
"dependencies": {
"@devtron-labs/devtron-fe-common-lib": "1.22.8-beta-8",
"@devtron-labs/devtron-fe-common-lib": "1.22.8-beta-9",
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
"@sentry/browser": "7.119.1",
"@sentry/integrations": "7.50.0",
Expand All @@ -23,7 +23,7 @@
"react-dom": "^18.3.1",
"react-ga4": "^1.4.1",
"react-gtm-module": "^2.0.11",
"react-router-dom": "^5.3.4",
"react-router-dom": "6.30.3",
"react-select": "5.8.0",
"react-virtualized": "^9.22.5",
"rollup-plugin-node-polyfills": "0.2.1",
Expand Down Expand Up @@ -65,7 +65,6 @@
"@types/node": "20.11.0",
"@types/react": "^18.3.27",
"@types/react-dom": "^18.3.7",
"@types/react-router-dom": "^5.3.3",
"@types/react-transition-group": "^4.4.4",
"@types/recompose": "^0.30.10",
"@typescript-eslint/eslint-plugin": "8.3.0",
Expand Down
80 changes: 24 additions & 56 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,19 @@
*/

import { lazy, Suspense, useEffect, useState } from 'react'
import { Redirect, Route, Switch, useHistory, useLocation } from 'react-router-dom'
import { Route, Routes, useLocation, useNavigate } from 'react-router-dom'

import {
API_STATUS_CODES,
APPROVAL_MODAL_TYPE,
BASE_ROUTES,
BreadcrumbStore,
DevtronProgressing,
ErrorScreenManager,
getUrlWithSearchParams,
ROUTER_URLS,
setGlobalAPITimeout,
showError,
URLS as CommonURLS,
useUserEmail,
} from '@devtron-labs/devtron-fe-common-lib'

Expand All @@ -36,7 +37,6 @@ import ActivateLicense from '@Pages/License/ActivateLicense'

import { ErrorBoundary, getApprovalModalTypeFromURL, importComponentFromFELibrary } from './components/common'
import { validateToken } from './services/service'
import { URLS } from './config'

import './css/application.scss'

Expand All @@ -53,47 +53,44 @@ const App = () => {
const { setEmail } = useUserEmail()

const location = useLocation()
const { push } = useHistory()
const navigate = useNavigate()

const isDirectApprovalNotification =
location.pathname &&
location.pathname.includes('approve') &&
location.search &&
location.search.includes(`?token=${approvalToken}`)
const customThemeClassName = location.pathname.startsWith(CommonURLS.NETWORK_STATUS_INTERFACE)
const customThemeClassName = location.pathname.startsWith(ROUTER_URLS.NETWORK_STATUS_INTERFACE.ROOT)
? 'custom-theme-override'
: ''

const defaultRedirection = (): void => {
if (location.search) {
const continueUrl = new URLSearchParams(location.search).get('continue')
if (continueUrl) {
push(continueUrl)
navigate(continueUrl)
}
}
}

const toastEligibleRoutes: VersionUpdateProps['toastEligibleRoutes'] = [
{
path: `/${approvalType?.toLowerCase()}/approve`,
exact: true,
path: `${approvalType?.toLowerCase()}/approve`,
condition: isDirectApprovalNotification && GenericDirectApprovalModal,
component: <GenericDirectApprovalModal approvalType={approvalType} approvalToken={approvalToken} />,
eligibleLocation: `/${approvalType?.toLowerCase()}/approve`,
},
{
path: CommonURLS.LICENSE_AUTH,
exact: false,
path: BASE_ROUTES.LICENSE_AUTH,
condition: true,
component: <ActivateLicense />,
eligibleLocation: CommonURLS.LICENSE_AUTH,
eligibleLocation: ROUTER_URLS.LICENSE_AUTH,
},
{
path: URLS.LOGIN,
exact: false,
path: `${BASE_ROUTES.LOGIN.ROOT}/*`,
condition: !window._env_.K8S_CLIENT,
component: <Login />,
eligibleLocation: URLS.LOGIN_SSO || URLS.LOGIN_ADMIN,
eligibleLocation: ROUTER_URLS.LOGIN.SSO || ROUTER_URLS.LOGIN.ADMIN,
},
]

Expand Down Expand Up @@ -122,11 +119,11 @@ const App = () => {
} catch (err: any) {
// push to login without breaking search
if (err?.code === API_STATUS_CODES.UNAUTHORIZED) {
const loginPath = URLS.LOGIN_SSO
if (location.pathname.includes(URLS.LOGIN_SSO)) {
push(`${loginPath}${location.search}`)
const loginPath = ROUTER_URLS.LOGIN.SSO
if (location.pathname.includes(loginPath)) {
navigate(`${loginPath}${location.search}`)
} else {
push(getUrlWithSearchParams(loginPath, { continue: `${location.pathname}${location.search}` }))
navigate(getUrlWithSearchParams(loginPath, { continue: `${location.pathname}${location.search}` }))
}
} else {
setErrorPage(true)
Expand All @@ -140,7 +137,7 @@ const App = () => {
useEffect(() => {
// If not K8S_CLIENT then validateToken otherwise directly redirect
// No need to validate token if on license auth page
if (!window._env_.K8S_CLIENT && location.pathname !== CommonURLS.LICENSE_AUTH) {
if (!window._env_.K8S_CLIENT && location.pathname !== ROUTER_URLS.LICENSE_AUTH) {
// By Passing validations for direct email approval notifications
if (isDirectApprovalNotification) {
redirectToDirectApprovalNotification()
Expand All @@ -156,32 +153,6 @@ const App = () => {
setGlobalAPITimeout(window._env_.GLOBAL_API_TIMEOUT)
}, [])

useEffect(() => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets keep it for now

// Mapping few commonly used old routes to new routes
const parts = location.pathname.split('/').filter((part) => part)

if (parts?.[0] === 'app') {
if (Number.isNaN(Number(parts?.[1]))) {
return
}

const pageHeaderTab = parts?.[2]

if (
pageHeaderTab === CommonURLS.APP_DETAILS ||
pageHeaderTab === CommonURLS.APP_TRIGGER ||
pageHeaderTab === URLS.APP_CI_DETAILS ||
pageHeaderTab === URLS.APP_CD_DETAILS ||
pageHeaderTab === URLS.APP_DEPLOYMENT_METRICS ||
pageHeaderTab === CommonURLS.APP_CONFIG
) {
parts[0] = URLS.APPLICATION_MANAGEMENT_APP
const newPath = parts.join('/')
push(newPath)
}
}
}, [location])

const renderRoutesWithErrorBoundary = () =>
errorPage ? (
<div className="full-height-width bg__tertiary">
Expand All @@ -190,17 +161,14 @@ const App = () => {
) : (
<ErrorBoundary>
<BreadcrumbStore>
<Switch>
{toastEligibleRoutes.map(({ exact, path, condition, component }) =>
condition ? (
<Route key={path} path={path} exact={exact}>
{component}
</Route>
) : null,
)}
<Route path="/" render={() => <NavigationRoutes reloadVersionConfig={reloadVersionConfig} />} />
<Redirect to={window._env_.K8S_CLIENT ? '/' : `${URLS.LOGIN_SSO}${location.search}`} />
</Switch>
<Routes>
{toastEligibleRoutes
.filter(({ condition }) => condition)
.map(({ path, component }) => (
<Route key={path} path={path} element={component} />
))}
<Route path="/*" element={<NavigationRoutes reloadVersionConfig={reloadVersionConfig} />} />
</Routes>
</BreadcrumbStore>
</ErrorBoundary>
)
Expand Down
Loading
Loading