gui-react-spa
React SPA: 13 UI-компонентов, 3 лейаута, 57 страниц, 3 темы
Specification
gui-react-spa
Назначение
Полнофункциональный React SPA для enterprise-приложений: UI-компоненты, лейауты, темы, паттерны страниц (List+Table, Detail, Dashboard).
Стек
Контракты
UI-компоненты (components/ui/)
| Компонент | Описание | Варианты (CVA) |
|---|
|-----------|----------|----------------|
| Button | Кнопка | 6 variants (default, destructive, outline, secondary, ghost, link), 4 sizes (default, sm, lg, icon) |
|---|---|---|
| Badge | Статусные бейджи | 5 variants (default, success, warning, destructive, secondary) |
| Dialog | Модальное окно | native HTML `<dialog>` API |
| Input | Текстовое поле | optional label |
| Select | Выпадающий список | options array |
| Textarea | Многострочное поле | — |
| Spinner | Индикатор загрузки | — |
| PhoneInput | Телефон | формат +7 XXX XXX-XX-XX |
Layout-компоненты (components/layout/)
| Компонент | Описание |
|---|
|-----------|----------|
| AppLayout | Обёртка: auth guard + sidebar + header + Outlet |
|---|---|
| Sidebar | Левая навигация: роль-фильтрация секций, мобильный overlay |
Темы (index.css)
3 темы через `html[data-theme]` и CSS-переменные:
Переменные: `--color-primary`, `--color-background`, `--color-foreground`, `--color-card`, `--color-sidebar`, `--color-border`, `--color-success`, `--color-warning`, `--color-destructive`.
Паттерны страниц
**List+Table**: Card-обёртка → строка фильтров (search debounced 300ms, select-фильтры) → таблица с hover → пагинация → Dialog для создания/редактирования.
**Detail**: Заголовок + статус Badge + кнопки действий → секции/табы вложенных сущностей.
**Dashboard**: Приветствие → сетка stat-карточек (1-2-4 колонки) → быстрые ссылки.
HTTP/Auth (lib/)
React Query хуки (lib/queries/)
Паттерн: `useEntities(params)` → `useQuery({ queryKey, queryFn })`, `useCreateEntity()` → `useMutation({ mutationFn, onSuccess: invalidate })`.
Зависимости
Реализации
| Стек | Путь | Источник | Статус |
|---|
|------|------|----------|--------|
| React 19 + Vite + Tailwind v4 | reference/ | IFCG/Reference | проверен |
|---|
Адаптация
При интеграции в новый проект: