diff --git a/resources/album_carousel_album.blp b/resources/album_carousel_album.blp
index a2f511b..a0835f9 100644
--- a/resources/album_carousel_album.blp
+++ b/resources/album_carousel_album.blp
@@ -12,7 +12,7 @@ template $AudreyUiAlbumCarouselAlbum: Adw.Bin {
spacing: 6;
Image {
- icon-name: "media-optical-cd";
+ paintable: bind template.cover_art;
pixel-size: 160;
halign: center;
hexpand: false;
diff --git a/resources/style.css b/resources/style.css
index 9f80e8d..5cbbeba 100644
--- a/resources/style.css
+++ b/resources/style.css
@@ -93,7 +93,6 @@ gridview.albums child image {
.album-carousel listview row image {
border-radius: 3px;
- background-color: oklch(0 0 0);
}
.album-carousel .labels {
diff --git a/src/ui/album_carousel.rs b/src/ui/album_carousel.rs
index 360cea5..9a7e9ed 100644
--- a/src/ui/album_carousel.rs
+++ b/src/ui/album_carousel.rs
@@ -157,7 +157,7 @@ mod imp {
pub fn on_bind(&self, item: >k::ListItem, _factory: >k::SignalListItemFactory) {
let child: super::Album = item.child().and_downcast().unwrap();
let album: model::Album = item.item().and_downcast().unwrap();
- child.bind(&album);
+ child.bind(self.client.borrow().as_ref().unwrap(), &album);
}
#[template_callback]
diff --git a/src/ui/album_carousel/album.rs b/src/ui/album_carousel/album.rs
index 463ba93..df67327 100644
--- a/src/ui/album_carousel/album.rs
+++ b/src/ui/album_carousel/album.rs
@@ -1,7 +1,10 @@
use crate::model;
+use adw::gdk;
use adw::{prelude::*, subclass::prelude::*};
use glib::subclass::InitializingObject;
-use std::cell::RefCell;
+use std::cell::{Cell, RefCell};
+use tokio::sync::Semaphore;
+use tracing::{event, Level};
mod imp {
use super::*;
@@ -12,6 +15,11 @@ mod imp {
pub struct Album {
#[property(get, set, nullable)]
item: RefCell