1
0
Fork 0
forked from alemi/upub

feat(web): better post view on timeline

i really need to refactor this is getting out of hand
This commit is contained in:
əlemi 2024-04-17 07:29:56 +02:00
parent 4b0a732584
commit 64bbb20659
Signed by: alemi
GPG key ID: A4895B84D311642C
2 changed files with 18 additions and 1 deletions

View file

@ -36,6 +36,11 @@
padding-bottom: 0;
line-height: 1rem;
}
blockquote {
margin-left: 1.25em;
margin-top: 0;
margin-bottom: 0;
}
span.footer {
padding: .1em;
font-size: .6em;

View file

@ -351,6 +351,18 @@ pub fn Object(object: serde_json::Value) -> impl IntoView {
}
}
#[component]
pub fn ObjectInline(object: serde_json::Value) -> impl IntoView {
let summary = object.summary().unwrap_or_default().to_string();
let content = dissolve::strip_html_tags(object.content().unwrap_or_default());
view! {
{if summary.is_empty() { None } else { Some(view! { <code class="color">{summary}</code> })}}
<blockquote>
{content.into_iter().map(|x| view! { <p>{x}</p> }).collect_view()}
</blockquote>
}
}
#[component]
pub fn InlineActivity(activity: serde_json::Value) -> impl IntoView {
let object_id = activity.object().id().unwrap_or_default();
@ -396,7 +408,7 @@ pub fn InlineActivity(activity: serde_json::Value) -> impl IntoView {
</div>
{match kind {
// post
apb::ActivityType::Create => view! { <Object object=object /> }.into_view(),
apb::ActivityType::Create => view! { <ObjectInline object=object /> }.into_view(),
_ => view! {}.into_view(),
}}
}