Skip to content

Frontend

Stack

  • React 19 with functional components and hooks
  • Vite 6 for development and production builds
  • TailwindCSS 4 with dark mode, neon gradients, and glassmorphism
  • PWA support for mobile devices

Key Hooks

useIdentity

Manages the user’s wallet and identity:

  • BIP39 mnemonic generation and import
  • Ed25519 keypair derivation
  • Mnemonic encryption/decryption (AES-256-GCM)
  • Transaction signing and submission to IOTA

useWallet

Handles all payment operations:

  • Sending tips to post authors
  • Subscribing to creators
  • Purchasing content and badges
  • Creating and managing escrows
  • Requesting tokens from the faucet

Pages

PageDescription
HomeForum homepage with thread listing
ThreadThread view with posts and replies
CategoryCategory listing and filtering
NewThreadCreate a new thread
IdentityWallet creation, import, and management
SettingsUser preferences
WalletBalance, transaction history, send tokens
DashboardUser activity overview and stats
MarketplaceBrowse and purchase content, services, badges
EscrowDashboardManage active escrows
SubscriptionManage subscriptions to creators
AdminAdmin panel for forum management
SetupInitial forum setup wizard

Components

ComponentDescription
LayoutApp shell with navigation and theme
RichEditorRich text editor for posts
PostCardIndividual post display with actions
ThreadListThread listing with sorting and filtering
TipButtonSend a tip on any post
ReputationBadgeDisplay user reputation score
PaywallGateGate content behind a purchase
EscrowCardEscrow details with action buttons
IdentityBadgeDisplay user identity and role

Internationalization

The app supports 8 languages using react-i18next. Translation files are in frontend/src/i18n/.

Themes

7 built-in themes are available via ThemeContext.jsx. Users can switch themes from the Settings page. The default design uses a futuristic dark mode with neon gradients and glassmorphism effects.