index.pug 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. div(class="admin-settings")
  2. div(class="admin-settings__header")
  3. h1(class="admin-settings__title") Настройки бренда и домена
  4. p(class="admin-settings__subtitle") Управление логотипом, названием компании и контактной информацией
  5. div(class="admin-settings__content")
  6. div(class="admin-settings__tabs")
  7. button(
  8. v-for="tab in tabs"
  9. :key="tab.id"
  10. @click="activeTab = tab.id"
  11. :class="getTabClass(tab)"
  12. ) {{ tab.name }}
  13. div(class="admin-settings__tab-content")
  14. // Вкладка бренда
  15. div(v-if="activeTab === 'brand'" class="admin-settings__brand")
  16. div(class="admin-settings__section")
  17. h2(class="admin-settings__section-title") Настройки бренда
  18. p(class="admin-settings__section-description") Управление логотипом и визуальным представлением компании
  19. div(class="admin-settings__form")
  20. div(class="admin-settings__form-group")
  21. label(class="admin-settings__label") Логотип компании
  22. div(class="admin-settings__logo-upload")
  23. div(v-if="brandSettings.logo" class="admin-settings__logo-preview")
  24. img(:src="brandSettings.logo" :alt="brandSettings.companyName" class="admin-settings__logo-image")
  25. button(
  26. @click="removeLogo"
  27. class="admin-settings__btn admin-settings__btn--danger"
  28. ) Удалить
  29. div(v-else class="admin-settings__logo-placeholder") Логотип не загружен
  30. div(class="admin-settings__upload-controls")
  31. input(
  32. type="file"
  33. ref="logoInput"
  34. @change="onLogoUpload"
  35. accept="image/*"
  36. class="admin-settings__file-input"
  37. id="logo-upload"
  38. )
  39. label(for="logo-upload" class="admin-settings__btn admin-settings__btn--secondary") Выбрать файл
  40. p(class="admin-settings__help-text") Рекомендуемый размер: 200x60px. Форматы: PNG, JPG, SVG
  41. div(class="admin-settings__form-group")
  42. label(class="admin-settings__label") Название компании
  43. input(
  44. v-model="brandSettings.companyName"
  45. type="text"
  46. class="admin-settings__input"
  47. placeholder="Введите название компании"
  48. )
  49. div(class="admin-settings__form-group")
  50. label(class="admin-settings__label") Описание компании
  51. textarea(
  52. v-model="brandSettings.description"
  53. class="admin-settings__textarea"
  54. placeholder="Краткое описание компании для футера"
  55. rows="3"
  56. )
  57. div(class="admin-settings__form-group")
  58. label(class="admin-settings__label") Email для связи
  59. input(
  60. v-model="brandSettings.email"
  61. type="email"
  62. class="admin-settings__input"
  63. placeholder="info@example.com"
  64. )
  65. div(class="admin-settings__form-group")
  66. label(class="admin-settings__label") Телефон
  67. input(
  68. v-model="brandSettings.phone"
  69. type="tel"
  70. class="admin-settings__input"
  71. placeholder="+7 (999) 999-99-99"
  72. )
  73. button(
  74. @click="saveBrandSettings"
  75. class="admin-settings__btn admin-settings__btn--primary"
  76. ) Сохранить настройки бренда
  77. // Вкладка фавиконов
  78. div(v-if="activeTab === 'favicon'" class="admin-settings__favicon")
  79. div(class="admin-settings__section")
  80. h2(class="admin-settings__section-title") Фавикон и иконки
  81. p(class="admin-settings__section-description") Управление иконками для браузера и мобильных устройств
  82. div(class="admin-settings__form")
  83. div(class="admin-settings__form-group")
  84. label(class="admin-settings__label") Фавикон (16x16px)
  85. div(class="admin-settings__favicon-upload")
  86. div(v-if="brandSettings.favicon" class="admin-settings__favicon-preview")
  87. img(:src="brandSettings.favicon" alt="Favicon" class="admin-settings__favicon-image")
  88. button(
  89. @click="removeFavicon"
  90. class="admin-settings__btn admin-settings__btn--danger"
  91. ) Удалить
  92. div(v-else class="admin-settings__favicon-placeholder") Фавикон не загружен
  93. input(
  94. type="file"
  95. @change="onFaviconUpload"
  96. accept="image/*"
  97. class="admin-settings__file-input"
  98. )
  99. p(class="admin-settings__help-text") Рекомендуемый размер: 16x16px или 32x32px. Формат: ICO или PNG