{"version":3,"file":"organizer-show-C8Br779w.js","sources":["../../../app/frontend/entrypoints/organizer-show.js"],"sourcesContent":["document.addEventListener('turbo:load', function () {\n console.log('Organizer show JS loaded');\n var calendar;\n var calendarEl = document.getElementById('calendar');\n var calendarPaneEl = document.querySelector('#calendarPane');\n\n // Fetch organizerId from the body's data attributes\n var organizerSlug = document.querySelector('#calendarPane').dataset.organizerSlug;\n\n calendar = new FullCalendar.Calendar(calendarEl, {\n headerToolbar: {\n right: 'prev,next today',\n center: 'title',\n left: 'dayGridMonth,timeGridWeek,timeGridDay',\n },\n initialView: 'dayGridMonth',\n events: '/o/' + organizerSlug + '/events', // Use the fetched organizerSlug\n eventColor: '#ffdd9c',\n height: 'auto',\n timeZone: '<%= @event.timezone %>',\n eventContent: function (info) {\n let titleElement = document.createElement('div');\n titleElement.classList.add('fc-event-title');\n titleElement.style.paddingLeft = '10px'; // Add padding-left of 10px\n\n // Check if the event has an associated artist and an avatar URL\n let avatarUrl = info.event._def.extendedProps.avatar || ''; // Fallback to empty string if no avatar\n\n let avatarHtml = avatarUrl\n ? `\n\n \"Artist\n\n`\n : ''; // If no avatar, this will be an empty string\n\n titleElement.innerHTML = `\n${avatarHtml}\n${info.event.title}\n`;\n\n return { domNodes: [titleElement] };\n },\n eventDidMount: function (info) {\n // Log the colors to the console for debugging\n // console.log('Event ID:', info.event);\n // console.log('Background Color:', info.event._def.ui.backgroundColor);\n // console.log('Text Color:', info.event._def.ui.textColor);\n\n // Apply the colors to the event element in FullCalendar\n if (info.event._def.ui.backgroundColor) {\n info.el.style.backgroundColor = info.event._def.ui.backgroundColor;\n }\n if (info.event._def.ui.textColor) {\n info.el.style.color = info.event._def.ui.textColor;\n }\n // Change the dot color if it exists\n const dotElement = info.el.querySelector('.fc-daygrid-event-dot');\n if (dotElement && info.event._def.ui.backgroundColor) {\n dotElement.style.borderColor = info.event._def.ui.textColor;\n }\n },\n eventClick: function (info) {\n info.jsEvent.preventDefault(); // don't let the browser navigate\n // fetch the event page HTML\n fetch(info.event.url)\n .then((response) => response.text())\n .then((data) => {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = data;\n\n // Remove the navigation bar\n var navbar = wrapper.querySelector('.navbar');\n if (navbar) navbar.remove();\n\n // Remove the footer\n var footer = wrapper.querySelector('#footer');\n if (footer) footer.remove();\n\n // Add the modified content to the modal\n document.getElementById('eventModalBody').innerHTML = wrapper.innerHTML;\n\n // Update the event page link\n document.getElementById('eventModalLink').setAttribute('href', info.event.url);\n });\n\n // Open the Bootstrap modal\n var eventModal = new bootstrap.Modal(document.getElementById('eventModal'), {});\n eventModal.show();\n },\n });\n\n calendar.render();\n\n var eventItems = document.querySelectorAll('.event-item');\n eventItems.forEach(function (item) {\n item.addEventListener('click', function (e) {\n e.preventDefault();\n var eventUrl = item.getAttribute('data-event-url');\n\n // Use similar fetching and modal opening logic as in the calendar eventClick\n fetch(eventUrl)\n .then((response) => response.text())\n .then((data) => {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = data;\n\n // Remove unnecessary elements\n var navbar = wrapper.querySelector('.navbar');\n if (navbar) navbar.remove();\n\n var footer = wrapper.querySelector('#footer');\n if (footer) footer.remove();\n\n // Update modal content and show modal\n document.getElementById('eventModalBody').innerHTML = wrapper.innerHTML;\n document.getElementById('eventModalLink').setAttribute('href', eventUrl);\n\n var eventModal = new bootstrap.Modal(document.getElementById('eventModal'), {});\n eventModal.show();\n });\n });\n });\n document.getElementById('calendar-tab').addEventListener('click', function () {\n // Small timeout to ensure tab pane is visible when updateSize is called\n setTimeout(function () {\n calendar.updateSize();\n }, 100);\n });\n});\n"],"names":["calendar","calendarEl","organizerSlug","info","titleElement","avatarUrl","avatarHtml","dotElement","response","data","wrapper","navbar","footer","eventModal","eventItems","item","e","eventUrl"],"mappings":"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"}