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: 'К сожалению, все билеты на это мероприятие уже распроданы.'
})