Ensure track selection sends its album and album artist to Lidarr
This commit is contained in:
parent
77b0e6c119
commit
083dcbd992
2 changed files with 15 additions and 5 deletions
|
|
@ -13,6 +13,7 @@ const updateLibraryBtn = document.getElementById('updateLibraryBtn');
|
|||
const updateFrontendBtn = document.getElementById('updateFrontendBtn');
|
||||
|
||||
let selectedAlbum = null;
|
||||
let sendContext = null;
|
||||
|
||||
const CLEANUP_KEY = 'cleanupExtras';
|
||||
cleanupToggle.checked = localStorage.getItem(CLEANUP_KEY) === 'true';
|
||||
|
|
@ -56,7 +57,9 @@ function createAlbumCard(album, preselectedTrackNames = []) {
|
|||
</div>
|
||||
`;
|
||||
|
||||
card.querySelector('button').addEventListener('click', () => openAlbumDialog(album.id, preselectedTrackNames));
|
||||
card.querySelector('button').addEventListener('click', () =>
|
||||
openAlbumDialog(album.id, preselectedTrackNames, { albumName: album.name, artistName: album.artist })
|
||||
);
|
||||
return card;
|
||||
}
|
||||
|
||||
|
|
@ -74,7 +77,12 @@ function createTrackCard(track) {
|
|||
</div>
|
||||
`;
|
||||
|
||||
card.querySelector('button').addEventListener('click', () => openAlbumDialog(track.albumId, [track.trackName]));
|
||||
card.querySelector('button').addEventListener('click', () =>
|
||||
openAlbumDialog(track.albumId, [track.trackName], {
|
||||
albumName: track.albumName,
|
||||
artistName: track.albumArtist || track.artist
|
||||
})
|
||||
);
|
||||
return card;
|
||||
}
|
||||
|
||||
|
|
@ -113,7 +121,7 @@ function renderItems(type, items) {
|
|||
}
|
||||
}
|
||||
|
||||
async function openAlbumDialog(albumId, preselectedTrackNames = []) {
|
||||
async function openAlbumDialog(albumId, preselectedTrackNames = [], context = null) {
|
||||
setStatus('Lade Albumdetails...');
|
||||
|
||||
try {
|
||||
|
|
@ -121,6 +129,7 @@ async function openAlbumDialog(albumId, preselectedTrackNames = []) {
|
|||
const preselected = new Set(preselectedTrackNames || []);
|
||||
|
||||
selectedAlbum = album;
|
||||
sendContext = context;
|
||||
|
||||
dialogTitle.textContent = album.name;
|
||||
dialogArtist.textContent = `Artist: ${album.artist}`;
|
||||
|
|
@ -203,8 +212,8 @@ async function sendToLidarr(event) {
|
|||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
albumName: selectedAlbum.name,
|
||||
artistName: selectedAlbum.artist,
|
||||
albumName: sendContext?.albumName || selectedAlbum.name,
|
||||
artistName: sendContext?.artistName || selectedAlbum.artist,
|
||||
selectedTrackNames,
|
||||
cleanupExtras: cleanupToggle.checked
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue