use crate::components::SiteHeader; use leptos::*; use leptos_router::{use_location, use_navigate, Outlet}; use melt_ui::*; use regex::Regex; #[component] pub fn ComponentsPage() -> impl IntoView { let loaction = use_location(); let navigate = use_navigate(); let selected = create_rw_signal(String::from("")); create_effect(move |_| { let pathname = loaction.pathname.get(); let re = Regex::new(r"^/melt-ui/components/(.+)$").unwrap(); let Some(caps) = re.captures(&pathname) else { return; }; let Some(path) = caps.get(1) else { return; }; let path = path.as_str().to_string(); selected.set(path); }); create_effect(move |value| { let selected = selected.get(); if value.is_some() { navigate(&format!("/components/{selected}"), Default::default()); } selected }); view! { } }