'use server';
export async function getCandlesticsData(symbol: string, interval: KlineInterval) {
const candlesticksPromise = client.binance.candlestick.query({ symbol, interval }, { context: { revalidate: 0 } });
const lastTradePromise = client.binance.lastTrade.query({ symbol }, { context: { revalidate: 0 } });
const [candlesticksResult, recentTrade] = await Promise.all([candlesticksPromise, lastTradePromise]);
return {
candlesticks: candlesticksResult?.candlesticks ?? [],
recentTrade: parseFloat(recentTrade ?? '0'),
};
}
export async function TradingChartsManager({ symbol }: D3ChartProps) {
const { candlesticks, recentTrade } = await getCandlesticsData(symbol, interval);
return (
<section className={styles.container}>
<IntervalButtons />
<CandlestickChart {...{ symbol, interval, candlesticks, recentTrade }} key={`${symbol}-${interval}`} />;
</section>
);
}
'use server';
export async function getCandlesticsData(symbol: string, interval: KlineInterval) {
const candlesticksPromise = client.binance.candlestick.query({ symbol, interval }, { context: { revalidate: 0 } });
const lastTradePromise = client.binance.lastTrade.query({ symbol }, { context: { revalidate: 0 } });
const [candlesticksResult, recentTrade] = await Promise.all([candlesticksPromise, lastTradePromise]);
return {
candlesticks: candlesticksResult?.candlesticks ?? [],
recentTrade: parseFloat(recentTrade ?? '0'),
};
}
export async function TradingChartsManager({ symbol }: D3ChartProps) {
const { candlesticks, recentTrade } = await getCandlesticsData(symbol, interval);
return (
<section className={styles.container}>
<IntervalButtons />
<CandlestickChart {...{ symbol, interval, candlesticks, recentTrade }} key={`${symbol}-${interval}`} />;
</section>
);
}