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 :class:`~richy.core.scraper.CurrentPrice` dataclass: .. code-block:: json { "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 ```` 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.