Skip to main content

UI/UX Guidelines

Раздел документации для UI/UX решений и архитектурных записей (ADR) по компонентам интерфейса.


Зачем это нужно

  1. Через 6 месяцев ты забудешь почему так сделал
  2. Новый разработчик захочет "улучшить" и сломает продуманный баланс
  3. При редизайне будет понятно что было осознанным решением, а что случайным

Когда документировать

СитуацияДокументировать?
Два противоположных мнения сошлись к одному решениюДа
Решение требует понимания бизнес-контекстаДа
Trade-off между UX и техническими ограничениямиДа
Стандартный паттерн (кнопка, инпут)Нет
Очевидное решение без альтернативНет

Формат ADR

Каждое значимое решение документируется в формате ADR:

# ADR: Название компонента/решения

## Контекст
Описание проблемы и ограничений

## Решения

### 1. Название решения
- **Проблема:** что решаем
- **Решение:** что выбрали
- **Альтернативы:** что отклонили и почему
- **Обоснование:** почему именно так

## Статус
Принято/Пересмотрено, дата

Frontend Project Structure

frontend/
├── src/
│ ├── components/ # UI components
│ │ ├── screens/ # Tab screens (Home, Cases, Profile, etc.)
│ │ ├── ui/ # Reusable UI (buttons, modals, skeletons)
│ │ └── onboarding/ # Onboarding guide
│ ├── hooks/ # Custom hooks (useUserProfile, useQuests, etc.)
│ ├── services/ # API clients (bootstrap, quests, cases, etc.)
│ ├── stores/ # Zustand stores (settings, hints, user)
│ ├── utils/ # Utilities (lastKnownBalance, AudioManager, etc.)
│ ├── providers/ # React providers (QueryProvider)
│ ├── types/ # TypeScript types
│ ├── config/ # Config files (banner, hints, tour)
│ └── App.tsx # Root component
└── public/
├── sounds/ # Sound effects (MP3)
└── images/ # Static images

Stack: React 18 + TypeScript, Vite, Tailwind CSS, TanStack Query v5, Zustand, React Router


Структура раздела

ДокументСодержание
Design PrinciplesБазовые принципы дизайна для TMA
Theme GuideЦвета, CSS variables, переключение тем
Animation SystemTailwind animations, keyframes, skeleton shimmer
Audio SystemЗвуковые эффекты, AudioManager, useAudio hook
Inventory CardsADR по карточкам инвентаря

Связанные материалы