feat: 添加获取交易所显示名称的功能,并在 MakerApp、OffsetMakerApp 和 TrendApp 中显示交易所名称

This commit is contained in:
discountry
2025-09-27 17:13:08 +08:00
parent 3ca0a96fbd
commit 151130dfc4
4 changed files with 34 additions and 15 deletions
+10 -5
View File
@@ -1,7 +1,11 @@
import React, { useEffect, useRef, useState } from "react";
import React, { useEffect, useMemo, useRef, useState } from "react";
import { Box, Text, useInput } from "ink";
import { makerConfig } from "../config";
import { createExchangeAdapter, resolveExchangeId } from "../exchanges/create-adapter";
import {
createExchangeAdapter,
getExchangeDisplayName,
resolveExchangeId,
} from "../exchanges/create-adapter";
import { MakerEngine, type MakerEngineSnapshot } from "../core/maker-engine";
import { DataTable, type TableColumn } from "./components/DataTable";
import { formatNumber } from "../utils/format";
@@ -16,6 +20,8 @@ export function MakerApp({ onExit }: MakerAppProps) {
const [snapshot, setSnapshot] = useState<MakerEngineSnapshot | null>(null);
const [error, setError] = useState<Error | null>(null);
const engineRef = useRef<MakerEngine | null>(null);
const exchangeId = useMemo(() => resolveExchangeId(), []);
const exchangeName = useMemo(() => getExchangeDisplayName(exchangeId), [exchangeId]);
useInput(
(input, key) => {
@@ -29,7 +35,6 @@ export function MakerApp({ onExit }: MakerAppProps) {
useEffect(() => {
try {
const exchangeId = resolveExchangeId();
let adapter;
if (exchangeId === "aster") {
const apiKey = process.env.ASTER_API_KEY;
@@ -66,7 +71,7 @@ export function MakerApp({ onExit }: MakerAppProps) {
console.error(err);
setError(err instanceof Error ? err : new Error(String(err)));
}
}, []);
}, [exchangeId]);
if (error) {
return (
@@ -131,7 +136,7 @@ export function MakerApp({ onExit }: MakerAppProps) {
<Box flexDirection="column" marginBottom={1}>
<Text color="cyanBright">Maker Strategy Dashboard</Text>
<Text>
: {snapshot.symbol} : {formatNumber(topBid, 2)} : {formatNumber(topAsk, 2)} : {spreadDisplay}
: {exchangeName} : {snapshot.symbol} : {formatNumber(topBid, 2)} : {formatNumber(topAsk, 2)} : {spreadDisplay}
</Text>
<Text color="gray">: {snapshot.ready ? "实时运行" : "等待市场数据"} Esc </Text>
</Box>