This uses less allocations, and once we switch to profile pictures in
the header the old way won't be needed
Signed-off-by: William Casarin <jb55@jb55.com>
Updated navigation to use a custom title renderer for more flexible
rendering of navigation titles. This change decouples the rendering
logic from predefined formats, enabling dynamic title compositions
based on application context and data.
This includes:
- Refactoring `NavResponse` to introduce `NotedeckNavResponse` for
handling unified navigation response data.
- Adding `NavTitle` in `ui/column/header.rs` to handle rendering
of navigation titles and profile images dynamically.
- Updating route and timeline logic to support new rendering pipeline.
- Replacing hardcoded title rendering with data-driven approaches.
Benefits:
- Simplifies navigation handling by consolidating title and action
management.
- Improves scalability for new navigation features without modifying
core logic.
- Enhances visual customization capabilities.
Signed-off-by: William Casarin <jb55@jb55.com>
There was a bunch of redundant responses. Let's unify them under
the RenderNavAction enum. We unify all action processing under this
type.
This also centralizes all of our side effects into a single function
instead of scattering them everywhere
also make nav go backward when clicking the account switch button if we
already are navigating to accounts
Signed-off-by: William Casarin <jb55@jb55.com>
Another massive refactor to change the way routing works. Now any
column can route anywhere.
Also things are generally just much better and more modular via the
new struct split borrowing technique.
I didn't even try to split this into smaller commits for my sanity.
Signed-off-by: William Casarin <jb55@jb55.com>