Skip to content

Commit 1ad3eee

Browse files
byronwang2005DigHuang
authored andcommitted
limit the range of stocks that can be searched
1 parent 9a35c99 commit 1ad3eee

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

frontend/src/app/home/components/stock-search-modal.tsx

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,25 @@ export default function StockSearchModal({ children }: StockSearchModalProps) {
8282
query: debouncedQuery,
8383
});
8484

85+
const filteredStockList = (stockList || []).filter((stock) => {
86+
const assetType = stock.asset_type?.toLowerCase();
87+
const exchange = (stock.exchange || "").toUpperCase();
88+
const prefix = (stock.ticker?.split(":")[0] || "").toUpperCase();
89+
90+
const US_EXCHANGES = new Set(["NASDAQ", "NYSE", "AMEX"]);
91+
const CN_EXCHANGES = new Set(["SSE", "SZSE", "HKEX"]);
92+
const JP_EXCHANGES = new Set(["TSE", "JPX", "TYO"]);
93+
94+
const isCrypto = assetType === "crypto" || prefix === "CRYPTO";
95+
const isUS = US_EXCHANGES.has(exchange) || US_EXCHANGES.has(prefix);
96+
const isCN = CN_EXCHANGES.has(exchange) || CN_EXCHANGES.has(prefix);
97+
const isJP = JP_EXCHANGES.has(exchange) || JP_EXCHANGES.has(prefix);
98+
99+
const isStock = assetType === "stock";
100+
101+
return isCrypto || (isStock && (isUS || isCN || isJP));
102+
});
103+
85104
return (
86105
<Dialog>
87106
<DialogTrigger asChild>{children}</DialogTrigger>
@@ -116,17 +135,17 @@ export default function StockSearchModal({ children }: StockSearchModalProps) {
116135
<p className="p-4 text-center text-neutral-400 text-sm">
117136
Searching...
118137
</p>
119-
) : stockList && stockList.length > 0 ? (
138+
) : filteredStockList && filteredStockList.length > 0 ? (
120139
<div className="rounded-lg bg-white py-2">
121-
{stockList.map((stock) => (
140+
{filteredStockList.map((stock) => (
122141
<StockItem key={stock.ticker} stock={stock} />
123142
))}
124143
</div>
125144
) : (
126145
query &&
127146
!isLoading &&
128147
stockList &&
129-
stockList.length === 0 && (
148+
filteredStockList.length === 0 && (
130149
<p className="p-4 text-center text-neutral-400 text-sm">
131150
No related stocks found
132151
</p>

frontend/src/app/home/components/tv-symbol-map.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@
77
"CRYPTO:ADA": "BINANCE:ADAUSDT",
88
"CRYPTO:DOGE": "BINANCE:DOGEUSDT",
99
"CRYPTO:USDT": "COINBASE:USDTUSD",
10-
"CRYPTO:USDC": "COINBASE:USDCUSD",
11-
"NYSE:USD": "AMEX:USD"
10+
"CRYPTO:USDC": "COINBASE:USDCUSD"
1211
}

0 commit comments

Comments
 (0)