Update on the new dashboard
I haven't had quite the time to work on it as I had hoped due to work commitments, but have made some progress. For one, I have made a decision to move away from the 3 pane approach and instead have 2 equal panes with the left pane being the informational pane, showing cards that will show up all the time including valuation graph, fuel prices, top/worst flights etc. with the long term plan to support user customization on which cards there are and where they appear. The left pane, or the notification pane will show notification cards, such as alerts about issues with your airline (plane leases expiring, aircraft running out of cycles etc.), aircraft deliveries, as well as competitive outlook when any of your competitors update prices, add/remove flights etc. This notification system will also replace the current in-game messaging mechanic thus deprecating that system.
On mobile and smaller screens the two panes will appear as tabs instead, thus furthering support for mobile users which is a priority for me.
The other use of the new dashboard is the introduction of React into the game as part of an effort to refresh the UI and add interactivity to the sim as well as increase performance. At present, the entire UI is processed server side, which results in some issues such as high latency on certain pages that require a lot of data, as well as limitations on the interactivity we can do (we do leverage APIs to enable interactivity in some places such as the seat map generator or lately in dynamic tables, but currently this is very much an exception rather than the rule). This is a quite dated approach and one I hope to replace. The long term plan here is to completely sever the front end and the back end, however with the amount of pages we have, with most requiring some amount of new APIs this is significant amount of work. Instead of stopping working on new features in favor of dedicating significant effort to purely front end work (or as I would call it, hell), in the interim I am redesigning pages as I go to embed react pages as components within existing site. Since the dashboard is the first such page, there is a lot of additional work to set everything up, especially since I want to be cautious about having all of this new work in a separate package such that whenever the full migration does happen, I can just import it into the new UI rather than needing to put in a lot of effort migrating everything over. I'm happy to say that much of this pre-requisite work is completed and I can now start working on the actual dashboard.