clicking album thumbnail on album page shows full size cover popup

This commit is contained in:
Drew Weymouth
2023-01-22 13:21:25 -08:00
parent c1aaed4b3e
commit c9bd3b5079
5 changed files with 146 additions and 33 deletions
+16
View File
@@ -18,6 +18,9 @@ type ImageManager struct {
s *ServerManager
baseCacheDir string
thumbnailCache gcache.Cache
cachedFullSizeCover image.Image
cachedFullSizeCoverID string
}
func NewImageManager(s *ServerManager, baseCacheDir string) *ImageManager {
@@ -66,6 +69,19 @@ func (i *ImageManager) GetAlbumThumbnail(albumID string) (image.Image, error) {
return i.fetchAndCacheCoverFromServer(albumID)
}
func (i *ImageManager) GetFullSizeAlbumCover(albumID string) (image.Image, error) {
if i.cachedFullSizeCoverID == albumID {
return i.cachedFullSizeCover, nil
}
im, err := i.s.Server.GetCoverArt(albumID, nil)
if err != nil {
return nil, err
}
i.cachedFullSizeCover = im
i.cachedFullSizeCoverID = albumID
return im, nil
}
func (i *ImageManager) ensureCoverCacheDir() string {
path := path.Join(i.baseCacheDir, i.s.ServerID.String(), "covers")
configdir.MakePath(path)