feat(web): user fields
not ultra pretty but at least they show now
This commit is contained in:
parent
972b109ac0
commit
4b9f9ba0b4
3 changed files with 19 additions and 1 deletions
|
@ -28,7 +28,7 @@ leptos = { version = "0.6", features = ["csr", "tracing"] }
|
||||||
leptos_router = { version = "0.6", features = ["csr"] }
|
leptos_router = { version = "0.6", features = ["csr"] }
|
||||||
leptos-use = { version = "0.10", features = ["serde"] }
|
leptos-use = { version = "0.10", features = ["serde"] }
|
||||||
reqwest = { version = "0.12", features = ["json"] }
|
reqwest = { version = "0.12", features = ["json"] }
|
||||||
apb = { path = "../apb", features = ["unstructured", "activitypub-fe", "activitypub-counters", "litepub"] }
|
apb = { path = "../apb", features = ["unstructured", "activitypub-fe", "activitypub-counters", "litepub", "did-core"] }
|
||||||
uriproxy = { path = "../utils/uriproxy/" }
|
uriproxy = { path = "../utils/uriproxy/" }
|
||||||
mdhtml = { path = "../utils/mdhtml/" }
|
mdhtml = { path = "../utils/mdhtml/" }
|
||||||
futures = "0.3.30"
|
futures = "0.3.30"
|
||||||
|
|
|
@ -103,6 +103,13 @@
|
||||||
table.align {
|
table.align {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
table.fields,
|
||||||
|
table.fields tr,
|
||||||
|
table.fields td
|
||||||
|
{
|
||||||
|
border: 1px solid var(--background-dim);
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
span.footer {
|
span.footer {
|
||||||
padding: .1em;
|
padding: .1em;
|
||||||
font-size: .6em;
|
font-size: .6em;
|
||||||
|
|
|
@ -46,6 +46,14 @@ pub fn ActorHeader() -> impl IntoView {
|
||||||
let actor_type_tag = if actor_type == apb::ActorType::Person { None } else {
|
let actor_type_tag = if actor_type == apb::ActorType::Person { None } else {
|
||||||
Some(view! { <sup class="ml-s"><small>"["{actor_type.as_ref().to_lowercase()}"]"</small></sup> } )
|
Some(view! { <sup class="ml-s"><small>"["{actor_type.as_ref().to_lowercase()}"]"</small></sup> } )
|
||||||
};
|
};
|
||||||
|
let fields = actor.attachment()
|
||||||
|
.map(|x| view! {
|
||||||
|
<tr>
|
||||||
|
<td class="w-25"><b class="color">{x.name().str().unwrap_or_default()}</b></td>
|
||||||
|
<td class="w-75" inner_html={mdhtml::safe_html(x.value().unwrap_or_default())}></td>
|
||||||
|
</tr>
|
||||||
|
})
|
||||||
|
.collect_view();
|
||||||
let uid = actor.id().unwrap_or_default().to_string();
|
let uid = actor.id().unwrap_or_default().to_string();
|
||||||
let web_path = Uri::web(U::Actor, &uid);
|
let web_path = Uri::web(U::Actor, &uid);
|
||||||
let _uid = uid.clone();
|
let _uid = uid.clone();
|
||||||
|
@ -105,6 +113,9 @@ pub fn ActorHeader() -> impl IntoView {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="mb-2 mt-0 center bio" inner_html={mdhtml::safe_html(actor.summary().unwrap_or_default())}></p>
|
<p class="mb-2 mt-0 center bio" inner_html={mdhtml::safe_html(actor.summary().unwrap_or_default())}></p>
|
||||||
|
<p class="center">
|
||||||
|
<table class="fields center w-100 pa-s" style="margin: auto; table-layout: fixed;">{fields}</table>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<Outlet />
|
<Outlet />
|
||||||
}.into_view()
|
}.into_view()
|
||||||
|
|
Loading…
Reference in a new issue