Develop a web application that utilizes a WebSocket connection to retrieve all currently active and available Binance Futures trading pairs. This list should be presented to the user, allowing them to select all pairs, use a search function to filter the list, or simply scroll and click to choose the specific pairs they wish to monitor. Based on the user's selected timeframe (options being 1-minute, 5-minute, 15-minute, 1-hour, 4-hour, 1-day, or 1-week), the application will then display a compact, 'mini-chart' for each selected token. All these charts must be arranged neatly and compactly on a single screen, optimized for a standard PC screen ratio to ensure all elements fit. Each individual mini-chart should be zoomable and draggable using the mouse. The application should accommodate as many charts as the user selects, up to a maximum that maintains optimal screen ratio and chart size, all displayed simultaneously and updating live in one view. This setup provides a comprehensive overview of all selected tokens at a glance, facilitating the easy identification of pairs warranting further investigation. A grid layout would be highly effective for this arrangement. A suggested starting size for each chart is approximately 500 pixels wide by 250 pixels high. When the mouse hovers over a chart area, a simple price-only tooltip should appear (no other text), featuring a semi-transparent background. Additionally, a crosshair should be included to indicate the mouse position and the corresponding prices at that point. A volume indicator must be included at the bottom of each chart. All charting elements must be clearly visible, with the candles and volume bars rendered at 100% opacity (fully non-transparent). The name of each token should be displayed in clear text in the top-left corner, positioned outside the chart box. The following data points should be optionally displayable next to the token name: the live current last price of the token, live 24-hour volume, live Open Interest (OI), the funding rate, and a countdown timer until the next funding event. These optional display settings should be managed via a sliding sidebar that contains all non-essential settings and information, while the main page retains only the charts and the timeframe dropdown selector. By default, these optional data points should not be displayed. If selected to be displayed, they must be positioned beside the token name. All optional data streams should update continuously and live until the application is closed. Furthermore, include a night mode on/off toggle. The application must remember the user's settings, including the last-used tokens and all other display preferences.
verified