Skip to content

Commit 656d18c

Browse files
committed
Refactor Header component styles and update navigation links for improved layout and accessibility
- Adjusted styles in Header.module.scss to reduce padding and font sizes for a more compact navbar. - Updated Header.tsx to replace reload navigation with direct links for better user experience and accessibility. - Enhanced dropdown and button styles for consistency and improved visual presentation.
1 parent bee5649 commit 656d18c

File tree

4 files changed

+140
-38
lines changed

4 files changed

+140
-38
lines changed

.cursor/rules/about-toastify.mdc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
description: result of button activation and any api operation
3+
alwaysApply: false
4+
---
5+
6+
use toast from ./src/shared/Utils/ToastModal as result of any operation
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
alwaysApply: true
3+
---
4+
5+
use yarn instead npm

src/Site/Site_Components/Layout/Header/Header.module.scss

Lines changed: 121 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,63 @@
88
border-color 0.3s ease,
99
box-shadow 0.3s ease;
1010
z-index: 1030;
11+
min-height: 0;
12+
/* Убираем минимальную высоту */
13+
padding: 0.15rem 0;
14+
/* Уменьшаем вертикальные отступы на 70% */
15+
16+
/* Уменьшаем высоту навбара Bootstrap */
17+
.navbar {
18+
min-height: 0;
19+
padding: 0;
20+
}
21+
22+
/* Уменьшаем отступы контейнера */
23+
.container {
24+
padding: 0.15rem 0;
25+
}
26+
27+
/* Уменьшаем высоту переключателя навбара */
28+
.navbar-toggler {
29+
padding: 0.15rem 0.3rem;
30+
min-height: 0;
31+
font-size: 0.5rem;
32+
}
1133

1234
.navbar-brand {
13-
font-size: 1.5rem;
35+
font-size: 0.75rem;
36+
/* Уменьшаем размер текста в 2 раза с 1.5rem */
1437
font-weight: 700;
1538
color: var(--site-text-primary) !important;
1639
text-shadow: var(--site-shadow-light);
1740
white-space: nowrap;
41+
min-height: 0;
42+
padding: 0.15rem 0.5rem;
43+
/* Уменьшаем отступы на 70% */
1844

1945
i {
20-
font-size: 1.8rem;
46+
font-size: 0.9rem;
47+
/* Уменьшаем размер иконки в 2 раза с 1.8rem */
2148
margin-right: 0.5rem;
2249
text-shadow: var(--site-shadow-light);
2350
}
2451
}
2552

2653
.navbar-nav {
2754
align-items: center;
55+
min-height: 0;
56+
padding: 0;
2857

2958
.nav-link {
3059
color: var(--site-text-primary) !important;
3160
font-weight: 500;
61+
font-size: 0.5rem;
62+
/* Уменьшаем размер текста в 2 раза */
3263
text-shadow: var(--site-shadow-light);
3364
transition: all 0.3s ease;
65+
padding: 0.15rem 0.5rem;
66+
/* Уменьшаем отступы на 70% */
67+
min-height: 0;
3468

3569
&:hover {
3670
color: var(--site-text-accent) !important;
@@ -42,6 +76,8 @@
4276

4377
.navbar-collapse {
4478
justify-content: space-between;
79+
min-height: 0;
80+
padding: 0;
4581
}
4682
}
4783

@@ -56,14 +92,18 @@
5692
position: relative;
5793
display: inline-block;
5894
margin-right: 1rem;
95+
min-height: 0;
5996
}
6097

6198
.dropdownButton {
6299
background: none;
63100
border: none;
64101
color: var(--site-text-primary) !important;
65102
font-weight: 500;
66-
padding: 0.5rem 1rem;
103+
font-size: 0.5rem;
104+
/* Уменьшаем размер текста в 2 раза */
105+
padding: 0.15rem 0.5rem;
106+
/* Уменьшаем отступы на 70% */
67107
text-shadow: var(--site-shadow-light);
68108
transition: all 0.3s ease;
69109
display: flex;
@@ -86,15 +126,18 @@
86126
box-shadow: var(--site-shadow-medium);
87127
border: 1px solid var(--site-border-primary);
88128
min-width: 200px;
89-
padding: 8px 0;
90-
margin-top: 8px;
129+
padding: 2.4px 0;
130+
/* Уменьшаем отступы на 70% */
131+
margin-top: 2.4px;
132+
/* Уменьшаем отступы на 70% */
91133
z-index: 1000;
92134
animation: dropdownFadeIn 0.3s ease;
93135
list-style: none;
94136
margin: 0;
95137
display: flex;
96138
flex-direction: column;
97-
gap: 2px;
139+
gap: 0.6px;
140+
/* Уменьшаем промежутки на 70% */
98141
white-space: nowrap;
99142
}
100143

@@ -104,14 +147,19 @@
104147
padding: 0;
105148
background: var(--site-bg-card) !important;
106149
border-radius: 8px;
107-
overflow: visible; /* Разрешаем поддропдаунам выходить за границы */
150+
overflow: visible;
151+
/* Разрешаем поддропдаунам выходить за границы */
152+
min-height: 0;
108153

109154
a {
110155
display: block;
111-
padding: 12px 20px;
156+
padding: 3.6px 6px;
157+
/* Уменьшаем отступы на 70% */
112158
color: var(--site-text-primary) !important;
113159
text-decoration: none;
114160
font-weight: 500;
161+
font-size: 0.5rem;
162+
/* Уменьшаем размер текста в 2 раза */
115163
transition: all 0.2s ease;
116164
text-shadow: var(--site-shadow-light);
117165
white-space: nowrap;
@@ -128,15 +176,19 @@
128176

129177
.subDropdownContainer {
130178
position: relative;
179+
min-height: 0;
131180
}
132181

133182
.subDropdownButton {
134183
width: 100%;
135184
background: none;
136185
border: none;
137-
padding: 12px 20px;
186+
padding: 3.6px 6px;
187+
/* Уменьшаем отступы на 70% */
138188
color: var(--site-text-primary) !important;
139189
font-weight: 500;
190+
font-size: 0.5rem;
191+
/* Уменьшаем размер текста в 2 раза */
140192
cursor: pointer;
141193
display: flex;
142194
align-items: center;
@@ -154,7 +206,8 @@
154206
}
155207

156208
i {
157-
font-size: 0.8rem;
209+
font-size: 0.4rem;
210+
/* Уменьшаем размер иконки в 2 раза */
158211
opacity: 0.8;
159212
transition: all 0.2s ease;
160213
}
@@ -175,31 +228,41 @@
175228
border: 1px solid var(--site-border-primary);
176229
min-width: 200px;
177230
max-width: 250px;
178-
padding: 8px 0;
231+
padding: 2.4px 0;
232+
/* Уменьшаем отступы на 70% */
179233
z-index: 1001;
180234
animation: subDropdownFadeIn 0.3s ease;
181235
list-style: none;
182236
margin: 0;
183237
display: flex;
184238
flex-direction: column;
185-
gap: 2px;
186-
white-space: normal; /* Разрешаем перенос текста */
187-
overflow: hidden; /* Скрываем текст, выходящий за границы */
239+
gap: 0.6px;
240+
/* Уменьшаем промежутки на 70% */
241+
white-space: normal;
242+
/* Разрешаем перенос текста */
243+
overflow: hidden;
244+
/* Скрываем текст, выходящий за границы */
188245
}
189246

190247
.subDropdownItem {
191248
display: block;
192-
padding: 10px 20px;
249+
padding: 3px 6px;
250+
/* Уменьшаем отступы на 70% */
193251
color: var(--site-text-primary) !important;
194252
text-decoration: none;
195253
font-weight: 500;
254+
font-size: 0.5rem;
255+
/* Уменьшаем размер текста в 2 раза */
196256
transition: all 0.2s ease;
197257
text-shadow: var(--site-shadow-light);
198-
white-space: normal; /* Разрешаем перенос текста */
258+
white-space: normal;
259+
/* Разрешаем перенос текста */
199260
border-radius: 8px;
200261
margin: 0 4px;
201-
overflow: hidden; /* Скрываем текст, выходящий за границы */
202-
text-overflow: ellipsis; /* Добавляем многоточие для длинного текста */
262+
overflow: hidden;
263+
/* Скрываем текст, выходящий за границы */
264+
text-overflow: ellipsis;
265+
/* Добавляем многоточие для длинного текста */
203266

204267
&:hover {
205268
background: var(--site-hover-bg);
@@ -216,6 +279,7 @@
216279
opacity: 0;
217280
transform: translateY(-10px);
218281
}
282+
219283
to {
220284
opacity: 1;
221285
transform: translateY(0);
@@ -227,6 +291,7 @@
227291
opacity: 0;
228292
transform: translateX(-10px);
229293
}
294+
230295
to {
231296
opacity: 1;
232297
transform: translateX(0);
@@ -239,42 +304,63 @@
239304
min-width: 160px;
240305
max-width: 200px;
241306
width: auto;
307+
padding: 1.68px 0;
308+
/* Уменьшаем отступы на 70% */
309+
gap: 0.42px;
310+
/* Уменьшаем промежутки на 70% */
242311
}
243312

244313
.subDropdownMenu {
245314
min-width: 160px;
246315
max-width: 200px;
247316
width: auto;
317+
padding: 1.68px 0;
318+
/* Уменьшаем отступы на 70% */
319+
gap: 0.42px;
320+
/* Уменьшаем промежутки на 70% */
248321
}
249322

250323
.dropdownButton {
251324
max-width: 150px;
252-
font-size: 0.9rem;
325+
font-size: 0.45rem;
326+
/* Уменьшаем размер текста в 2 раза */
253327
}
254328
}
255329

256330
@media (max-width: 576px) {
257331
.dropdownMenu {
258332
min-width: 140px;
259333
max-width: 180px;
334+
padding: 1.68px 0;
335+
/* Уменьшаем отступы на 70% */
336+
gap: 0.42px;
337+
/* Уменьшаем промежутки на 70% */
260338
}
261339

262340
.subDropdownMenu {
263341
min-width: 140px;
264342
max-width: 180px;
343+
padding: 1.68px 0;
344+
/* Уменьшаем отступы на 70% */
345+
gap: 0.42px;
346+
/* Уменьшаем промежутки на 70% */
265347
}
266348

267349
.dropdownButton {
268350
max-width: 120px;
269-
font-size: 0.85rem;
270-
padding: 0.4rem 0.8rem;
351+
font-size: 0.425rem;
352+
/* Уменьшаем размер текста в 2 раза */
353+
padding: 0.12rem 0.24rem;
354+
/* Уменьшаем отступы на 70% */
271355
}
272356

273357
.navbar-brand {
274-
font-size: 1.2rem;
358+
font-size: 0.6rem;
359+
/* Уменьшаем размер текста в 2 раза */
275360

276361
i {
277-
font-size: 1.4rem;
362+
font-size: 0.7rem;
363+
/* Уменьшаем размер иконки в 2 раза */
278364
}
279365
}
280366
}
@@ -303,7 +389,8 @@
303389
.dropdownButton i {
304390
margin-left: 4px;
305391
transition: transform 0.2s ease;
306-
font-size: 0.8rem;
392+
font-size: 0.4rem;
393+
/* Уменьшаем размер иконки в 2 раза */
307394
opacity: 0.8;
308395
}
309396

@@ -327,13 +414,15 @@
327414
// Предотвращение ломания колонок и переполнения
328415
.dropdownContainer {
329416
.dropdownMenu {
330-
overflow: visible; /* Разрешаем поддропдаунам выходить за границы */
417+
overflow: visible;
418+
/* Разрешаем поддропдаунам выходить за границы */
331419
word-wrap: break-word;
332420
word-break: keep-all;
333421
}
334422

335423
.subDropdownMenu {
336-
overflow: visible !important; /* Разрешаем поддропдаунам выходить за границы */
424+
overflow: visible !important;
425+
/* Разрешаем поддропдаунам выходить за границы */
337426
word-wrap: break-word;
338427
word-break: keep-all;
339428
}
@@ -358,13 +447,13 @@
358447
box-shadow: var(--site-shadow-medium);
359448
border: 1px solid var(--site-border-accent);
360449
}
361-
450+
362451
&:active {
363452
transform: translateY(0) scale(0.98);
364453
background-color: var(--site-bg-accent);
365454
color: var(--site-text-light) !important;
366455
}
367-
456+
368457
&:focus {
369458
outline: 2px solid var(--site-border-accent);
370459
outline-offset: 2px;
@@ -376,11 +465,11 @@
376465
i {
377466
transition: transform 0.3s ease;
378467
}
379-
468+
380469
&:hover i {
381470
transform: rotate(180deg);
382471
}
383-
472+
384473
&:active i {
385474
transform: rotate(360deg);
386475
}
@@ -391,8 +480,8 @@
391480
i {
392481
transition: transform 0.3s ease;
393482
}
394-
483+
395484
&:hover i {
396485
transform: scale(1.1);
397486
}
398-
}
487+
}

0 commit comments

Comments
 (0)