- 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
5.2 KiB
5.2 KiB
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- список MicroDAOPOST /api/v1/teams- створення MicroDAOPOST /api/v1/teams/:teamId/members- запрошення користувача
🚀 Наступні кроки
Backend
- Реалізувати реальну інтеграцію з БД для teams
- Реалізувати отримання user_id з email при запрошенні
- Додати створення team_member record при запрошенні
Frontend
- Додати оновлення списку MicroDAO після створення
- Додати детальну сторінку MicroDAO
- Додати управління налаштуваннями MicroDAO
- Додати відображення членів MicroDAO
Останнє оновлення: 2024-11-14