From 3e1e7f05e747ee01b44be39938e3302d7281ae4a Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Wed, 11 Dec 2024 13:12:20 -0600 Subject: [PATCH] Fix client side liveview links (#3341) * Fix liveview links * Serve all routes under with_virtual_dom --- packages/liveview/src/adapters/axum_adapter.rs | 9 ++++++++- packages/liveview/src/history.rs | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/liveview/src/adapters/axum_adapter.rs b/packages/liveview/src/adapters/axum_adapter.rs index 638e6cd9c..4e819d512 100644 --- a/packages/liveview/src/adapters/axum_adapter.rs +++ b/packages/liveview/src/adapters/axum_adapter.rs @@ -62,6 +62,13 @@ impl LiveviewRouter for Router { }; let app = Arc::new(app); + // Add an extra catch all segment to the route + let mut route = route.trim_matches('/').to_string(); + if route.is_empty() { + route = "/*route".to_string(); + } else { + route = format!("/{route}/*route"); + } self.route( &ws_path, @@ -75,7 +82,7 @@ impl LiveviewRouter for Router { }), ) .route( - route, + &route, get(move || async move { index_page_with_glue(&interpreter_glue(&ws_path)) }), ) } diff --git a/packages/liveview/src/history.rs b/packages/liveview/src/history.rs index 7009ed58b..aed8fcfc7 100644 --- a/packages/liveview/src/history.rs +++ b/packages/liveview/src/history.rs @@ -342,6 +342,10 @@ impl History for LiveviewHistory { let mut updater_callback = self.updater_callback.write().unwrap(); *updater_callback = callback; } + + fn include_prevent_default(&self) -> bool { + true + } } mod routes {