index.pug 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //- Главный layout приложения
  2. div(class="app" :class="{'theme-dark': theme === 'dark'}")
  3. header(class="header")
  4. nav(class="header-nav")
  5. div(class="header-nav-block")
  6. div(class="header-nav--name") {{ currentDomainSettings?.companyName || companyName }}
  7. div(class="header-nav--menu")
  8. //- Мультиуровневое меню доменов
  9. multilevel-menu(
  10. :domains="availableDomains"
  11. :current-domain="currentDomain"
  12. @domain-changed="changeDomain"
  13. )
  14. //- Переключение темы
  15. theme-toggle(
  16. :theme="theme"
  17. @theme-changed="toggleTheme"
  18. )
  19. //- Переключение языка
  20. language-toggle(
  21. :languages="languages"
  22. :current-language="currentLanguage"
  23. @language-changed="setLanguage"
  24. )
  25. //- Виджет корзины
  26. cart-widget(
  27. :items="cartItems"
  28. @update-cart="updateCart"
  29. @go-to-cart="goToCart"
  30. )
  31. main(class="main-content")
  32. router-view(v-slot="{ Component, route }")
  33. transition(name="page-slide" mode="out-in")
  34. component(
  35. :is="Component"
  36. :key="route.fullPath"
  37. :domain-settings="currentDomainSettings"
  38. :language="currentLanguage"
  39. )
  40. //- Контейнер уведомлений
  41. notification-container(
  42. :notifications="notifications"
  43. @close-notification="closeNotification"
  44. )
  45. //- Индикатор загрузки
  46. app-loader(:loading="loading")