fix: correctly update path stack when navigating backwards (closes #4324)

This commit is contained in:
Greg Johnston
2025-09-24 19:39:31 -04:00
parent b3907baf49
commit 27cd423ebc

View File

@@ -185,11 +185,15 @@ impl LocationProvider for BrowserUrl {
let is_back = self.is_back.clone(); let is_back = self.is_back.clone();
move || match Self::current() { move || match Self::current() {
Ok(new_url) => { Ok(new_url) => {
let stack = path_stack.read_value(); let mut stack = path_stack.write_value();
let is_navigating_back = stack.len() == 1 let is_navigating_back = stack.len() == 1
|| (stack.len() >= 2 || (stack.len() >= 2
&& stack.get(stack.len() - 2) == Some(&new_url)); && stack.get(stack.len() - 2) == Some(&new_url));
if is_navigating_back {
stack.pop();
}
is_back.set(is_navigating_back); is_back.set(is_navigating_back);
url.set(new_url); url.set(new_url);