Files
labFusion/frontend/rsbuild.config.js
GSRN 48c755dff3
Some checks failed
Integration Tests / integration-tests (push) Failing after 24s
Integration Tests / performance-tests (push) Has been skipped
API Docs (Node.js Express) / test (20) (push) Failing after 42s
API Docs (Node.js Express) / build (push) Has been skipped
Service Adapters (Python FastAPI) / test (3.11) (push) Successful in 1m8s
Service Adapters (Python FastAPI) / test (3.12) (push) Successful in 1m13s
Frontend (React) / test (20) (push) Successful in 1m46s
Frontend (React) / build (push) Failing after 52s
Frontend (React) / lighthouse (push) Has been skipped
Service Adapters (Python FastAPI) / test (3.13) (push) Successful in 2m4s
Service Adapters (Python FastAPI) / build (push) Failing after 17s
feat: Enhance frontend with theme support and offline capabilities
### Summary of Changes
- Introduced theme-aware CSS variables for consistent styling across light and dark modes.
- Updated `App.jsx` to manage theme settings and improve layout responsiveness.
- Refactored `OfflineMode` component to provide detailed connection status and quick actions for users.
- Enhanced `Dashboard`, `Settings`, and `SystemMetrics` components to utilize new theme variables and improve UI consistency.
- Updated service URLs in constants and API documentation to reflect new configurations.

### Expected Results
- Improved user experience with a cohesive design that adapts to user preferences.
- Enhanced offline functionality, providing users with better feedback and control during service outages.
- Streamlined codebase with consistent styling practices, making future updates easier.
2025-09-18 02:37:58 +02:00

53 lines
1.2 KiB
JavaScript

import { defineConfig } from '@rsbuild/core';
import { pluginReact } from '@rsbuild/plugin-react';
import { pluginEslint } from '@rsbuild/plugin-eslint';
import { pluginTypeCheck } from '@rsbuild/plugin-type-check';
export default defineConfig({
plugins: [
pluginReact(),
pluginEslint({
eslintOptions: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
}),
pluginTypeCheck(),
],
server: {
port: 3000,
proxy: {
'/api': {
target: 'http://localhost:8080',
changeOrigin: true,
},
},
},
html: {
template: './public/index.html',
},
output: {
distPath: {
root: 'build',
},
},
source: {
entry: {
index: './src/index.js',
},
define: {
'process.env.REACT_APP_API_URL': JSON.stringify(process.env.REACT_APP_API_URL || 'http://localhost:8080'),
'process.env.REACT_APP_ADAPTERS_URL': JSON.stringify(process.env.REACT_APP_ADAPTERS_URL || 'http://localhost:8000'),
'process.env.REACT_APP_DOCS_URL': JSON.stringify(process.env.REACT_APP_DOCS_URL || 'http://localhost:8083'),
},
},
tools: {
rspack: {
resolve: {
alias: {
'@': './src',
},
},
},
},
});