mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 22:34:18 +08:00
fix(frontend): display plugin data source names
This commit is contained in:
@@ -64,6 +64,7 @@ import { useDialogBackdrop } from '@/lib/useDialogBackdrop'
|
||||
import { resolveWatchlistGroupColor } from '@/lib/watchlist-group-colors'
|
||||
import { computeGroupPcts, groupPctColor, groupPctTitle } from '@/lib/watchlistGroupStats'
|
||||
import { fmtPct } from '@/lib/format'
|
||||
import { findDataSource } from '@/lib/dataSources'
|
||||
import { toggleTheme, useTheme } from '@/lib/theme'
|
||||
import { setCurrentTotal as setAlertTotal, useUnreadAlerts } from '@/lib/monitorBadge'
|
||||
import { ExtensionSlot } from '@/extensions/ExtensionSlot'
|
||||
@@ -493,10 +494,10 @@ export function Layout() {
|
||||
const realtimeUnavailable = quoteMode === 'none'
|
||||
const isWatchlistMode = quoteMode === 'watchlist'
|
||||
const realtimeModeLabel = isWatchlistMode ? '自选股' : '全市场'
|
||||
// 当前实时行情数据源名称 (custom 时显示源名, tickflow 时不显示)
|
||||
// 当前实时行情数据源名称 (插件/自定义源显示源名, tickflow 不显示)
|
||||
const realtimeProvider = prefs?.realtime_data_provider
|
||||
const realtimeProviderName = realtimeProvider && realtimeProvider !== 'tickflow'
|
||||
? (dataSources?.custom?.find(s => s.name === realtimeProvider)?.display_name || realtimeProvider)
|
||||
? (findDataSource(dataSources, realtimeProvider)?.display_name || realtimeProvider)
|
||||
: null
|
||||
const realtimeToggleDisabled = toggleQuote.isPending || isPaused
|
||||
const realtimeActive = realtimeEnabled && isRunning && isTrading
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import type { DataSourcesResponse } from './api'
|
||||
|
||||
export function findDataSource(
|
||||
sources: DataSourcesResponse | undefined,
|
||||
name: string | undefined,
|
||||
) {
|
||||
if (!sources || !name) return undefined
|
||||
return sources.builtin.find(source => source.name === name)
|
||||
?? sources.plugins.find(source => source.name === name)
|
||||
?? sources.custom.find(source => source.name === name)
|
||||
}
|
||||
@@ -36,6 +36,7 @@ import { QK } from '@/lib/queryKeys'
|
||||
import { PageHeader } from '@/components/PageHeader'
|
||||
import { useAdjFactorSyncGate } from '@/components/AdjFactorSyncGate'
|
||||
import { formatScheduleDatePart, formatScheduleTimePart, isToday } from '@/lib/format'
|
||||
import { findDataSource } from '@/lib/dataSources'
|
||||
|
||||
// 拆分出的子组件
|
||||
import { StatCard, type FieldTab, type CapLimitValue } from '@/components/data/StatCard'
|
||||
@@ -193,7 +194,7 @@ export function Data() {
|
||||
const activeProvider = prefs.data?.daily_data_provider || 'tickflow'
|
||||
const activeDataSourceName = activeProvider === 'tickflow'
|
||||
? 'TickFlow'
|
||||
: (dataSources.data?.custom?.find(s => s.name === activeProvider)?.display_name || activeProvider)
|
||||
: (findDataSource(dataSources.data, activeProvider)?.display_name || activeProvider)
|
||||
|
||||
// —— 能力路由门控 (全项目统一判定) ——
|
||||
// usable = 生效源当前能否提供该能力 (含插件/自定义源; TickFlow 档位不足则不可用),
|
||||
|
||||
Reference in New Issue
Block a user