diff --git a/main_dc/yalarba/easySite/easySite/app/assets/css/components.css b/main_dc/yalarba/easySite/easySite/app/assets/css/components.css
index ac33599..41d776b 100644
--- a/main_dc/yalarba/easySite/easySite/app/assets/css/components.css
+++ b/main_dc/yalarba/easySite/easySite/app/assets/css/components.css
@@ -166,3 +166,36 @@
color: var(--primary-600);
background: var(--primary-50);
}
+
+/* Дополнения для темной темы */
+.form-input,
+.form-select {
+ background: var(--bg-primary);
+ border-color: var(--border-medium);
+ color: var(--text-primary);
+ transition: all 0.3s ease;
+}
+
+.form-input:focus,
+.form-select:focus {
+ border-color: var(--primary-500);
+ box-shadow: 0 0 0 3px rgb(14 165 233 / 0.1);
+}
+
+.card {
+ background: var(--bg-primary);
+ border-color: var(--border-light);
+ transition: all 0.3s ease;
+}
+
+.btn-outline {
+ background: transparent;
+ border: 1px solid var(--border-medium);
+ color: var(--text-secondary);
+}
+
+.btn-outline:hover {
+ background: var(--bg-secondary);
+ border-color: var(--primary-500);
+ color: var(--primary-500);
+}
diff --git a/main_dc/yalarba/easySite/easySite/app/assets/css/main.css b/main_dc/yalarba/easySite/easySite/app/assets/css/main.css
index caadb09..1de6518 100644
--- a/main_dc/yalarba/easySite/easySite/app/assets/css/main.css
+++ b/main_dc/yalarba/easySite/easySite/app/assets/css/main.css
@@ -8,27 +8,33 @@
--gray-800: #1f2937;
--gray-900: #111827;
--white: #ffffff;
+ transition: color 0.3s ease, background-color 0.3s ease,
+ border-color 0.3s ease;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
+ transition: color 0.3s ease, background-color 0.3s ease,
+ border-color 0.3s ease;
}
body {
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
line-height: 1.6;
- color: var(--gray-900);
+ color: var(--text-primary);
+ background: var(--bg-primary);
+ transition: color 0.3s ease, background-color 0.3s ease;
}
+/* Обновляем остальные стили для поддержки темы */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
}
-/* Базовые компоненты */
.btn {
display: inline-block;
padding: 0.75rem 1.5rem;
@@ -37,21 +43,24 @@ body {
text-decoration: none;
font-weight: 500;
cursor: pointer;
- transition: all 0.2s;
+ transition: all 0.3s ease;
}
.btn-primary {
- background: var(--primary);
- color: var(--white);
+ background: var(--primary-500);
+ color: var(--text-inverse);
}
.btn-primary:hover {
- background: var(--primary-dark);
+ background: var(--primary-600);
+ transform: translateY(-1px);
}
.card {
- background: var(--white);
+ background: var(--bg-primary);
border-radius: 0.5rem;
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
+ box-shadow: var(--shadow-sm);
padding: 1.5rem;
-}
\ No newline at end of file
+ border: 1px solid var(--border-light);
+ transition: all 0.3s ease;
+}
diff --git a/main_dc/yalarba/easySite/easySite/app/assets/css/travel.css b/main_dc/yalarba/easySite/easySite/app/assets/css/travel.css
index 55df4fc..d13f6e3 100644
--- a/main_dc/yalarba/easySite/easySite/app/assets/css/travel.css
+++ b/main_dc/yalarba/easySite/easySite/app/assets/css/travel.css
@@ -1,14 +1,18 @@
/* assets/css/travel.css */
/* Герой-секция с фоном */
.hero-section {
- background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);
+ background: linear-gradient(
+ 135deg,
+ var(--primary-500) 0%,
+ var(--primary-700) 100%
+ );
color: var(--text-inverse);
position: relative;
overflow: hidden;
}
.hero-section::before {
- content: '';
+ content: "";
position: absolute;
top: 0;
left: 0;
@@ -116,4 +120,20 @@
font-weight: 600;
color: var(--text-primary);
margin-left: var(--space-xs);
-}
\ No newline at end of file
+}
+
+/* Дополнения для темной темы */
+.search-filters {
+ background: var(--bg-secondary);
+ border-color: var(--border-light);
+}
+
+.category-card {
+ background: var(--bg-primary);
+ border-color: var(--border-light);
+}
+
+.category-card:hover {
+ border-color: var(--primary-300);
+ background: var(--bg-secondary);
+}
diff --git a/main_dc/yalarba/easySite/easySite/app/assets/css/typography.css b/main_dc/yalarba/easySite/easySite/app/assets/css/typography.css
index 118256b..0804071 100644
--- a/main_dc/yalarba/easySite/easySite/app/assets/css/typography.css
+++ b/main_dc/yalarba/easySite/easySite/app/assets/css/typography.css
@@ -211,3 +211,44 @@ li {
.text-success {
color: var(--success-600);
}
+
+/* Дополнения для темной темы */
+body {
+ color: var(--text-primary);
+ background: var(--bg-primary);
+}
+
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ color: var(--text-primary);
+}
+
+p {
+ color: var(--text-secondary);
+}
+
+.lead {
+ color: var(--text-secondary);
+}
+
+.small {
+ color: var(--text-tertiary);
+}
+
+a {
+ color: var(--primary-500);
+}
+
+a:hover {
+ color: var(--primary-400);
+}
diff --git a/main_dc/yalarba/easySite/easySite/app/assets/css/variables.css b/main_dc/yalarba/easySite/easySite/app/assets/css/variables.css
index e6053f4..a3692af 100644
--- a/main_dc/yalarba/easySite/easySite/app/assets/css/variables.css
+++ b/main_dc/yalarba/easySite/easySite/app/assets/css/variables.css
@@ -6,7 +6,7 @@
--primary-200: #bae6fd;
--primary-300: #7dd3fc;
--primary-400: #38bdf8;
- --primary-500: #0ea5e9; /* Основной синий - небо/вода */
+ --primary-500: #0ea5e9; /* Основной синий - небо/вода */
--primary-600: #0284c7;
--primary-700: #0369a1;
--primary-800: #075985;
@@ -17,7 +17,7 @@
--secondary-100: #fef9c3;
--secondary-200: #fef08a;
--secondary-300: #fde047;
- --secondary-400: #facc15; /* Золотой - солнце/песок */
+ --secondary-400: #facc15; /* Золотой - солнце/песок */
--secondary-500: #eab308;
--secondary-600: #ca8a04;
--secondary-700: #a16207;
@@ -29,7 +29,7 @@
--accent-100: #dcfce7;
--accent-200: #bbf7d0;
--accent-300: #86efac;
- --accent-400: #4ade80; /* Зеленый - природа/растения */
+ --accent-400: #4ade80; /* Зеленый - природа/растения */
--accent-500: #22c55e;
--accent-600: #16a34a;
--accent-700: #15803d;
@@ -52,15 +52,15 @@
--success-50: #f0fdf4;
--success-500: #22c55e;
--success-600: #16a34a;
-
+
--warning-50: #fffbeb;
--warning-500: #f59e0b;
--warning-600: #d97706;
-
+
--error-50: #fef2f2;
--error-500: #ef4444;
--error-600: #dc2626;
-
+
--info-50: #eff6ff;
--info-500: #3b82f6;
--info-600: #2563eb;
@@ -69,7 +69,7 @@
--bg-primary: #ffffff;
--bg-secondary: #f8fafc;
--bg-tertiary: #f1f5f9;
-
+
/* Текстовые цвета */
--text-primary: #0f172a;
--text-secondary: #475569;
@@ -84,7 +84,8 @@
/* Тени */
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
- --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
/* Радиусы */
--radius-sm: 0.375rem;
@@ -99,4 +100,108 @@
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem;
-}
\ No newline at end of file
+
+ &[data-theme="dark"] {
+ /* Основные цвета - темная тема */
+ --primary-50: #0c4a6e;
+ --primary-100: #075985;
+ --primary-200: #0369a1;
+ --primary-300: #0284c7;
+ --primary-400: #0ea5e9;
+ --primary-500: #38bdf8;
+ --primary-600: #7dd3fc;
+ --primary-700: #bae6fd;
+ --primary-800: #e0f2fe;
+ --primary-900: #f0f9ff;
+
+ /* Вторичные цвета - темная тема */
+ --secondary-50: #713f12;
+ --secondary-100: #854d0e;
+ --secondary-200: #a16207;
+ --secondary-300: #ca8a04;
+ --secondary-400: #eab308;
+ --secondary-500: #facc15;
+ --secondary-600: #fde047;
+ --secondary-700: #fef08a;
+ --secondary-800: #fef9c3;
+ --secondary-900: #fefce8;
+
+ /* Акцентные цвета - темная тема */
+ --accent-50: #14532d;
+ --accent-100: #166534;
+ --accent-200: #15803d;
+ --accent-300: #16a34a;
+ --accent-400: #22c55e;
+ --accent-500: #4ade80;
+ --accent-600: #86efac;
+ --accent-700: #bbf7d0;
+ --accent-800: #dcfce7;
+ --accent-900: #f0fdf4;
+
+ /* Нейтральные цвета - темная тема */
+ --gray-50: #0f172a;
+ --gray-100: #1e293b;
+ --gray-200: #334155;
+ --gray-300: #475569;
+ --gray-400: #64748b;
+ --gray-500: #94a3b8;
+ --gray-600: #cbd5e1;
+ --gray-700: #e2e8f0;
+ --gray-800: #f1f5f9;
+ --gray-900: #f8fafc;
+
+ /* Семантические цвета - темная тема */
+ --success-50: #14532d;
+ --success-500: #4ade80;
+ --success-600: #86efac;
+
+ --warning-50: #713f12;
+ --warning-500: #facc15;
+ --warning-600: #fde047;
+
+ --error-50: #7f1d1d;
+ --error-500: #f87171;
+ --error-600: #fca5a5;
+
+ --info-50: #1e3a8a;
+ --info-500: #60a5fa;
+ --info-600: #93c5fd;
+
+ /* Фоновые цвета - темная тема */
+ --bg-primary: #0f172a;
+ --bg-secondary: #1e293b;
+ --bg-tertiary: #334155;
+
+ /* Текстовые цвета - темная тема */
+ --text-primary: #f8fafc;
+ --text-secondary: #e2e8f0;
+ --text-tertiary: #cbd5e1;
+ --text-inverse: #0f172a;
+
+ /* Границы - темная тема */
+ --border-light: #334155;
+ --border-medium: #475569;
+ --border-dark: #64748b;
+
+ /* Тени - темная тема */
+ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3),
+ 0 2px 4px -2px rgb(0 0 0 / 0.3);
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.3),
+ 0 4px 6px -4px rgb(0 0 0 / 0.3);
+ }
+
+ /* Градиенты для hero-секции */
+ --hero-gradient: linear-gradient(
+ 135deg,
+ var(--primary-500) 0%,
+ var(--primary-700) 100%
+ );
+ --hero-pattern: url('data:image/svg+xml,');
+
+ /* Темная тема */
+ &[data-theme="dark"] {
+ --hero-gradient: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
+ --hero-pattern: url('data:image/svg+xml,');
+ }
+}
diff --git a/main_dc/yalarba/easySite/easySite/app/components/layout/Footer.vue b/main_dc/yalarba/easySite/easySite/app/components/layout/Footer.vue
index 3652b3c..df40c10 100644
--- a/main_dc/yalarba/easySite/easySite/app/components/layout/Footer.vue
+++ b/main_dc/yalarba/easySite/easySite/app/components/layout/Footer.vue
@@ -118,9 +118,11 @@