feat(app): add evaluation history, bot control panel, simulation visualizer, and vendored signalr_core
This commit is contained in:
@@ -92,6 +92,11 @@ class _NewsFeedScreenState extends State<NewsFeedScreen> {
|
||||
_hasMore = false;
|
||||
}
|
||||
});
|
||||
|
||||
// If a sentiment filter is active and no items matched yet on this page, automatically load the next page
|
||||
if (_filteredNewsItems.isEmpty && _hasMore && _selectedSentimentFilter != null) {
|
||||
_loadNews();
|
||||
}
|
||||
} catch (_) {
|
||||
} finally {
|
||||
setState(() => _isLoading = false);
|
||||
@@ -182,11 +187,22 @@ class _NewsFeedScreenState extends State<NewsFeedScreen> {
|
||||
_loadNews(refresh: true);
|
||||
},
|
||||
onSentimentToggleChanged: (val) {
|
||||
setState(() => _hasSentimentOnly = val);
|
||||
setState(() {
|
||||
_hasSentimentOnly = val;
|
||||
if (!val) {
|
||||
_selectedSentimentFilter = null;
|
||||
}
|
||||
});
|
||||
_loadNews(refresh: true);
|
||||
},
|
||||
onSentimentFilterChanged: (val) {
|
||||
setState(() => _selectedSentimentFilter = val);
|
||||
setState(() {
|
||||
_selectedSentimentFilter = val;
|
||||
if (val != null) {
|
||||
_hasSentimentOnly = true;
|
||||
}
|
||||
});
|
||||
_loadNews(refresh: true);
|
||||
},
|
||||
onResetFilters: _resetFilters,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user