Skip to content

Commit

Permalink
feat: detect if event already exists in MB
Browse files Browse the repository at this point in the history
  • Loading branch information
dvirtz committed Jul 14, 2024
1 parent dc491f0 commit 93296e2
Showing 1 changed file with 41 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
// }
// }
// }
main();

function submitEvent() {
let searchParams = new URLSearchParams();
Expand Down Expand Up @@ -100,31 +101,46 @@ function submitEvent() {
//////////////////////////////////////////////////////////////////////////////

// add the button to the page
let div = document.createElement('div');
div.classList.add('btn-group');

const addBtnElem = document.createElement('button');
addBtnElem.classList.add('btn');
addBtnElem.addEventListener('click', () => {
submitEvent();
});

const buttonIcon = document.createElement('img');
buttonIcon.src = 'https://musicbrainz.org/static/images/favicons/favicon-32x32.png';
buttonIcon.alt = 'MB';
buttonIcon.style.width = '16px';
buttonIcon.style.height = '16px';
buttonIcon.style.margin = '2px';
addBtnElem.appendChild(buttonIcon);

const buttonSpan = document.createElement('span');
buttonSpan.textContent = 'Add to MB';
addBtnElem.appendChild(buttonSpan);

div.appendChild(addBtnElem);

const userFragment = document.querySelector('.user-fragment');
userFragment.insertBefore(div, userFragment.firstChild);
async function main() {
let div = document.createElement('div');
div.classList.add('btn-group');

const addBtnElem = document.createElement('button');
addBtnElem.classList.add('btn');

const buttonIcon = document.createElement('img');
buttonIcon.src = 'https://musicbrainz.org/static/images/favicons/favicon-32x32.png';
buttonIcon.alt = 'MB';
buttonIcon.style.width = '16px';
buttonIcon.style.height = '16px';
buttonIcon.style.margin = '2px';
addBtnElem.appendChild(buttonIcon);

const buttonSpan = document.createElement('span');
addBtnElem.appendChild(buttonSpan);

div.appendChild(addBtnElem);

const userFragment = document.querySelector('.user-fragment');
userFragment.insertBefore(div, userFragment.firstChild);

const existingEvent = await fetch(
`https://musicbrainz.org/ws/2/url?resource=${document.location.href}&inc=event-rels&fmt=json`
);
if (existingEvent.ok) {
const body = await existingEvent.json();
const eventId = body['relations'][0]['event'].id;
buttonSpan.textContent = 'Open in MB';
addBtnElem.addEventListener('click', () => {
window.open(`https://musicbrainz.org/event/${eventId}`);
});
} else {
buttonSpan.textContent = 'Add to MB';
addBtnElem.addEventListener('click', () => {
submitEvent();
});
}
}

function convertMonth(monthName) {
const monthMap = {
Expand Down

0 comments on commit 93296e2

Please sign in to comment.