Files
pwap/shared
pezkuwichain a635610b7c feat: Phase 1B complete - Perwerde & ValidatorPool UI
Perwerde (Education Platform):
- Add hybrid backend (Supabase + Blockchain + IPFS)
- Implement CourseList, CourseCreator, StudentDashboard
- Create courses table with RLS policies
- Add IPFS upload utility
- Integrate with pallet-perwerde extrinsics

ValidatorPool:
- Add validator pool management UI
- Implement PoolCategorySelector with 3 categories
- Add ValidatorPoolDashboard with pool stats
- Integrate with pallet-validator-pool extrinsics
- Add to StakingDashboard as new tab

Technical:
- Fix all toast imports (sonner)
- Fix IPFS File upload (Blob conversion)
- Fix RLS policies (wallet_address → auth.uid)
- Add error boundaries
- Add loading states

Status: UI complete, blockchain integration pending VPS deployment
2025-11-17 05:04:51 +03:00
..

Shared Code

This directory contains code shared between web, mobile, and SDK UI applications.

Structure

  • types/ - TypeScript type definitions and interfaces

    • blockchain.ts - Blockchain-related types (WalletAccount, Transaction, etc.)
    • tokens.ts - Token and DEX types (TokenInfo, PoolInfo, SwapQuote, etc.)
  • constants/ - Shared constants and configuration values

    • KNOWN_TOKENS - Token definitions (HEZ, PEZ, USDT)
    • KURDISTAN_COLORS - Color palette (Kesk, Sor, Zer, Spî, Reş)
    • SUPPORTED_LANGUAGES - Available languages (EN, TR, KMR, CKB, AR, FA)
    • TOKEN_DISPLAY_SYMBOLS - Display vs blockchain symbol mapping
  • blockchain/ - Blockchain-related utilities

    • polkadot.ts - Polkadot/Substrate utilities and endpoints
    • DEFAULT_ENDPOINT - Current blockchain endpoint (beta testnet)
  • i18n/ - Internationalization

    • locales/ - Translation files for 6 languages
    • LANGUAGES - Language configurations with RTL support
    • translations - All locale data
  • utils/ - Utility functions and helpers

    • formatting.ts - Address and number formatting
    • validation.ts - Input validation utilities

Usage

Import shared code in your projects:

// Token types and constants
import { TokenInfo, KNOWN_TOKENS } from '../../../shared/types/tokens';
import { KURDISTAN_COLORS, TOKEN_DISPLAY_SYMBOLS } from '../../../shared/constants';

// Blockchain utilities
import { DEFAULT_ENDPOINT, BLOCKCHAIN_ENDPOINTS } from '../../../shared/blockchain/polkadot';

// i18n
import { translations, LANGUAGES, isRTL } from '../../../shared/i18n';

// Formatting utilities
import { formatAddress, formatTokenAmount } from '../../../shared/utils/formatting';

Guidelines

  • Keep code framework-agnostic when possible
  • Add comprehensive JSDoc comments
  • Write unit tests for utilities
  • Avoid platform-specific dependencies
  • Use relative imports: ../../../shared/... from web/mobile/SDK UI