From 1a236589edee15a5c95dd9bedddac4270bf6836d Mon Sep 17 00:00:00 2001 From: alemi Date: Mon, 20 May 2024 08:45:41 +0200 Subject: [PATCH] fix(web): short uri helper logic --- web/src/lib.rs | 6 ++++-- web/src/page/user.rs | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/web/src/lib.rs b/web/src/lib.rs index 8ce2d30..b00f0f7 100644 --- a/web/src/lib.rs +++ b/web/src/lib.rs @@ -118,10 +118,12 @@ impl Uri { } pub fn short(url: &str) -> String { - if url.starts_with(URL_BASE) { + if url.starts_with(URL_BASE) || url.starts_with('/') { uriproxy::decompose_id(url) - } else { + } else if url.starts_with("https://") || url.starts_with("http") { uriproxy::compact_id(url) + } else { + url.to_string() } } diff --git a/web/src/page/user.rs b/web/src/page/user.rs index 9079dff..2ec78bd 100644 --- a/web/src/page/user.rs +++ b/web/src/page/user.rs @@ -28,7 +28,8 @@ pub fn UserPage(tl: Timeline) -> impl IntoView { .cloned() .unwrap_or_default(); let uid = uriproxy::uri(URL_BASE, uriproxy::UriClass::User, &id); - let actor = create_local_resource(move || params.get().get("id").cloned().unwrap_or_default(), move |id| { + let _uid = uid.clone(); + let actor = create_local_resource(move || _uid.clone(), move |id| { async move { match CACHE.get(&Uri::full(U::User, &id)) { Some(x) => Some(x.clone()),