Fix modal flash when clicking actions (vote, like, etc.)
- Skip marker refresh when post modal is open (update UI in-place) - Add stopPropagation to vote buttons to prevent event bubbling 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
d60a7e373e
commit
e89f53d1eb
|
|
@ -1964,8 +1964,8 @@ export function openCenteredOverlay({ map, post, theme, fullScreen = false }) {
|
|||
};
|
||||
const voteUp = rail.querySelector(".sw-truth-rail-btn-up");
|
||||
const voteDown = rail.querySelector(".sw-truth-rail-btn-down");
|
||||
if (voteUp) voteUp.addEventListener("click", () => doVote("true"));
|
||||
if (voteDown) voteDown.addEventListener("click", () => doVote("false"));
|
||||
if (voteUp) voteUp.addEventListener("click", (e) => { e.stopPropagation(); doVote("true"); });
|
||||
if (voteDown) voteDown.addEventListener("click", (e) => { e.stopPropagation(); doVote("false"); });
|
||||
}
|
||||
|
||||
applyAuthUI();
|
||||
|
|
|
|||
|
|
@ -1427,8 +1427,14 @@ export function usePostsEngine({
|
|||
}
|
||||
if (changed) {
|
||||
allPostsRef.current = updated;
|
||||
// Skip full marker refresh if this post's modal is open - we update UI in-place below
|
||||
const map = mapRef.current;
|
||||
const ov = map?.__swCenteredOverlay;
|
||||
const isModalOpen = ov && ov.postId === postId;
|
||||
if (!isModalOpen) {
|
||||
refreshVisibleAndMarkers(timeHours, true);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const needsResolve = (value) =>
|
||||
|
|
|
|||
Loading…
Reference in New Issue