Files
test-calculator/CLAUDE.md
2026-02-17 20:40:09 +03:00

54 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Calculator
Frontend-калькулятор с псевдоавторизацией.
## Стек
- **Framework:** React 18 + TypeScript
- **UI:** Ant Design 5
- **Сборка:** Vite
- **Стили:** CSS Modules
- **Роутинг:** React Router 6
- **Домен:** test-calculator.vigdorov.ru
## Деплой
- **Namespace:** test-calculator (отдельный)
- **CI/CD:** Drone CI через ci-templates (service.yaml + .drone.yml)
- **Тип:** web-frontend (SPA → nginx)
- **Registry:** registry.vigdorov.ru/library/test-calculator
- **Trigger:** push в master
## Структура проекта
```
calculator/
service.yaml # Конфиг ci-templates
.drone.yml # CI/CD пайплайн
src/
components/ # UI-компоненты (Calculator, Display, Keypad, LoginForm)
pages/ # Страницы (LoginPage, CalculatorPage)
context/ # AuthContext для псевдоавторизации
hooks/ # Кастомные хуки (useCalculator, useKeyboard)
utils/ # Логика вычислений
App.tsx
main.tsx
public/
index.html
```
## Команды
```bash
npm run dev # Запуск dev-сервера
npm run build # Сборка для продакшена
npm run preview # Превью билда
npm run lint # Линтинг
```
## Архитектурные решения
- **Псевдоавторизация:** Логин сохраняется в localStorage, любой логин принимается. Нет пароля.
- **Клавиатура:** Калькулятор полностью управляется с клавиатуры (цифры, операторы, Enter=равно, Escape=сброс, Backspace=удаление).
- **Адаптивность:** Минимальная ширина экрана 320px. Интерфейс центрирован.