@@ -4,120 +4,74 @@ const weatherFeelings = [
44 {
55 condition : ( t , h ) => t <= 0 ,
66 color : "#1a5276" ,
7- text : "Критичне переохолодження: ризик замерзання труб та пошкодження конструкцій будівлі. Перебування без спецзасобів небезпечне." ,
8- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
9- <circle cx="12" cy="12" r="10"></circle>
10- <line x1="12" y1="16" x2="12" y2="12"></line>
11- <line x1="12" y1="8" x2="12" y2="8"></line>
12- <path d="M12 2v20M5 9l14 6M5 15l14-6"></path>
13- </svg>` , // Сніжинка/мороз
7+ text : "Критичне переохолодження: ризик замерзання труб та пошкодження конструкцій будівлі." ,
8+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M5 9l14 6M5 15l14-6M2 12h20M12 2l2 2m-4 0l2-2M12 22l2-2m-4 0l2 2"/></svg>` , // Сніжинка
149 } ,
1510 {
1611 condition : ( t , h ) => t > 0 && t <= 5 ,
1712 color : "#21618c" ,
18- text : "Екстремальний холод: високий ризик гіпотермії. Організм витрачає всі ресурси на обігрів. Необхідне термінове опалення." ,
19- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
20- <path d="M20 10V8a2 2 0 0 0-2-2h-3.9a2 2 0 0 1-1.6-.8L10 2l-2.5 5.2a2 2 0 0 1-1.6.8H2a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2v4h4v-4h4v4h4v-4h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2z"></path>
21- <path d="M10 2h4"></path>
22- </svg>` , // Куртка/одяг
13+ text : "Екстремальний холод: високий ризик гіпотермії. Необхідне термінове опалення." ,
14+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 1 1 4 0Z"/><path d="M12 14v-4"/></svg>` , // Термометр низький
2315 } ,
2416 {
2517 condition : ( t , h ) => t > 5 && t <= 10 ,
2618 color : "#2874a6" ,
27- text : "Дуже холодно: небезпечно для людей похилого віку та дітей. Високий ризик конденсату та швидкого розвитку грибка." ,
28- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
29- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>
30- <path d="M12 6v6l4 2"></path>
31- </svg>` , // Годинник/час
19+ text : "Дуже холодно: небезпечно для людей похилого віку та дітей. Ризик конденсату." ,
20+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 9V2m0 20v-7m9-3h-7M2 12h7m1.5-6.5l2 2m3 3l2 2M6.5 17.5l2-2m3-3l2-2"/></svg>` , // Лід
3221 } ,
3322 {
3423 condition : ( t , h ) => t > 10 && t < 16 ,
3524 color : "#2e86c1" ,
36- text : "Сильний дискомфорт: організм не відновлюється під час сну. Необхідний інтенсивний обігрів та теплий багатошаровий одяг." ,
37- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
38- <circle cx="12" cy="12" r="10"></circle>
39- <line x1="12" y1="16" x2="12" y2="12"></line>
40- <line x1="12" y1="8" x2="12" y2="8"></line>
41- <path d="M12 2v20M5 9l14 6M5 15l14-6"></path>
42- </svg>` , // Термометр
25+ text : "Сильний дискомфорт: організм не відновлюється під час сну. Потрібен обігрів." ,
26+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s-8-4.5-8-11.8A8 8 0 0 1 12 2a8 8 0 0 1 8 8.2c0 7.3-8 11.8-8 11.8Z"/></svg>` , // Крапля холоду
4327 } ,
4428 {
4529 condition : ( t , h ) => t >= 16 && t < 18 ,
4630 color : "#5dade2" ,
47- text : "Гранична прохолода: допустима температура для міцного сну в теплій піжамі, але занизька для сидячої роботи." ,
48- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
49- <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path>
50- <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
51- </svg>` , // Змерзлі руки
31+ text : "Гранична прохолода: допустима для сну в теплому одязі, але занизька для роботи." ,
32+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><path d="M9 22V12h6v10"/></svg>` , // Будинок
5233 } ,
5334 {
5435 condition : ( t , h ) => t >= 18 && t <= 20 && h >= 40 && h <= 60 ,
5536 color : "#2ecc71" ,
56- text : "Здоровий мікроклімат: ідеально для сну та бадьорості. Слизові оболонки не пересихають." ,
57- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
58- <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
59- </svg>` , // Щит/захист
37+ text : "Здоровий мікроклімат: ідеально для сну та бадьорості. Слизові не пересихають." ,
38+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="m5 12 5 5L20 7"/></svg>` , // Галочка/ОК
6039 } ,
6140 {
6241 condition : ( t , h ) => t > 20 && t <= 23 && h >= 35 && h <= 55 ,
6342 color : "#27ae60" ,
64- text : "Оптимальний комфорт: стандартна температура для домашнього відпочинку в легкому одязі." ,
65- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
66- <circle cx="12" cy="12" r="10"></circle>
67- <path d="M8 14s1.5 2 4 2 4-2 4-2"></path>
68- <line x1="9" y1="9" x2="9.01" y2="9"></line>
69- <line x1="15" y1="9" x2="15.01" y2="9"></line>
70- </svg>` , // Смайлик
43+ text : "Оптимальний комфорт: стандартна температура для відпочинку в легкому одязі." ,
44+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01"/></svg>` , // Смайл
7145 } ,
7246 {
7347 condition : ( t , h ) => t > 18 && t <= 24 && h < 30 ,
7448 color : "#f39c12" ,
75- text : "Занадто сухо: подразнення очей та носоглотки. Рекомендовано увімкнути зволожувач." ,
76- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
77- <path d="M12 2a3 3 0 0 0-3 3v7c0 4.42 3.58 8 8 8h3V5c0-1.1-.9-2-2-2h-3a3 3 0 0 0-3-3z"></path>
78- <path d="M12 17a5 5 0 0 1-5-5V5a3 3 0 0 1 3-3h2"></path>
79- <line x1="12" y1="20" x2="12" y2="22"></line>
80- </svg>` , // Крапля (сухо)
49+ text : "Занадто сухо: подразнення носоглотки. Рекомендовано зволожувач." ,
50+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5L12 2 8.1 9.5C6.1 11.1 5 13 5 15a7 7 0 0 0 7 7Z"/><path d="m13 14-2 4m0-4 2 4" stroke-width="1.5"/></svg>` , // Перекреслена крапля
8151 } ,
8252 {
8353 condition : ( t , h ) => t >= 18 && t <= 24 && h > 65 ,
8454 color : "#9b59b6" ,
85- text : "Сирість: ризик появи плісняви на стінах та важкість дихання. Потрібне провітрювання." ,
86- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
87- <path d="M12 2a3 3 0 0 0-3 3v7c0 4.42 3.58 8 8 8h3V5c0-1.1-.9-2-2-2h-3a3 3 0 0 0-3-3z"></path>
88- <path d="M12 17a5 5 0 0 1-5-5V5a3 3 0 0 1 3-3h2"></path>
89- <line x1="12" y1="20" x2="12" y2="22"></line>
90- </svg>` , // Крапля (волого)
55+ text : "Сирість: ризик появи плісняви. Потрібне провітрювання." ,
56+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 12h2M2 12h2M12 2v2M12 20v2m4.9-14.9.7.7M6.4 16.6l.7.7m9.9 0 .7-.7M6.4 7.4l.7-.7"/></svg>` , // Вентилятор
9157 } ,
9258 {
9359 condition : ( t , h ) => t > 24 && t <= 27 && h <= 50 ,
9460 color : "#e67e22" ,
95- text : "Теплувато: працездатність починає падати, організм може відчувати легку втому." ,
96- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
97- <circle cx="12" cy="12" r="10"></circle>
98- <line x1="12" y1="16" x2="12" y2="12"></line>
99- <line x1="12" y1="8" x2="12" y2="8"></line>
100- <path d="M12 2v20M5 9l14 6M5 15l14-6"></path>
101- </svg>` , // Сонечко
61+ text : "Теплувато: працездатність падає, організм відчуває втому." ,
62+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><path d="M12 1v2m0 18v2M4.2 4.2l1.4 1.4m12.8 12.8 1.4 1.4M1 12h2m18 12h2M4.2 19.8l1.4-1.4m12.8-12.8 1.4-1.4"/></svg>` , // Сонце
10263 } ,
10364 {
10465 condition : ( t , h ) => t > 24 && t <= 28 && h > 55 ,
10566 color : "#d35400" ,
106- text : "Душно: поєднання тепла та вологи. Повітря здається 'важким', важко зосередитися." ,
107- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
108- <path d="M22 12h-4l-3 9L9 3l-3 9H2"></path>
109- </svg>` , // Блискавка
67+ text : "Душно: повітря здається 'важким', важко зосередитися." ,
68+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 12s3-4 3-4h14s3 4 3 4-3 4-3 4H5s-3-4-3-4Z"/><circle cx="12" cy="12" r="3"/></svg>` , // Важке повітря/око
11069 } ,
11170 {
11271 condition : ( t , h ) => t > 28 ,
11372 color : "#e74c3c" ,
114- text : "Спекотно: високе навантаження на серце. Необхідне активне охолодження (кондиціонер/вентилятор)." ,
115- svgIcon : `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
116- <circle cx="12" cy="12" r="10"></circle>
117- <line x1="12" y1="16" x2="12" y2="12"></line>
118- <line x1="12" y1="8" x2="12" y2="8"></line>
119- <path d="M12 2v20M5 9l14 6M5 15l14-6"></path>
120- </svg>` , // Сонце
73+ text : "Спекотно: високе навантаження на серце. Необхідне охолодження." ,
74+ svgIcon : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M12 2v20M2 12h20m-3.5-6.5-13 13m0-13 13 13" stroke="red"/></svg>` , // Небезпека/Спека
12175 } ,
12276] ;
12377
0 commit comments