test
This commit is contained in:
+4
-2
@@ -3,8 +3,10 @@
|
||||
# Used for self-referential links, OAuth callbacks, and API endpoints.
|
||||
APP_URL="MY_APP_URL"
|
||||
|
||||
# Backend API URL
|
||||
VITE_API_URL="http://192.168.1.102:6400"
|
||||
# Backend API URL (Omnyx Backend)
|
||||
# Default: http://localhost:3001 for local dev
|
||||
# Change this if backend runs on different host/port
|
||||
VITE_API_URL="http://localhost:3001"
|
||||
|
||||
# Importer Configurations
|
||||
# XBVR Importer
|
||||
|
||||
@@ -378,6 +378,23 @@ export default defineConfig({
|
||||
- Check tsconfig.json configuration
|
||||
- Use `npm run type-check` for type checking
|
||||
|
||||
## Task Management
|
||||
|
||||
### Todo-Listen System
|
||||
|
||||
Alle AIs MÜSSEN Todo-Listen für komplexe Aufgaben verwenden:
|
||||
|
||||
- **Erstellung**: Bei mehreren Schritten oder komplexen Aufgaben eine Todo-Liste erstellen
|
||||
- **Aktualisierung**: Fortschritt regelmäßig aktualisieren (in_progress, completed)
|
||||
- **Priorisierung**: Aufgaben mit high/medium/low priorisieren
|
||||
- **Dokumentation**: Wichtige Entscheidungen in der Todo festhalten
|
||||
|
||||
Beispiel Workflow:
|
||||
1. Todo-Liste am Anfang erstellen mit allen geplanten Schritten
|
||||
2. Aktuellen Schritt als `in_progress` markieren
|
||||
3. Erledigte Schritte als `completed` markieren
|
||||
4. Bei neuen Erkenntnissen die Liste aktualisieren
|
||||
|
||||
## Reference Resources
|
||||
|
||||
- [React Official Documentation](https://react.dev/)
|
||||
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
# Multi-stage build for Omnyx Frontend
|
||||
|
||||
# Stage 1: Build
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy package files
|
||||
COPY package*.json ./
|
||||
|
||||
# Install dependencies
|
||||
RUN npm ci
|
||||
|
||||
# Copy source code
|
||||
COPY . .
|
||||
|
||||
# Build the application
|
||||
RUN npm run build
|
||||
|
||||
# Stage 2: Production
|
||||
FROM nginx:alpine AS production
|
||||
|
||||
# Copy built files to nginx
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
|
||||
# Copy nginx configuration
|
||||
RUN echo 'server { \
|
||||
listen 3000; \
|
||||
server_name localhost; \
|
||||
location / { \
|
||||
root /usr/share/nginx/html; \
|
||||
index index.html; \
|
||||
try_files $uri $uri/ /index.html; \
|
||||
} \
|
||||
location /api { \
|
||||
proxy_pass http://backend:3001; \
|
||||
proxy_http_version 1.1; \
|
||||
proxy_set_header Upgrade $http_upgrade; \
|
||||
proxy_set_header Connection "upgrade"; \
|
||||
proxy_set_header Host $host; \
|
||||
proxy_set_header X-Real-IP $remote_addr; \
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; \
|
||||
proxy_set_header X-Forwarded-Proto $scheme; \
|
||||
} \
|
||||
}' > /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Expose port
|
||||
EXPOSE 3000
|
||||
|
||||
# Start nginx
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
@@ -2,7 +2,7 @@ import { Staff, Media } from '../../types';
|
||||
import { ApiResponse, PaginatedResponse, ApiCastItem, CreateCastInput, UpdateCastInput } from './types';
|
||||
import { convertApiCastToStaff, convertApiToMedia } from './converters';
|
||||
|
||||
const BASE_URL = import.meta.env.VITE_API_URL;
|
||||
const BASE_URL = import.meta.env.VITE_API_URL || '';
|
||||
|
||||
export async function fetchAllCast(page: number = 1, limit: number = 100000): Promise<Staff[]> {
|
||||
try {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Media } from '../../types';
|
||||
import { ApiResponse, PaginatedResponse, ApiMediaItem, CreateMediaInput, UpdateMediaInput } from './types';
|
||||
import { convertApiToMedia } from './converters';
|
||||
|
||||
const BASE_URL = import.meta.env.VITE_API_URL;
|
||||
const BASE_URL = import.meta.env.VITE_API_URL || '';
|
||||
|
||||
export async function fetchAllMedia(page: number = 1, limit: number = 10000): Promise<Media[]> {
|
||||
try {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { UserSettings } from '../../types';
|
||||
import { ApiResponse, ApiSettingsItem, CreateSettingsInput, UpdateSettingsInput } from './types';
|
||||
import { convertApiToSettings, convertSettingsToApi } from './converters';
|
||||
|
||||
const BASE_URL = import.meta.env.VITE_API_URL;
|
||||
const BASE_URL = import.meta.env.VITE_API_URL || '';
|
||||
|
||||
export async function fetchSettings(): Promise<UserSettings | null> {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user