mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-11 05:42:22 +00:00
Count the shown News section in the panel header
With Local chosen, the header counted the Conflicts feed's cards instead of the Local list's.
This commit is contained in:
1 parent
74d40c4b1a
commit
fa736a7cd5
2 files changed
+9
-1
No files matched your search
+4
-1
@@ -33,7 +33,10 @@ export function createNewsPanel({ container, setLayerParams = () => {} } = {}) {
|
||||
renderVue(h(NewsFeed, { view, onParams }), container);
|
||||
const hidden = !view;
|
||||
if (panel) set(panel, 'hidden', hidden);
|
||||
if (count) set(count, 'textContent', String(view?.items.length ?? 0));
|
||||
// The count is the shown section's: Local's list, else the feed.
|
||||
const shown =
|
||||
view?.filters?.section === 'local' ? view.inView?.items : view?.items;
|
||||
if (count) set(count, 'textContent', String(shown?.length ?? 0));
|
||||
if (!hidden && panel && !appearedPanels.has(panel)) {
|
||||
appearedPanels.add(panel);
|
||||
// First appearance opens the panel unless a stored or shared collapse
|
||||
|
||||
@@ -228,6 +228,11 @@ test('filters, the Local section and empty or failed reads', () => {
|
||||
assert.equal(panel.querySelector('[data-chip-id="ua-ru-war"]'), null);
|
||||
assert.equal(panel.querySelector('select[aria-label="Severity"]'), null);
|
||||
assert.equal(panel.querySelector('[aria-label="Latest news"]'), null);
|
||||
assert.equal(document.getElementById('news-panel-count').textContent, '0');
|
||||
news.update(
|
||||
localView({ active: true, items: [feedCardView(report('near'), NOW)] }),
|
||||
);
|
||||
assert.equal(document.getElementById('news-panel-count').textContent, '1');
|
||||
news.update(localView({ active: true }));
|
||||
assert.match(
|
||||
panel.querySelector('[aria-label="Local"]').textContent,
|
||||
|
||||
Reference in new issue
Block a user