NTP-50879| uptime changes | varshitha (#1414)

* NTP-50879| uptime changes | varshitha

* NTP-50879| uptime changes | varshitha

* NTP-50879 | updated packages | varshitha
This commit is contained in:
Podili Varshitha
2025-04-14 18:05:27 +05:30
committed by GitHub
parent e47d6a047c
commit 6517e2a545
2 changed files with 94 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
import { useEffect, useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { useNavigate } from 'react-router-dom';
import { useLocation, useNavigate } from 'react-router-dom';
import { ToastContainer } from '@navi/web-ui/lib/primitives/Toast/index';
import styles from './App.module.scss';
import AppRouter from './AppRouter';
@@ -49,9 +49,9 @@ import {
WA_PLUGIN_VERSION
} from './pages/auth/constants/AuthConstants';
import Cybertron from '@cybertron/core/lib/browser';
import CybertronLogs from '@cybertron/logger/lib/main';
import { p } from 'msw/lib/core/GraphQLHandler-d4787f91';
import { sentryBrowser as Cybertron, setScreenName } from '@cybertron/core';
import { returnScreenName } from './layout/utils';
declare global {
interface Window {
config: AppConfig;
@@ -258,6 +258,17 @@ const App = () => {
dispatch(setFcmToken(fcmToken));
};
const pathName = useLocation();
useEffect(() => {
// Only set screen name if we're not in dev mode (where Cybertron isn't initialized)
if (!import.meta.env.DEV && pathName?.pathname) {
const finalScreenName = returnScreenName(pathName.pathname);
if (window?.cybertron && finalScreenName !== 'unknown') {
setScreenName(finalScreenName);
}
}
}, [pathName]);
useEffect(() => {
const promiseFn = () =>
axiosInstance.get(getApiUrl(ApiKeys.BUILD_TIMESTAMP), {

View File

@@ -59,3 +59,83 @@ export const enableLonghornThemForPages = [
APP_ROUTES.TEAM_LEAD_DASHBOARD.path,
APP_ROUTES.CASES.path
];
const matchDynamicPath = (actualPath: string, routePath: string): boolean => {
const actualParts = actualPath.split('/');
const routeParts = routePath.split('/');
if (actualParts.length !== routeParts.length) return false;
return routeParts.every((routePart, index) => {
if (routePart.startsWith(':')) return true;
return routePart === actualParts[index];
});
};
export const returnScreenName = (pathName: string): string => {
const pathWithoutQuery = pathName.split('?')[0];
if (ScreeNameMapping[pathWithoutQuery]) {
return ScreeNameMapping[pathWithoutQuery];
}
const matchingRoute = Object.entries(APP_ROUTES).find(([_, route]) => {
if (!route.path) return false;
return matchDynamicPath(pathWithoutQuery, route.path);
});
if (matchingRoute) {
return ScreeNameMapping[matchingRoute[1].path] || 'unknown';
}
return 'unknown';
};
export const ScreeNameMapping: Record<string, string> = {
[APP_ROUTES.CASES.path]: 'CASES',
[APP_ROUTES.CASE_DETAIL.path]: 'CASE_DETAIL',
[APP_ROUTES.HR_DASHBOARD.path]: 'HR_DASHBOARD',
[APP_ROUTES.TL_GENERATE_AMEYO_PASSWORD.path]: 'TL_GENERATE_AMEYO_PASSWORD',
[APP_ROUTES.DASHBOARD.path]: 'DASHBOARD',
[APP_ROUTES.CSA_COORDINATION.path]: 'CSA_COORDINATION',
[APP_ROUTES.ANOMALY_TRACKER.path]: 'ANOMALY_TRACKER',
[APP_ROUTES.PERFORMANCE_DASHBOARD.path]: 'PERFORMANCE_DASHBOARD',
[APP_ROUTES.TEAM_LEAD_DASHBOARD.path]: 'TEAM_LEAD_DASHBOARD',
[APP_ROUTES.APPROVALS.path]: 'APPROVALS',
[APP_ROUTES.LIVE_LOCATION_TRACKER.path]: 'LIVE_LOCATION_TRACKER',
[APP_ROUTES.SENSEI_EXTERNAL.path]: 'SENSEI_EXTERNAL',
[APP_ROUTES.CSA_DASHBOARD.path]: 'CSA_DASHBOARD',
[APP_ROUTES.REALLOCATION.path]: 'REALLOCATION',
[APP_ROUTES.SENSEI.path]: 'SENSEI',
[APP_ROUTES.AGENT_AVAILABILITY.path]: 'AGENT_AVAILABILITY',
[APP_ROUTES.AGENT_AVAILABILITY_HISTORY.path]: 'AGENT_AVAILABILITY_HISTORY',
[APP_ROUTES.AGENCY_PINCODE_MAPPING.path]: 'AGENCY_PINCODE_MAPPING',
[APP_ROUTES.AGENCY_CAPPING.path]: 'AGENCY_CAPPING',
[APP_ROUTES.AGENCY_UTILITIES.path]: 'AGENCY_UTILITIES',
[APP_ROUTES.AMEYO_UTILITY.path]: 'AMYO_UTILITY',
[APP_ROUTES.GENERATE_AMEYO_PASSWORD.path]: 'GENERATE_AMEYO_PASSWORD',
[APP_ROUTES.AMEYO_UPLOAD_NUMBERS.path]: 'AMEYO_UPLOAD_NUMBERS',
[APP_ROUTES.LEAVE_MANAGEMENT.path]: 'LEAVE_MANAGEMENT',
[APP_ROUTES.WHATSAPP_CHATBOT.path]: 'WHATSAPP_CHATBOT',
[APP_ROUTES.SENSEI_TELE.path]: 'SENSEI_TELE',
[APP_ROUTES.NOT_FOUND.path]: 'NOT_FOUND',
[APP_ROUTES.TL_GENERATE_AMEYO_PASSWORD.path]: 'GENERATE_AMEYO_PASSWORD_TL',
[APP_ROUTES.ALL_AGENTS.path]: 'ALL_AGENTS',
[APP_ROUTES.ALLOCATION.path]: 'ALLOCATION',
[APP_ROUTES.AGENTS_ALLOCATION.path]: 'AGENTS_ALLOCATION',
[APP_ROUTES.AGENCY_ALLOCATION.path]: 'AGENCY_ALLOCATION',
[APP_ROUTES.ALLOCATE_CASES_FOR_AGENCY.path]: 'ALLOCATE_CASES_FOR_AGENCY',
[APP_ROUTES.DEALLOCATE_CASES_FOR_AGENCY.path]: 'DEALLOCATE_CASES_FOR_AGENCY',
[APP_ROUTES.ALLOCATE_CASES_FOR_AGENTS.path]: 'ALLOCATE_CASES_FOR_AGENTS',
[APP_ROUTES.DEALLOCATE_CASES_FOR_AGENTS.path]: 'DEALLOCATE_CASES_FOR_AGENTS',
[APP_ROUTES.PARAMOUNT.path]: 'PARAMOUNT',
[APP_ROUTES.PARAMOUNT_EDIT_STRATEGY.path]: 'PARAMOUNT_EDIT_STRATEGY',
[APP_ROUTES.PARAMOUNT_VIEW_STRATEGY.path]: 'PARAMOUNT_VIEW_STRATEGY',
[APP_ROUTES.PARAMOUNT_PRODUCTS.path]: 'PARAMOUNT_PRODUCTS',
[APP_ROUTES.PARAMOUNT_TIMELINES.path]: 'PARAMOUNT_TIMELINES',
[APP_ROUTES.PARAMOUNT_VIEW_TIMELINE.path]: 'PARAMOUNT_VIEW_TIMELINE',
[APP_ROUTES.PARAMOUNT_PLAYGROUND.path]: 'PARAMOUNT_PLAYGROUND',
[APP_ROUTES.PARAMOUNT_SEGMENTS.path]: 'PARAMOUNT_SEGMENTS',
[APP_ROUTES.ENACH.path]: 'ENACH',
[APP_ROUTES.AGENCIES.path]: 'AGENCIES',
[APP_ROUTES.SELF_SERVE_STATE_RESETTER.path]: 'SELF_SERVE_STATE_RESETTER'
};