MemPrepMate / src /lib /utils /constants.ts
Christian Kniep
new webapp
1fff71f
// Application constants
// API Configuration
export const API_URL = import.meta.env.VITE_API_URL || 'http://localhost:4004';
export const API_TIMEOUT = parseInt(import.meta.env.VITE_API_TIMEOUT || '30000');
export const API_TOKEN = import.meta.env.VITE_API_TOKEN || 'dev-token-change-in-production';
// Authentication
export const ENABLE_MOCK_AUTH = import.meta.env.VITE_ENABLE_MOCK_AUTH === 'true';
export const MOCK_USER_ID = import.meta.env.VITE_MOCK_USER_ID || 'testuser';
export const MOCK_USERNAME = import.meta.env.VITE_MOCK_USERNAME || 'Test User';
export const MOCK_EMAIL = import.meta.env.VITE_MOCK_EMAIL || 'testuser@example.com';
// OAuth
export const OAUTH_CLIENT_ID = import.meta.env.VITE_OAUTH_CLIENT_ID || '';
export const OAUTH_REDIRECT_URI =
import.meta.env.VITE_OAUTH_REDIRECT_URI || 'http://localhost:5173/auth/callback';
export const OAUTH_PROVIDER_URL =
import.meta.env.VITE_OAUTH_PROVIDER_URL || 'https://huggingface.co';
// Feature Flags
export const ENABLE_COMPARISON = import.meta.env.VITE_ENABLE_COMPARISON !== 'false';
export const SESSION_LIMIT = parseInt(import.meta.env.VITE_SESSION_LIMIT || '20');
// UI Constants
export const SESSION_LIMIT_WARNING = 15; // Warn when approaching limit
export const MESSAGE_MAX_LENGTH = 10000; // Max message content length
export const SESSION_TITLE_MAX_LENGTH = 200; // Max session title length
// Storage Keys
export const STORAGE_KEY_AUTH_TOKEN = 'prepmate_auth_token';
export const STORAGE_KEY_AUTH_USER = 'prepmate_auth_user';
export const STORAGE_KEY_USER_PROFILE = 'prepmate_user_profile'; // Alias for AUTH_USER
export const STORAGE_KEY_TOKEN_EXPIRY = 'prepmate_token_expiry';
export const STORAGE_KEY_SIDEBAR_VISIBLE = 'prepmate_sidebar_visible';
export const STORAGE_KEY_ACTIVE_SESSION = 'prepmate_active_session';
// HTTP Headers
export const HEADER_AUTHORIZATION = 'Authorization';
export const HEADER_USER_ID = 'X-User-ID';
export const HEADER_CONTENT_TYPE = 'Content-Type';
// Retry Configuration
export const MAX_RETRIES = 3;
export const RETRY_DELAY = 1000; // milliseconds
// Breakpoints (match Bootstrap)
export const BREAKPOINT_MOBILE = 768;
export const BREAKPOINT_TABLET = 992;
export const BREAKPOINT_DESKTOP = 1200;