Open erlend-sh opened 1 year ago
This will probably require a lot of refactoring due to the complexity of this approach:
ViewModel
kind of layer (e.g. for a Post
/ Status
) that is the greatest common denominator for all platforms (e.g. what do you do if one platform only has image and the other has image, thumbnail, medium, etc)Ebou already has a pretty good nested / conversation view for toots & replies. This would be a very good starting point for a Ebou-Based client that consumes link aggregator APIs and the discussions related to it.
One possible approach would be to start working on this as a separate app, but everything that can be shared from Ebou could be refactored into a separate crate (e.g. ebou-ui or Ebou-shared) so that this separate app uses as much of Ebou as possible (while also improving the overall Ebou code structure).
Then, at some point, merging these codebases might be much simpler because of all the upfront groundwork (if that, then, is still a reasonable goal).
If this sounds interesting to you, I'd gladly accept PRs that start splitting the Ebou codebase up into multiple crates (e.g. a proper cargo workspace) and making the conversation view or the sidebar or the labels, buttons etc available to more crates. That would then be a good foundation to start forming a new app.
While not a Dioxus app, an official Lemmy app made in Leptos should also be quite instructive:
Do you think Ebou might be flexible enough to fit the vision of a multi-modal client?
https://blog.erlend.sh/juicy-clients
Basically I’m wondering if you’d accept contributions towards this, starting with an additional view to support a Reddit-style interface. There’s a lot of interest in this within the Rust community so I’m confident we could rally support for this effort: https://www.reddit.com/r/rust/comments/146qxzn/building_a_better_rrust_together/
Although it’s several Dioxus versions ago now, there’s some prior art for a links-aggregator UI by @mrxiaozhuox here: https://github.com/mrxiaozhuox/dioxus-hackernews