- 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
138 lines
5.2 KiB
Markdown
138 lines
5.2 KiB
Markdown
# 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
|
|
|