Just take an egui::Context instead of an eframe::CreationContext.
This should make it easier to test the app via egui::Context::default();
Signed-off-by: William Casarin <jb55@jb55.com>
Before we were hardcoding the basepath with dirs, which isn't that
useful for testing, previews, or for android. Let's fix that.
This also moves the db and cache directories into our root DataPaths.
This is a breaking change, we don't have a migration step. sorry.
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>
we need to pass a few more things around but it's not that bad. This
will allow you to launch damus with --mobile for mobile testing without
recompilation.
Create a side panel UI element for desktop with three buttons for:
adding a column, settings, and account management. The account
management button is temporary pending a better design. It is the only
one that is interactable at the moment. When the user clicks it, the
global popup window will be shown and the AccountManagementView will be
presented on the window. The user can click on the X on the top right of
the window to close it.
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
Will be useful for selecting an account for the 'Add Column' view
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
Since the is_mobile check was moved to compile-time instead of runtime
in 0a6a441041, we need a way to override
the check when previewing using the 'mobile' flag.
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
The idea with these is that on notedeck you can just hover your cursor
over a profile link to see the profile. I just have a stub for now, but
full design coming soon after.
Also simplify the preview system even further with a macro. In the
future I imagine we can grep every preview in the codebase, and then
include this as a string inside this macro. This is some kind of
template metaprogramming insanity but in theory it could work.
Signed-off-by: William Casarin <jb55@jb55.com>
In this commit we refactor the preview mechanism, and switch to
responsive views by default.
To create a preview, your view now has to implement the Preview trait.
This is very similar to SwiftUI's preview mechanism.
Signed-off-by: William Casarin <jb55@jb55.com>