use std::sync::Arc; use apb::{ActivityMut, Actor, Base, Collection, Object, ObjectMut}; use leptos::*; use leptos_router::*; use crate::prelude::*; #[component] pub fn AboutPage() -> impl IntoView { view! {
μpub
" is a micro social network powered by "ActivityPub
"the "fediverse" is an ensemble of social networks, which, while independently hosted, can communicate with each other"
content is aggregated in timelines, logged out users can only access global server timeline
"not implemented :("
loading...
}.into_view(), Some(None) => { view! {loading failed
"↗"
following
}.into_view());
// let following_me = object.generator()
// .get()
// .filter(|x| !x.ordered_items().is_empty()) // TODO check if contains my uid
// .map(|_| view! { });
view! {
{display_name}{actor_type_tag} | {statuses}" ""\u{1f582}" | |
{username.clone()}@{domain} | {following}" ""👥" | |
|
{followers}" ""📢" |
{ dissolve::strip_html_tags(&summary) .into_iter() .map(|x| view! {{x}}) .collect_view() }
loading ...
}.into_view(), Some(None) => { let uid = uid.clone(); view! {loading failed
"↗"
{move || serde_json::to_string_pretty(object.get().as_ref()).unwrap_or("unserializable".to_string())}