aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--base/src/lib.rs6
-rw-r--r--client/src/lib.rs12
-rw-r--r--server/src/routes/ui/node.rs43
3 files changed, 39 insertions, 22 deletions
diff --git a/base/src/lib.rs b/base/src/lib.rs
index 48d3b37..015b62b 100644
--- a/base/src/lib.rs
+++ b/base/src/lib.rs
@@ -19,7 +19,11 @@ use std::{fs::File, path::PathBuf, sync::LazyLock};
pub static CONF: LazyLock<GlobalConfig> = LazyLock::new(|| {
serde_yaml::from_reader(
File::open(std::env::var("JELLYTHING_CONFIG").unwrap_or_else(|_| {
- if std::env::args().nth(0) == Some("jellything".to_string()) {
+ if std::env::args()
+ .nth(0)
+ .unwrap_or_default()
+ .ends_with("jellything")
+ {
std::env::args().nth(1).expect(
"First argument or JELLYTHING_CONFIG must specify the configuration to use.",
)
diff --git a/client/src/lib.rs b/client/src/lib.rs
index 19be760..f55929a 100644
--- a/client/src/lib.rs
+++ b/client/src/lib.rs
@@ -78,6 +78,18 @@ impl Session {
.get(format!("{}/n/{id}", self.instance.base()))
.send()
.await?
+ .error_for_status()?
+ .json()
+ .await?)
+ }
+ pub async fn node_extended(&self, id: &str) -> Result<NodePublic> {
+ debug!("downloading extended node {id:?}");
+ Ok(self
+ .client
+ .get(format!("{}/n/{id}/extended", self.instance.base()))
+ .send()
+ .await?
+ .error_for_status()?
.json()
.await?)
}
diff --git a/server/src/routes/ui/node.rs b/server/src/routes/ui/node.rs
index 7f538ac..74dba8a 100644
--- a/server/src/routes/ui/node.rs
+++ b/server/src/routes/ui/node.rs
@@ -174,29 +174,30 @@ markup::define! {
}}
}}}
}
- h2 { "Cast & Crew" }
- @for (group, people) in &node_ext.people {
- details[open=group==&PeopleGroup::Cast] {
- summary { h3 { @format!("{}", group) } }
- .hlist { ul.children { @for (i, pe) in people.iter().enumerate() {
- li { .card."aspect-port" {
- .poster {
- a[href="#"] {
- img[src=&uri!(r_person_asset(id, i, group, Some(1024))), loading="lazy"];
+ @if !node_ext.people.is_empty() {
+ h2 { "Cast & Crew" }
+ @for (group, people) in &node_ext.people {
+ details[open=group==&PeopleGroup::Cast] {
+ summary { h3 { @format!("{}", group) } }
+ .hlist { ul.children { @for (i, pe) in people.iter().enumerate() {
+ li { .card."aspect-port" {
+ .poster {
+ a[href="#"] {
+ img[src=&uri!(r_person_asset(id, i, group, Some(1024))), loading="lazy"];
+ }
}
- // .cardhover { .props { p { @pe.person.name } } }
- }
- .title {
- @pe.person.name br;
- @if let Some(c) = pe.characters.get(0) {
- .subtitle { @c }
- }
- @if let Some(c) = pe.jobs.get(0) {
- .subtitle { @c }
+ .title {
+ @pe.person.name br;
+ @if let Some(c) = pe.characters.get(0) {
+ .subtitle { @c }
+ }
+ @if let Some(c) = pe.jobs.get(0) {
+ .subtitle { @c }
+ }
}
- }
- }}
- }}}
+ }}
+ }}}
+ }
}
}
details {