SkyDEX - Client UI
SkyDEX - Client application UI - Built with React + Vite + Bootstrap
Features
- π¨ Modern design with Skywire color scheme (Navy, White, Blue)
- π± Single Page Application (SPA)
- π Market connection via dmsg
- π° Product listing and SKY buy/sell functionality
- π Order management
- βοΈ Wallet settings
Color Scheme
- Navy:
#101F34
- White:
#FFFFFF
- Blue:
#0273FF
Setup
Prerequisites
Install dependencies
npm install
Run in development mode
npm run dev
Server runs on http://localhost:8787.
Build for production
npm run build
Build files are output to the dist folder.
Embedding in Go Binary
UI files are served embedded in the Go binary:
//go:embed dist/*
var uiFS embed.FS
http.Handle("/", http.FileServer(http.FS(uiFS)))
Project Structure
skydex-client/
βββ src/
β βββ components/
β β βββ Header.jsx # Header with connection status
β β βββ Market.jsx # Market page
β β βββ Orders.jsx # My orders
β β βββ Settings.jsx # Settings
β βββ App.jsx # Main component
β βββ main.jsx # Entry point
β βββ index.css # Styles
βββ public/
βββ dist/ # Build output
βββ package.json
βββ vite.config.js
βββ index.html
API Integration
This UI communicates with the market app via dmsg. Message structure is JSON-based:
{
"type": "client.get_products",
"id": "msg_123",
"timestamp": 1234567890,
"data": {}
}
TODO
- Real dmsg connection
- Polling for order updates
- Payment form with non-round amount display
- Countdown timer for 15-minute windows
- Error handling and loading states
- Go backend integration