ItemPrice#

Renders an item’s current market price as a clickable inline element. Clicking anywhere on the rendered price triggers a refresh – the component re-fetches fresh price + change data from the backend and re-renders. Used inline in the item detail page header (see core/_detail_price.pug).

Refresh endpoint#

On click the component requests /core/item/{symbol}/current-price/ and expects a JSON response shaped like a serialized CurrentPrice dataclass:

{
    "status": true,
    "data": {
        "price": "...",
        "change_value": "...",
        "change_percents": "...",
        "state": "open|closed|pre-market|post-market",
        "closed_market": {
            "price": "...",
            "change_value": "...",
            "change_percents": "..."
        }
    }
}

The closed_market block is only present when the regular session has closed (state is pre-market or post-market); in that case it carries the most recent regular-session close so the component can render both rows.

During the fetch the shared <loading> overlay is shown with noText set to keep the inline layout tight.

Component accepts following params:

  • symbol – Symbol of the item.

  • defaultValue – Initial CurrentPrice-shaped payload. Renders immediately on mount; replaced by the response on the first refresh.