feat: check every subscription in the background and add the posts page

This commit is contained in:
randogoth 2026-10-11 13:20:00 +03:00
parent 953ae798eb
commit 1b426ccd8b
15 changed files with 688 additions and 58 deletions

View file

@ -3,10 +3,12 @@ import '../l10n/strings.dart';
import '../mews/document.dart';
import 'controllers/reader_settings_controller.dart'
show ReaderSettingsController;
import 'controllers/subscriptions_controller.dart';
import 'pages/bookmarks_page.dart';
import 'pages/history_page.dart';
import 'pages/hub_page.dart';
import 'pages/mews_urls.dart';
import 'pages/posts_page.dart';
import 'pages/settings_page.dart';
import 'pages/subscriptions_page.dart';
@ -17,13 +19,16 @@ class InternalPages {
InternalPages({
required MewsDatabase db,
required ReaderSettingsController settings,
required SubscriptionsController subscriptions,
required Strings strings,
}) : _db = db,
_settings = settings,
_subscriptions = subscriptions,
_strings = strings;
final MewsDatabase _db;
final ReaderSettingsController _settings;
final SubscriptionsController _subscriptions;
final Strings _strings;
/// Whether [url] is one of the internal pages.
@ -34,7 +39,12 @@ class InternalPages {
// Internal addresses are opaque, so the page name is the path, not a host.
final uri = Uri.parse(MewsUrls.canonical(url));
return switch (uri.path) {
'hub' => buildHubPage(uri, db: _db, strings: _strings),
'hub' => buildHubPage(uri,
db: _db, subscriptions: _subscriptions, strings: _strings),
'posts' => buildPostsPage(uri,
db: _db,
strings: _strings,
refreshing: _subscriptions.refreshing.value),
'bookmarks' => buildBookmarksPage(uri, db: _db, strings: _strings),
'subscriptions' => buildSubscriptionsPage(uri, db: _db, strings: _strings),
'history' => buildHistoryPage(uri, db: _db, strings: _strings),