Delay scroll restoration after card refresh

This commit is contained in:
gitea_admin committed 2026-09-30 10:37:38 +02:00
1 parent 01fa2bc2b6
commit e25899b3ee
1 file changed
+8 -3
@@ -28,17 +28,21 @@
container, container,
top: container.scrollTop, top: container.scrollTop,
left: container.scrollLeft, left: container.scrollLeft,
scheduled: false, timer: null,
}); });
}; };
const restoreScrollPosition = (root) => { const restoreScrollPosition = (root) => {
const state = scrollRestoreStates.get(root); const state = scrollRestoreStates.get(root);
if (!state || state.scheduled) { if (!state) {
return; return;
} }
state.scheduled = true; if (state.timer) {
window.clearTimeout(state.timer);
}
state.timer = window.setTimeout(() => {
requestAnimationFrame(() => { requestAnimationFrame(() => {
requestAnimationFrame(() => { requestAnimationFrame(() => {
if (state.container?.isConnected) { if (state.container?.isConnected) {
@@ -47,6 +51,7 @@
scrollRestoreStates.delete(root); scrollRestoreStates.delete(root);
}); });
}); });
}, 100);
}; };
const getDirectDeleteElement = (card, selector) => Array.from(card?.children || []) const getDirectDeleteElement = (card, selector) => Array.from(card?.children || [])