feat(web): added audience badge

This commit is contained in:
əlemi 2024-06-06 21:47:23 +02:00
parent 86a45d6082
commit a7bcea7653
Signed by: alemi
GPG key ID: A4895B84D311642C
3 changed files with 22 additions and 3 deletions

View file

@ -118,9 +118,14 @@
background-color: var(--background);
}
div.border {
padding: 1em;
border: 1px dashed var(--accent);
}
div.border-solid {
border: 1px solid var(--background-dim);
}
div.inline {
display: inline;
}
@media screen and (max-width: 786px) {
div.sticky {
top: 1.75rem;

View file

@ -131,6 +131,19 @@ pub fn Object(object: crate::Object) -> impl IntoView {
} else {
Some(view! { <div class="pb-1"></div> })
};
let audience_badge = object.audience().id().str()
.map(|x| view! {
<div class="inline border-solid">
<code class="color">@</code>
<small>
<a class="clean dim" href={x.clone()} target="_blank" rel="nofollow noreferrer">
{Uri::pretty(&x)}
</a>
</small>
</div>
});
let post_inner = view! {
<Summary summary=object.summary().ok().map(|x| x.to_string()) >
<p inner_html={content}></p>
@ -145,7 +158,7 @@ pub fn Object(object: crate::Object) -> impl IntoView {
}.into_view(),
// lemmy with Page, peertube with Video
Ok(apb::ObjectType::Document(t)) => view! {
<div class="border ml-1 mr-1 mt-1">
<div class="border pa-1 ml-1 mr-1 mt-1">
<b>{object.name().unwrap_or_default().to_string()}</b>
<hr />
{post_inner}
@ -188,6 +201,7 @@ pub fn Object(object: crate::Object) -> impl IntoView {
</table>
{post}
<div class="mt-s ml-1 rev">
{audience_badge}
<ReplyButton n=comments target=oid.clone() />
<LikeButton n=likes liked=already_liked target=oid.clone() author=author_id private=!public />
<RepostButton n=shares target=oid />

View file

@ -15,7 +15,7 @@ pub fn RegisterPage() -> impl IntoView {
view! {
<div class="two-col">
<Breadcrumb>register</Breadcrumb>
<div class="border ma-2">
<div class="border ma-2 pa-1">
<form on:submit=move|ev| {
ev.prevent_default();
logging::log!("registering new user...");