fix(web): short uri helper logic

This commit is contained in:
əlemi 2024-05-20 08:45:41 +02:00
parent bf86e44b00
commit 1a236589ed
Signed by: alemi
GPG key ID: A4895B84D311642C
2 changed files with 6 additions and 3 deletions

View file

@ -118,10 +118,12 @@ impl Uri {
} }
pub fn short(url: &str) -> String { 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) uriproxy::decompose_id(url)
} else { } else if url.starts_with("https://") || url.starts_with("http") {
uriproxy::compact_id(url) uriproxy::compact_id(url)
} else {
url.to_string()
} }
} }

View file

@ -28,7 +28,8 @@ pub fn UserPage(tl: Timeline) -> impl IntoView {
.cloned() .cloned()
.unwrap_or_default(); .unwrap_or_default();
let uid = uriproxy::uri(URL_BASE, uriproxy::UriClass::User, &id); 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 { async move {
match CACHE.get(&Uri::full(U::User, &id)) { match CACHE.get(&Uri::full(U::User, &id)) {
Some(x) => Some(x.clone()), Some(x) => Some(x.clone()),