mirror of
https://github.com/LLukas22/Jellyswarrm.git
synced 2025-12-23 22:47:47 -05:00
Use correct library route
This commit is contained in:
@@ -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");
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user