import type { ReactElement } from 'react'
import { useBridge, useData, usePublish, type PanelRef } from '@jaspers-ai/sdk'
import { display as d } from './format'
import type { MoverList } from './server/quotes'
import { Bar, Loading, Section, Signed, useEvery, usePanelStateValue, useStateWriter } from './shared'
import { num, text } from './values'
import { MARKET_SCREENS, MARKET_TABS, marketsOutput, readMarketList, REFRESH_MS, tone, yahooPage } from './views'
import './styles.css'
// The market at a glance: Yahoo's summary strip (index futures, commodities, rates, currencies,
// crypto) as tiles, then one of Yahoo's lists of stocks. Both are asked again every minute. A tab or
// the screens menu writes `list`.
const LIMIT = 25
export function MarketsView({ panel }: { panel: PanelRef }): ReactElement {
const state = usePanelStateValue(panel)
const write = useStateWriter(panel)
if (state === undefined) return
const list = readMarketList(state)
const screen = MARKET_SCREENS.some((s) => s.list === list)
return (