index.coffee 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # app/pages/About/index.coffee
  2. document.head.insertAdjacentHTML('beforeend','<style type="text/tailwindcss" page="About">'+stylFns['app/pages/About/index.styl']+'</style>')
  3. module.exports =
  4. name: 'About'
  5. render: (new Function '_ctx', '_cache', renderFns['app/pages/About/index.pug'])()
  6. data: ->
  7. features: [
  8. {
  9. icon: 'architecture'
  10. title: 'Уникальная архитектура'
  11. description: 'Сочетание современного дизайна с традиционными таджикскими мотивами'
  12. }
  13. {
  14. icon: 'acoustics'
  15. title: 'Идеальная акустика'
  16. description: 'Профессиональная звуковая система для незабываемых выступлений'
  17. }
  18. {
  19. icon: 'capacity'
  20. title: 'Вместительный зал'
  21. description: '2300 мест в амфитеатре для масштабных мероприятий'
  22. }
  23. ]
  24. mounted: ->
  25. @setupAnimations()
  26. methods:
  27. setupAnimations: ->
  28. # Анимация появления элементов при скролле
  29. observer = new IntersectionObserver (entries) ->
  30. entries.forEach (entry) ->
  31. if entry.isIntersecting
  32. entry.target.classList.add('animate-fade-in-up')
  33. ,
  34. threshold: 0.1
  35. # Наблюдаем за всеми карточками
  36. document.querySelectorAll('.bg-white, .bg-accent, .bg-primary, .bg-secondary').forEach (el) ->
  37. observer.observe(el)