Use correct library route

This commit is contained in:
Lukas Kreussel
2025-12-06 18:10:31 +01:00
parent ed93710f9b
commit a303cee883
4 changed files with 24 additions and 18 deletions

View File

@@ -208,10 +208,18 @@ impl JellyfinClient {
self.request(reqwest::Method::GET, "Users/Me", None).await
}
pub async fn get_media_folders(&self) -> Result<Vec<crate::models::MediaFolder>, Error> {
let response: MediaFoldersResponse = self
.request(reqwest::Method::GET, "Library/MediaFolders", None)
.await?;
pub async fn get_media_folders(
&self,
user_id: Option<&str>,
) -> Result<Vec<crate::models::MediaFolder>, Error> {
let path = if let Some(uid) = user_id {
format!("Users/{}/Views", uid)
} else {
"Library/MediaFolders".to_string()
};
let response: MediaFoldersResponse =
self.request(reqwest::Method::GET, &path, None).await?;
Ok(response.items)
}
@@ -380,7 +388,7 @@ mod tests {
let client = JellyfinClient::new(&mock_server.uri(), client_info).unwrap();
let client = client.with_token("test_token".to_string());
let folders = client.get_media_folders().await.unwrap();
let folders = client.get_media_folders(None).await.unwrap();
assert_eq!(folders.len(), 1);
assert_eq!(folders[0].name, "Movies");

View File

@@ -10,7 +10,7 @@
<div class="placeholder-image"><i class="fas fa-film"></i></div>
{% endif %}
<footer title="{{ item.name }}">
<small>{{ item.name }}</small>
{{ item.name }}
</footer>
</article>
{% endfor %}

View File

@@ -36,7 +36,7 @@
overflow-x: auto;
gap: 1rem;
padding: 0.5rem 0.5rem 1rem 0.5rem;
align-items: stretch;
align-items: start;
scrollbar-width: thin; /* Firefox */
}
@@ -56,19 +56,16 @@
}
.media-card {
flex: 0 0 160px;
width: 160px;
padding: 0;
flex: 0 0 140px;
width: 140px;
background: var(--card-background-color);
border-radius: var(--border-radius);
overflow: hidden;
transition: transform 0.2s;
border: 1px solid var(--card-border-color);
border-radius: var(--border-radius);
background-color: var(--card-background-color);
}
.media-card:hover {
transform: scale(1.05);
z-index: 1;
}
.media-card img {
@@ -80,10 +77,11 @@
.media-card footer {
padding: 0.5rem;
font-size: 0.85rem;
font-size: 0.8rem;
text-align: center;
line-height: 1.2;
overflow-wrap: break-word;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.placeholder-image {

View File

@@ -100,7 +100,7 @@ pub async fn get_server_libraries(
if let Ok((client, jellyfin_user, _)) =
authenticate_user_on_server(&state, &user, &server).await
{
match client.get_media_folders().await {
match client.get_media_folders(Some(&jellyfin_user.id)).await {
Ok(folders) => {
let mut libraries = Vec::new();
for folder in folders {