feat: Refactor APP_PREFIX to const.ts (#523)

Signed-off-by: Charles Thao <cthao@redhat.com>
This commit is contained in:
Charles Thao 2025-08-07 15:58:56 -04:00 committed by Bhakti Narvekar
parent d2b97e78eb
commit fd2dc790ff
4 changed files with 8 additions and 5 deletions

View File

@ -10,9 +10,8 @@ import {
import { PageSidebar, PageSidebarBody } from '@patternfly/react-core/dist/esm/components/Page';
import { useTypedLocation } from '~/app/routerHelper';
import { useNavData, isNavDataGroup, NavDataHref, NavDataGroup } from './AppRoutes';
import { isMUITheme, LOGO_LIGHT } from './const';
import { APP_PREFIX, isMUITheme, LOGO_LIGHT } from './const';
const APP_PREFIX = process.env.APP_PREFIX || '/workspaces';
const NavHref: React.FC<{ item: NavDataHref }> = ({ item }) => {
const location = useTypedLocation();

View File

@ -12,3 +12,5 @@ const STYLE_THEME = process.env.STYLE_THEME || Theme.MUI;
export const LOGO_LIGHT = process.env.LOGO || 'logo.svg';
export const DEFAULT_POLLING_RATE_MS = 10000;
export const APP_PREFIX = process.env.APP_PREFIX || '/workspaces';

View File

@ -1,5 +1,5 @@
import React, { ReactNode, useMemo } from 'react';
import { BFF_API_VERSION } from '~/app/const';
import { APP_PREFIX, BFF_API_VERSION } from '~/app/const';
import EnsureAPIAvailability from '~/app/EnsureAPIAvailability';
import useNotebookAPIState, { NotebookAPIState } from './useNotebookAPIState';
@ -19,7 +19,9 @@ interface NotebookContextProviderProps {
}
export const NotebookContextProvider: React.FC<NotebookContextProviderProps> = ({ children }) => {
const hostPath = `/api/${BFF_API_VERSION}`;
// Remove trailing slash from APP_PREFIX to avoid double slashes
const cleanPrefix = APP_PREFIX.replace(/\/$/, '');
const hostPath = `${cleanPrefix}/api/${BFF_API_VERSION}`;
const [apiState, refreshAPIState] = useNotebookAPIState(hostPath);

View File

@ -3,10 +3,10 @@ import ReactDOM from 'react-dom/client';
import { BrowserRouter as Router } from 'react-router-dom';
import { ThemeProvider, createTheme } from '@mui/material/styles';
import App from './app/App';
import { APP_PREFIX } from './app/const';
const theme = createTheme({ cssVariables: true });
const root = ReactDOM.createRoot(document.getElementById('root')!);
const APP_PREFIX = process.env.APP_PREFIX || '/workspaces';
root.render(
<React.StrictMode>