@bettoredge/market
v1.4.2
Published
Market liquidity display components for BettorEdge
Downloads
440
Maintainers
Readme
@bettoredge/market
Market liquidity display components for BettorEdge applications.
Installation
This package is part of the BettorEdge monorepo and is linked via npm workspaces.
npm installComponents
MarketDisplay
Main container component that displays market liquidity data for a specific contest.
Props:
marketLiquidity: MarketLiquidityProps- Market liquidity data from the APIcontestHash: string- Contest hash to filter and display
Example:
import { MarketDisplay } from '@bettoredge/market';
import { getAvailableMarkets } from '@bettoredge/api';
const MyComponent = () => {
const [data, setData] = useState(null);
useEffect(() => {
const fetchData = async () => {
const result = await getAvailableMarkets('league-123');
setData(result.available_markets[0]);
};
fetchData();
}, []);
if (!data) return <Text>Loading...</Text>;
const contestHash = data.contests[0]?.contest_hash;
return (
<MarketDisplay
marketLiquidity={data}
contestHash={contestHash}
/>
);
};ContestHeader
Displays contest information including title, scheduled time, and team details.
Props:
contest: MarketLiquidityProps['contests'][0]- Contest object
MarketSelector
Dropdown selector for choosing between different markets in a contest.
Props:
markets: MarketLiquidityProps['contests'][0]['markets']- Array of marketsselectedMarket: MarketLiquidityProps['contests'][0]['markets'][0]- Currently selected marketonSelectMarket: (market) => void- Callback when market is selected
LiquidityDisplay
Displays liquidity data for both sides (A and B) of a market.
Props:
market: MarketLiquidityProps['contests'][0]['markets'][0]- Market object with liquidity data
Features
- ✅ Display contest information (title, time, teams)
- ✅ Dropdown market selection
- ✅ Side A vs Side B liquidity display
- ✅ Price and availability formatting
- ✅ Horizontal scrolling for multiple sides
- ✅ Responsive layout
- ✅ Uses @bettorEdge/styles components for consistent theming
Data Flow
- Fetch market liquidity data using
getAvailableMarkets()from@bettoredge/api - Pass
MarketLiquidityPropsandcontest_hashtoMarketDisplay - Component finds matching contest and displays first market by default
- User can select different markets via dropdown
- Liquidity display updates to show selected market's sides A and B
Dependencies
@bettorEdge/types- Type definitions for MarketLiquidityProps@bettorEdge/styles- UI components (Dropdown, Card, Text, etc.)react- React libraryreact-native- React Native framework
Future Enhancements
- Order placement functionality
- Live price updates via WebSocket
- Order book depth visualization
- Historical data and charts
- Multiple contest display
License
ISC
