feat: add Console UI for MicroDAO management
- Create ConsolePage with navigation - Add WalletInfo component (balance display and access checks) - Add CreateMicroDaoForm (with balance validation) - Add MicroDaoList component (display teams/MicroDAO) - Add InviteMemberForm (with balance checks for admin/member) - Add wallet API client - Update teams API with inviteMember function - Add /console route to App.tsx
This commit is contained in:
137
CONSOLE_UI_SUMMARY.md
Normal file
137
CONSOLE_UI_SUMMARY.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# Console UI - Підсумок реалізації
|
||||
|
||||
## ✅ Що створено
|
||||
|
||||
### 1. Сторінка Console (`/console`)
|
||||
- **Файл:** `src/pages/ConsolePage.tsx`
|
||||
- **Маршрут:** `/console`
|
||||
- **Функціонал:**
|
||||
- Навігація між списком MicroDAO та створенням
|
||||
- Відображення Wallet інформації
|
||||
- Управління MicroDAO
|
||||
|
||||
### 2. Компоненти Console
|
||||
|
||||
#### WalletInfo
|
||||
- **Файл:** `src/components/console/WalletInfo.tsx`
|
||||
- **Функціонал:**
|
||||
- Відображення балансів DAARION та DAAR
|
||||
- Перевірка можливості створення MicroDAO (≥ 1.00 DAARION)
|
||||
- Перевірка ролі Admin (≥ 1.00 DAARION)
|
||||
- Перевірка можливості використання сервісу (≥ 0.01 DAARION)
|
||||
|
||||
#### CreateMicroDaoForm
|
||||
- **Файл:** `src/components/console/CreateMicroDaoForm.tsx`
|
||||
- **Функціонал:**
|
||||
- Форма створення MicroDAO
|
||||
- Автоматична перевірка балансу перед створенням
|
||||
- Генерація slug з назви
|
||||
- Вибір типу (community, guild, lab, personal)
|
||||
- Вибір режиму (public, confidential)
|
||||
|
||||
#### MicroDaoList
|
||||
- **Файл:** `src/components/console/MicroDaoList.tsx`
|
||||
- **Функціонал:**
|
||||
- Відображення списку MicroDAO
|
||||
- Відображення типу та режиму
|
||||
- Позначка для DAARION.city (type='city')
|
||||
- Можливість вибору MicroDAO для запрошення
|
||||
|
||||
#### InviteMemberForm
|
||||
- **Файл:** `src/components/console/InviteMemberForm.tsx`
|
||||
- **Функціонал:**
|
||||
- Форма запрошення користувача
|
||||
- Перевірка балансу Admin (≥ 1.00 DAARION)
|
||||
- Вибір ролі (admin/member)
|
||||
- Відображення вимог до балансу запрошеного користувача
|
||||
|
||||
### 3. API функції
|
||||
|
||||
#### Wallet API
|
||||
- **Файл:** `src/api/wallet.ts`
|
||||
- **Функції:**
|
||||
- `getBalances()` - отримання балансів користувача
|
||||
|
||||
#### Teams API (оновлено)
|
||||
- **Файл:** `src/api/teams.ts`
|
||||
- **Додано:**
|
||||
- `inviteMember()` - запрошення користувача в MicroDAO
|
||||
- Оновлено URL endpoints на `/api/v1/teams`
|
||||
|
||||
---
|
||||
|
||||
## 🎨 UI/UX Особливості
|
||||
|
||||
### Дизайн
|
||||
- Використовує Tailwind CSS
|
||||
- Адаптивний layout (grid на великих екранах)
|
||||
- Кольорові індикатори статусу балансу
|
||||
- Інформативні повідомлення про помилки
|
||||
|
||||
### Валідація
|
||||
- Перевірка балансу перед створенням MicroDAO
|
||||
- Перевірка балансу перед запрошенням
|
||||
- Валідація форми (обов'язкові поля, email формат)
|
||||
- Автоматична генерація slug
|
||||
|
||||
### Користувацький досвід
|
||||
- Чіткі індикатори можливостей (✓/✗)
|
||||
- Пояснення вимог до балансу
|
||||
- Можливість оновлення балансу
|
||||
- Навігація між різними режимами
|
||||
|
||||
---
|
||||
|
||||
## 📋 Правила доступу (відображені в UI)
|
||||
|
||||
### Створення MicroDAO
|
||||
- **Потрібно:** ≥ 1.00 DAARION на балансі
|
||||
- **Відображення:** Зелений індикатор в WalletInfo та CreateMicroDaoForm
|
||||
|
||||
### Роль Admin
|
||||
- **Потрібно:** ≥ 1.00 DAARION на балансі
|
||||
- **Відображення:** Зелений індикатор в WalletInfo
|
||||
|
||||
### Запрошення користувача
|
||||
- **Admin потрібно:** ≥ 1.00 DAARION на балансі
|
||||
- **Запрошений Admin:** ≥ 1.00 DAARION на балансі
|
||||
- **Запрошений Member:** ≥ 0.01 DAARION на балансі
|
||||
- **Відображення:** Індикатори в InviteMemberForm
|
||||
|
||||
### Використання сервісу
|
||||
- **Потрібно:** ≥ 0.01 DAARION на балансі
|
||||
- **Відображення:** Зелений індикатор в WalletInfo
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Інтеграція
|
||||
|
||||
### Маршрути
|
||||
- `/console` - головна сторінка Console
|
||||
- Додано в `src/App.tsx`
|
||||
|
||||
### API Endpoints
|
||||
- `GET /api/v1/wallet/balances` - отримання балансів
|
||||
- `GET /api/v1/teams` - список MicroDAO
|
||||
- `POST /api/v1/teams` - створення MicroDAO
|
||||
- `POST /api/v1/teams/:teamId/members` - запрошення користувача
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Наступні кроки
|
||||
|
||||
### Backend
|
||||
- [ ] Реалізувати реальну інтеграцію з БД для teams
|
||||
- [ ] Реалізувати отримання user_id з email при запрошенні
|
||||
- [ ] Додати створення team_member record при запрошенні
|
||||
|
||||
### Frontend
|
||||
- [ ] Додати оновлення списку MicroDAO після створення
|
||||
- [ ] Додати детальну сторінку MicroDAO
|
||||
- [ ] Додати управління налаштуваннями MicroDAO
|
||||
- [ ] Додати відображення членів MicroDAO
|
||||
|
||||
---
|
||||
|
||||
**Останнє оновлення:** 2024-11-14
|
||||
|
||||
Reference in New Issue
Block a user