JagandeepBrar / lunasea

Self-hosted software controller built using Flutter
https://www.lunasea.app
GNU General Public License v3.0
1.32k stars 64 forks source link

WIP: RSS Module #653

Closed lightglitch closed 2 years ago

lightglitch commented 2 years ago

Just to get @JagandeepBrar feedback on the overall structure. Mainly if I should use "core/database" to store the feeds information, it was based on the indexers structure.

JagandeepBrar commented 2 years ago

Thanks @lightglitch for taking the time and effort to work on this!

Based off my look over things are looking good and following the architecture, the only thing I would be careful/pay attention to as you continue to develop this is the way that routing currently works.

You probably noticed the (unused) GoRoute definition that occurs on pages, the way that routing is integrated will be fully reworked as the next major technical debt fix over the course of the next few months, but the rest of it looks good! Right now you can ignore it but just wanted to note that there will be changes there.

As for the specific question on the feed information, I like the method you currently implemented as your assumption on following the indexers structure makes sense - since a user can add an undefined amount of RSS feeds, it makes sense to store it within its own box.

JagandeepBrar commented 2 years ago

Another general comment on some changes that will happen (that you can prep this future PR for) is that LunaSea is shifting away from canonical import files and instead will rely on relative imports and not package-based imports. That is the recommended way by the Flutter framework team, and allows for more efficient code splitting for web payloads.

What I mean by canonical imports is for example the modules/rss/core.dart file which simply exports files within the core folder.

lightglitch commented 2 years ago

What I mean by canonical imports is for example the modules/rss/core.dart file which simply exports files within the core folder.

So this type of files should be deleted and we should just import the direct dart files that we need, right.

JagandeepBrar commented 2 years ago

So this type of files should be deleted

Correct, there is no need for them anymore. If you need any reference, look at the dashboard module which has already been modified for these changes.

lightglitch commented 2 years ago

@JagandeepBrar I want to highlight the recent items of a feed with a different background color from the others but LunaBlock doesn't allow to set a background color. What do you recommend to use?

JagandeepBrar commented 2 years ago

@lightglitch I added the ability just now in e108cfbac5f5bb2a1cd7404af0a331fadba85612, but try to keep any background colours subdued and minimally distracting to fit in with the rest of the UI.

lightglitch commented 2 years ago

@lightglitch I added the ability just now in e108cfb, but try to keep any background colours subdued and minimally distracting to fit in with the rest of the UI.

Thank you, it's going to be very subtle.

lightglitch commented 2 years ago

@JagandeepBrar Trying to add two widgets on trailing of the LunaBlock, what do you recommend to achieve this. image

JagandeepBrar commented 2 years ago

I would just remove the right arrow, but you can also set the number count to the leading widget to put it on the left side.

lightglitch commented 2 years ago

I'm refactoring and will create a new pull request.