forked from alemi/upub
fix(web): short uri helper logic
This commit is contained in:
parent
bf86e44b00
commit
1a236589ed
2 changed files with 6 additions and 3 deletions
|
@ -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()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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()),
|
||||||
|
|
Loading…
Reference in a new issue