{"version":3,"file":"booking-panel.js","names":[],"sources":["../resources/modern-javascript/booking-panel.js"],"sourcesContent":["const initBookingPanel = () => {\n    const panel = document.getElementById('booking-panel');\n    const venueSelect = document.querySelector('.js-booking-venue');\n    const roomBtn = document.querySelector('.js-booking-room');\n    const tableBtn = document.querySelector('.js-booking-table');\n\n    if (!panel) return;\n\n    let venueData = {};\n    const dataEl = document.getElementById('booking-venue-data');\n    if (dataEl) {\n        try {\n            venueData = JSON.parse(dataEl.textContent);\n        } catch (e) {\n            // Silently fail — URLs won't update\n        }\n    }\n\n    const updateLinks = () => {\n        const venue = venueSelect?.value;\n        if (!venue || !venueData[venue]) return;\n\n        const data = venueData[venue];\n\n        if (roomBtn) {\n            roomBtn.href = data.room || '#';\n            roomBtn.classList.toggle(\n                'booking-panel__cta--disabled',\n                !data.room\n            );\n            roomBtn.target = data.room?.startsWith('http') ? '_blank' : '';\n        }\n\n        if (tableBtn) {\n            tableBtn.href = data.table || '#';\n            tableBtn.classList.toggle(\n                'booking-panel__cta--disabled',\n                !data.table\n            );\n            tableBtn.target = data.table?.startsWith('http') ? '_blank' : '';\n        }\n    };\n\n    const selectVenue = venue => {\n        if (!venueSelect || !venue || !venueData[venue]) return;\n        venueSelect.value = venue;\n        updateLinks();\n    };\n\n    venueSelect?.addEventListener('change', updateLinks);\n\n    document.addEventListener('click', e => {\n        const trigger = e.target.closest('.js-open-booking');\n        if (!trigger) return;\n\n        const venue = trigger.dataset.venue;\n        Dialog.render('#booking-panel', {\n            modifiers: ['sidebar'],\n            callback: () => selectVenue(venue),\n        });\n    });\n\n    updateLinks();\n};\n\nif (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initBookingPanel);\n} else {\n    initBookingPanel();\n}\n"],"mappings":"AAAA,MAAM,MAAyB,CAC3B,IAAM,EAAQ,SAAS,eAAe,eAAe,EAC/C,EAAc,SAAS,cAAc,mBAAmB,EACxD,EAAU,SAAS,cAAc,kBAAkB,EACnD,EAAW,SAAS,cAAc,mBAAmB,EAE3D,GAAI,CAAC,EAAO,OAEZ,IAAI,EAAY,CAAC,EACX,EAAS,SAAS,eAAe,oBAAoB,EAC3D,GAAI,EACA,GAAI,CACA,EAAY,KAAK,MAAM,EAAO,WAAW,CAC7C,MAAY,CAEZ,CAGJ,IAAM,MAAoB,CACtB,IAAM,EAAQ,GAAa,MAC3B,GAAI,CAAC,GAAS,CAAC,EAAU,GAAQ,OAEjC,IAAM,EAAO,EAAU,GAEvB,GAAI,EAAS,CAAA,IAAA,EACT,EAAQ,KAAO,EAAK,MAAQ,IAC5B,EAAQ,UAAU,OACd,+BACA,CAAC,EAAK,IACV,EACA,EAAQ,QAAS,EAAA,EAAK,OAAA,MAAL,EAAW,WAAW,MAAM,EAAI,SAAW,EAChE,CAEA,GAAI,EAAU,CAAA,IAAA,EACV,EAAS,KAAO,EAAK,OAAS,IAC9B,EAAS,UAAU,OACf,+BACA,CAAC,EAAK,KACV,EACA,EAAS,QAAS,EAAA,EAAK,QAAA,MAAL,EAAY,WAAW,MAAM,EAAI,SAAW,EAClE,CACJ,EAEM,EAAc,GAAS,CACrB,CAAC,GAAe,CAAC,GAAS,CAAC,EAAU,KACzC,EAAY,MAAQ,EACpB,EAAY,EAChB,EAEA,GAAa,iBAAiB,SAAU,CAAW,EAEnD,SAAS,iBAAiB,QAAS,GAAK,CACpC,IAAM,EAAU,EAAE,OAAO,QAAQ,kBAAkB,EACnD,GAAI,CAAC,EAAS,OAEd,IAAM,EAAQ,EAAQ,QAAQ,MAC9B,OAAO,OAAO,iBAAkB,CAC5B,UAAW,CAAC,SAAS,EACrB,aAAgB,EAAY,CAAK,CACrC,CAAC,CACL,CAAC,EAED,EAAY,CAChB,EAEI,SAAS,aAAe,UACxB,SAAS,iBAAiB,mBAAoB,CAAgB,EAE9D,EAAiB"}