fix(frontend): sync persisted card rendering
This commit is contained in:
1 parent
e745b2e54b
commit
51c7feac39
3 files changed
+44
-16
No files matched your search
@@ -816,7 +816,27 @@
|
||||
return (activeBtn && activeBtn.getAttribute('data-view-mode')) || getViewMode();
|
||||
}
|
||||
|
||||
applyViewMode(buttons, getPostsContainers(), getViewMode());
|
||||
var initialMode = getViewMode();
|
||||
var activePanel = getActivePanel(stream);
|
||||
var renderedMode = activePanel ? activePanel.getAttribute('data-view') : '';
|
||||
applyViewMode(buttons, getPostsContainers(), initialMode);
|
||||
|
||||
// The persisted preference may differ from the server-rendered mode.
|
||||
// Class toggling alone leaves list-only markup and its `.flex` utility in
|
||||
// place, which forces a supposed card to occupy a full row. Fetch the
|
||||
// matching renderer immediately so DOM and visual mode stay atomic.
|
||||
if (activePanel && renderedMode !== initialMode) {
|
||||
requestHomepagePanel(activePanel, {
|
||||
termId: getPanelTermId(activePanel),
|
||||
page: 1,
|
||||
perPage: getHomepagePerPage(activePanel),
|
||||
sort: getCurrentSort(stream),
|
||||
viewMode: initialMode,
|
||||
panel: activePanel.getAttribute('data-home-tab-panel') || 'latest',
|
||||
source: 'home',
|
||||
tabOrderby: getPanelTabOrderby(activePanel)
|
||||
});
|
||||
}
|
||||
|
||||
buttons.forEach(function (btn) {
|
||||
btn.addEventListener('click', function () {
|
||||
|
||||
Reference in new issue
Block a user