document.head.insertAdjacentHTML('beforeend','') module.exports = name: 'EventDetail' render: (new Function '_ctx', '_cache', renderFns['app/pages/EventDetail/index.pug'])() data: -> event: null loading: true categoryLabels: classical: 'Классическая музыка' folk: 'Фольклор' jazz: 'Джаз' pop: 'Поп-музыка' dance: 'Танцевальное шоу' mounted: -> @loadEvent() methods: loadEvent: -> eventId = @$route.params.id _.couchDBService.getEventById(eventId) .then (event) => @event = event .catch (error) => debug.log "Ошибка загрузки мероприятия: "+error @event = null .finally => @loading = false getCategoryLabel: (category) -> @categoryLabels[category] || category getCategoryBadgeClass: (category) -> classes = classical: 'bg-blue-500' folk: 'bg-green-500' jazz: 'bg-purple-500' pop: 'bg-pink-500' dance: 'bg-orange-500' classes[category] || 'bg-gray-500' formatDateTime: (dateString, timeString) -> try date = new Date(dateString) options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' } formattedDate = date.toLocaleDateString('ru-RU', options) formattedDate + ", " + timeString catch dateString + ", " + timeString bookTickets: -> if @event?.availableTickets > 0 _.openModal('SuccessModal', { title: 'Билет забронирован!' content: "Вы успешно забронировали билет на \""+@event.title+"\". Подробности отправлены на вашу почту." }) else _.openModal('SuccessModal', { title: 'Билеты распроданы' content: 'К сожалению, все билеты на это мероприятие уже распроданы.' })