temp.pug 5.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. div(id="app" class="min-h-screen bg-white dark:bg-gray-900 transition-colors duration-300")
  2. //- Header
  3. header(class="bg-white dark:bg-gray-800 shadow-sm sticky top-0 z-50")
  4. div(class="container mx-auto px-4")
  5. div(class="flex justify-between items-center py-4")
  6. //- Logo
  7. div(class="flex items-center space-x-4")
  8. router-link(to="/" class="text-2xl font-bold text-gray-800 dark:text-white")
  9. | Кохи Борбад
  10. //- Navigation
  11. nav(class="hidden md:flex space-x-8")
  12. app-link(to="/" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors") Главная
  13. app-link(to="/events" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors") Мероприятия
  14. app-link(to="/blog" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors") Блог
  15. app-link(to="/products" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors") Магазин
  16. app-link(to="/about" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors") О нас
  17. app-link(to="/contacts" class="text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white transition-colors") Контакты
  18. //- Theme Toggle and Mobile Menu
  19. div(class="flex items-center space-x-4")
  20. multilevelmenu
  21. //- Language Switcher
  22. language-switcher
  23. themetoggle
  24. //- Main Content
  25. main(class="flex-grow")
  26. //- Loading State
  27. div(v-if="appState.loading" class="container mx-auto px-4 py-8")
  28. div(class="flex justify-center items-center py-12")
  29. div(class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600")
  30. //- Error State
  31. div(v-else-if="appState.error" class="container mx-auto px-4 py-8")
  32. div(class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded")
  33. p {{ appState.error }}
  34. //- Router View
  35. div(v-else)
  36. router-view
  37. //- Footer
  38. footer(class="bg-gray-800 text-white mt-16")
  39. div(class="container mx-auto px-4 py-8")
  40. div(class="grid grid-cols-1 md:grid-cols-4 gap-8")
  41. //- About
  42. div
  43. h3(class="text-lg font-semibold mb-4") О нас
  44. p(class="text-gray-300") Концертный зал Борбад - культурный центр Душанбе, место встречи искусства и культуры.
  45. //- Quick Links
  46. div
  47. h3(class="text-lg font-semibold mb-4") Быстрые ссылки
  48. ul(class="space-y-2")
  49. li: app-link(to="/events" class="text-gray-300 hover:text-white transition-colors") Мероприятия
  50. li: app-link(to="/blog" class="text-gray-300 hover:text-white transition-colors") Блог
  51. li: app-link(to="/products" class="text-gray-300 hover:text-white transition-colors") Магазин
  52. li: app-link(to="/about" class="text-gray-300 hover:text-white transition-colors") О нас
  53. //- Contact Info
  54. div
  55. h3(class="text-lg font-semibold mb-4") Контакты
  56. div(class="text-gray-300 space-y-2")
  57. p г. Душанбе, пр. Рудаки 22
  58. p +992 37 123-45-67
  59. p info@borbad.s5l.ru
  60. //- Social Links
  61. div
  62. h3(class="text-lg font-semibold mb-4") Мы в соцсетях
  63. div(class="flex space-x-4")
  64. a(href="#" class="text-gray-300 hover:text-white transition-colors") Facebook
  65. a(href="#" class="text-gray-300 hover:text-white transition-colors") Instagram
  66. a(href="#" class="text-gray-300 hover:text-white transition-colors") Twitter
  67. //- Copyright
  68. div(class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-300")
  69. p © 2024 Кохи Борбад. Все права защищены.
  70. //- Modal Window
  71. div(v-if="modalState.isVisible" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4")
  72. div(class="bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-2xl w-full max-h-90vh overflow-auto")
  73. component(
  74. :is="modalState.component"
  75. v-bind="modalState.props"
  76. @close="closeModal"
  77. )