index.styl 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. @css {
  2. .admin-settings {
  3. @apply space-y-4 sm:space-y-6;
  4. }
  5. .admin-settings__header {
  6. @apply border-b border-gray-200 dark:border-gray-700 pb-4 sm:pb-6;
  7. }
  8. .admin-settings__title {
  9. @apply text-xl sm:text-2xl font-bold text-gray-900 dark:text-white;
  10. }
  11. .admin-settings__subtitle {
  12. @apply text-gray-600 dark:text-gray-400 mt-1 sm:mt-2 text-sm sm:text-base;
  13. }
  14. .admin-settings__content {
  15. @apply bg-white dark:bg-gray-800 rounded-lg shadow-sm;
  16. }
  17. .admin-settings__tabs {
  18. @apply border-b border-gray-200 dark:border-gray-700 flex space-x-2 sm:space-x-8 px-4 sm:px-6 overflow-x-auto;
  19. }
  20. .admin-settings__tab {
  21. @apply py-3 sm:py-4 px-2 sm:px-1 border-b-2 font-medium text-sm transition-colors duration-200 whitespace-nowrap flex-shrink-0;
  22. }
  23. .admin-settings__tab--active {
  24. @apply border-primary-500 text-primary-600 dark:text-primary-400;
  25. }
  26. .admin-settings__tab--inactive {
  27. @apply border-transparent text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 dark:hover:border-gray-600;
  28. }
  29. .admin-settings__tab-content {
  30. @apply p-4 sm:p-6;
  31. }
  32. .admin-settings__section {
  33. @apply mb-6 sm:mb-8;
  34. }
  35. .admin-settings__section-title {
  36. @apply text-base sm:text-lg font-medium text-gray-900 dark:text-white mb-2;
  37. }
  38. .admin-settings__section-description {
  39. @apply text-gray-600 dark:text-gray-400 mb-3 sm:mb-4 text-sm sm:text-base;
  40. }
  41. .admin-settings__domains-list {
  42. @apply space-y-3 sm:space-y-4 mb-4 sm:mb-6;
  43. }
  44. .admin-settings__domain-item {
  45. @apply flex flex-col sm:flex-row sm:items-center sm:justify-between p-3 sm:p-4 border border-gray-200 dark:border-gray-700 rounded-lg gap-3;
  46. }
  47. .admin-settings__domain-info {
  48. @apply flex-1;
  49. }
  50. .admin-settings__domain-name {
  51. @apply font-medium text-gray-900 dark:text-white text-sm sm:text-base;
  52. }
  53. .admin-settings__domain-desc {
  54. @apply text-gray-600 dark:text-gray-400 text-xs sm:text-sm;
  55. }
  56. .admin-settings__domain-actions {
  57. @apply flex space-x-2 self-end sm:self-auto;
  58. }
  59. .admin-settings__languages-list {
  60. @apply grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4;
  61. }
  62. .admin-settings__language-item {
  63. @apply flex items-center justify-between p-3 sm:p-4 border border-gray-200 dark:border-gray-700 rounded-lg;
  64. }
  65. .admin-settings__language-info {
  66. @apply flex items-center space-x-2 sm:space-x-3;
  67. }
  68. .admin-settings__language-code {
  69. @apply bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs sm:text-sm font-medium;
  70. }
  71. .admin-settings__language-name {
  72. @apply text-gray-700 dark:text-gray-300 text-sm sm:text-base;
  73. }
  74. .admin-settings__language-btn {
  75. @apply px-2 sm:px-3 py-1 rounded text-xs sm:text-sm font-medium transition-colors duration-200 whitespace-nowrap;
  76. }
  77. .admin-settings__language-btn--enabled {
  78. @apply bg-red-100 text-red-700 hover:bg-red-200 dark:bg-red-900 dark:text-red-300 dark:hover:bg-red-800;
  79. }
  80. .admin-settings__language-btn--disabled {
  81. @apply bg-green-100 text-green-700 hover:bg-green-200 dark:bg-green-900 dark:text-green-300 dark:hover:bg-green-800;
  82. }
  83. .admin-settings__form {
  84. @apply max-w-full sm:max-w-md space-y-3 sm:space-y-4;
  85. }
  86. .admin-settings__form-group {
  87. @apply space-y-1 sm:space-y-2;
  88. }
  89. .admin-settings__label {
  90. @apply block text-sm font-medium text-gray-700 dark:text-gray-300;
  91. }
  92. .admin-settings__input {
  93. @apply w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent text-sm sm:text-base;
  94. }
  95. .admin-settings__select {
  96. @apply w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent text-sm sm:text-base;
  97. }
  98. .admin-settings__checkbox-group {
  99. @apply space-y-2;
  100. }
  101. .admin-settings__checkbox-label {
  102. @apply flex items-center space-x-2 text-gray-700 dark:text-gray-300 text-sm sm:text-base;
  103. }
  104. .admin-settings__checkbox {
  105. @apply rounded border-gray-300 text-primary-600 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 w-4 h-4;
  106. }
  107. .admin-settings__btn {
  108. @apply px-3 sm:px-4 py-2 rounded-lg font-medium transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 text-sm sm:text-base;
  109. }
  110. .admin-settings__btn--primary {
  111. @apply bg-primary-600 text-white hover:bg-primary-700 focus:ring-primary-500;
  112. }
  113. .admin-settings__btn--secondary {
  114. @apply bg-gray-200 text-gray-700 hover:bg-gray-300 focus:ring-gray-500 dark:bg-gray-700 dark:text-gray-300 dark:hover:bg-gray-600;
  115. }
  116. .admin-settings__btn--danger {
  117. @apply bg-red-600 text-white hover:bg-red-700 focus:ring-red-500;
  118. }
  119. .admin-settings__modal {
  120. @apply fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4;
  121. }
  122. .admin-settings__modal-content {
  123. @apply bg-white dark:bg-gray-800 rounded-lg p-4 sm:p-6 max-w-md w-full mx-auto max-h-[90vh] overflow-y-auto;
  124. }
  125. .admin-settings__modal-title {
  126. @apply text-lg font-medium text-gray-900 dark:text-white mb-3 sm:mb-4;
  127. }
  128. .admin-settings__modal-form {
  129. @apply space-y-3 sm:space-y-4 mb-4 sm:mb-6;
  130. }
  131. .admin-settings__modal-actions {
  132. @apply flex flex-col sm:flex-row space-y-2 sm:space-y-0 sm:space-x-3 justify-end;
  133. }
  134. }
  135. /* Медиа-запросы для очень маленьких экранов */
  136. @media (max-width: 360px) {
  137. .admin-settings__domain-actions {
  138. @apply flex-col space-y-2 space-x-0;
  139. }
  140. .admin-settings__btn {
  141. @apply px-2 py-1 text-xs;
  142. }
  143. }