| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- document.head.insertAdjacentHTML('beforeend','<style type="text/tailwindcss">'+stylFns['app/pages/EventDetail/index.styl']+'</style>')
- 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: 'К сожалению, все билеты на это мероприятие уже распроданы.'
- })
|