# =================================================================== # Полный контекст React Typescript проекта # Сгенерировано: 2026-02-03 12:00:59 # =================================================================== Это полный дамп исходного кода React Typescript (Vite) проекта. Каждый файл предваряется заголовком с путём к нему. # =================================================================== # Файл: Dockerfile # =================================================================== ``` # Этап 1: Сборка (Build) FROM node:24-alpine as builder WORKDIR /app # Копируем файлы зависимостей COPY package*.json ./ # Устанавливаем зависимости RUN npm install # Копируем исходный код COPY . . # Собираем проект (результат будет в папке dist) # Важно: Vite подставит VITE_API_URL во время сборки. # Мы будем использовать относительный путь /api, чтобы работал прокси Nginx. ENV VITE_API_URL=/api RUN npm run build # Этап 2: Запуск (Serve via Nginx) FROM nginx:alpine # Копируем конфиг nginx (создадим его на след. шаге) COPY nginx.conf /etc/nginx/conf.d/default.conf # Копируем собранные файлы из этапа сборки COPY --from=builder /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` # =================================================================== # Файл: eslint.config.js # =================================================================== ``` import js from '@eslint/js' import globals from 'globals' import reactHooks from 'eslint-plugin-react-hooks' import reactRefresh from 'eslint-plugin-react-refresh' import tseslint from 'typescript-eslint' import { defineConfig, globalIgnores } from 'eslint/config' export default defineConfig([ globalIgnores(['dist']), { files: ['**/*.{ts,tsx}'], extends: [ js.configs.recommended, tseslint.configs.recommended, reactHooks.configs.flat.recommended, reactRefresh.configs.vite, ], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, }, ]) ``` # =================================================================== # Файл: index.html # =================================================================== ```
Status:{" "} {isConnected ? ( Connected ) : ( Disconnected )}
Session: {sessionId?.slice(0, 8)}...
{lastError &&Error: {lastError}
}Вы вошли как Оператор {serverName && ( <> {" "} на сервере {serverName} > )} .
Операторы могут загружать фото накладных только через Telegram-бота.
Для доступа к полному интерфейсу обратитесь к администратору сервера.
{activeWarning.ProductName}
{activeWarning.Reason}
| {cell !== undefined && cell !== null ? String(cell) : ""} | ))}