mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-02-21 16:17:34 +00:00
refactor: move IS_PLATFORM to config file for both frontend and backend
The reason we couldn't place it in shared/modelConstants.js is that the frontend uses Vite which requires import.meta.env for environment variables, while the backend uses process.env. Therefore, we created separate config files for the frontend (src/constants/config.ts) and backend (server/constants/config.js).
This commit is contained in:
5
server/constants/config.js
Normal file
5
server/constants/config.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
/**
|
||||||
|
* Environment Flag: Is Platform
|
||||||
|
* Indicates if the app is running in Platform mode (hosted) or OSS mode (self-hosted)
|
||||||
|
*/
|
||||||
|
export const IS_PLATFORM = import.meta.env.VITE_IS_PLATFORM === 'true';
|
||||||
@@ -62,11 +62,4 @@ export const CODEX_MODELS = {
|
|||||||
],
|
],
|
||||||
|
|
||||||
DEFAULT: 'gpt-5.2'
|
DEFAULT: 'gpt-5.2'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Environment Flag: Is Platform
|
|
||||||
* Indicates if the app is running in Platform mode (hosted) or OSS mode (self-hosted)
|
|
||||||
*/
|
|
||||||
export const IS_PLATFORM = import.meta.env.VITE_IS_PLATFORM === 'true';
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { X } from 'lucide-react';
|
import { X } from 'lucide-react';
|
||||||
import StandaloneShell from './StandaloneShell';
|
import StandaloneShell from './StandaloneShell';
|
||||||
import { IS_PLATFORM } from '../../shared/modelConstants';
|
import { IS_PLATFORM } from '../constants/config';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reusable login modal component for Claude, Cursor, and Codex CLI authentication
|
* Reusable login modal component for Claude, Cursor, and Codex CLI authentication
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import CodexLogo from './CodexLogo';
|
|||||||
import LoginModal from './LoginModal';
|
import LoginModal from './LoginModal';
|
||||||
import { authenticatedFetch } from '../utils/api';
|
import { authenticatedFetch } from '../utils/api';
|
||||||
import { useAuth } from '../contexts/AuthContext';
|
import { useAuth } from '../contexts/AuthContext';
|
||||||
import { IS_PLATFORM } from '../../shared/modelConstants';
|
import { IS_PLATFORM } from '../constants/config';
|
||||||
|
|
||||||
const Onboarding = ({ onComplete }) => {
|
const Onboarding = ({ onComplete }) => {
|
||||||
const [currentStep, setCurrentStep] = useState(0);
|
const [currentStep, setCurrentStep] = useState(0);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import SetupForm from './SetupForm';
|
|||||||
import LoginForm from './LoginForm';
|
import LoginForm from './LoginForm';
|
||||||
import Onboarding from './Onboarding';
|
import Onboarding from './Onboarding';
|
||||||
import { MessageSquare } from 'lucide-react';
|
import { MessageSquare } from 'lucide-react';
|
||||||
import { IS_PLATFORM } from '../../shared/modelConstants';
|
import { IS_PLATFORM } from '../constants/config';
|
||||||
|
|
||||||
const LoadingScreen = () => (
|
const LoadingScreen = () => (
|
||||||
<div className="min-h-screen bg-background flex items-center justify-center p-4">
|
<div className="min-h-screen bg-background flex items-center justify-center p-4">
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { WebglAddon } from '@xterm/addon-webgl';
|
|||||||
import { WebLinksAddon } from '@xterm/addon-web-links';
|
import { WebLinksAddon } from '@xterm/addon-web-links';
|
||||||
import '@xterm/xterm/css/xterm.css';
|
import '@xterm/xterm/css/xterm.css';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { IS_PLATFORM } from '../../shared/modelConstants';
|
import { IS_PLATFORM } from '../constants/config';
|
||||||
|
|
||||||
const xtermStyles = `
|
const xtermStyles = `
|
||||||
.xterm .xterm-screen {
|
.xterm .xterm-screen {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import ProjectCreationWizard from './ProjectCreationWizard';
|
|||||||
import { api } from '../utils/api';
|
import { api } from '../utils/api';
|
||||||
import { useTaskMaster } from '../contexts/TaskMasterContext';
|
import { useTaskMaster } from '../contexts/TaskMasterContext';
|
||||||
import { useTasksSettings } from '../contexts/TasksSettingsContext';
|
import { useTasksSettings } from '../contexts/TasksSettingsContext';
|
||||||
import { IS_PLATFORM } from '../../shared/modelConstants';
|
import { IS_PLATFORM } from '../constants/config';
|
||||||
|
|
||||||
// Move formatTimeAgo outside component to avoid recreation on every render
|
// Move formatTimeAgo outside component to avoid recreation on every render
|
||||||
const formatTimeAgo = (dateString, currentTime, t) => {
|
const formatTimeAgo = (dateString, currentTime, t) => {
|
||||||
|
|||||||
5
src/constants/config.ts
Normal file
5
src/constants/config.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
/**
|
||||||
|
* Environment Flag: Is Platform
|
||||||
|
* Indicates if the app is running in Platform mode (hosted) or OSS mode (self-hosted)
|
||||||
|
*/
|
||||||
|
export const IS_PLATFORM = import.meta.env.VITE_IS_PLATFORM === 'true';
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import React, { createContext, useContext, useEffect, useState } from 'react';
|
import React, { createContext, useContext, useEffect, useState } from 'react';
|
||||||
import { api } from '../utils/api';
|
import { api } from '../utils/api';
|
||||||
import { IS_PLATFORM } from '../../shared/modelConstants';
|
import { IS_PLATFORM } from '../constants/config';
|
||||||
|
|
||||||
const AuthContext = createContext({
|
const AuthContext = createContext({
|
||||||
user: null,
|
user: null,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { createContext, useContext, useEffect, useRef, useState } from 'react';
|
import { createContext, useContext, useEffect, useRef, useState } from 'react';
|
||||||
import { useAuth } from './AuthContext';
|
import { useAuth } from './AuthContext';
|
||||||
import { IS_PLATFORM } from '../../shared/modelConstants';
|
import { IS_PLATFORM } from '../constants/config';
|
||||||
|
|
||||||
type WebSocketContextType = {
|
type WebSocketContextType = {
|
||||||
ws: WebSocket | null;
|
ws: WebSocket | null;
|
||||||
|
|||||||
Reference in New Issue
Block a user