my commit

This commit is contained in:
2025-03-29 11:06:32 +03:00
commit f273b64e89
27 changed files with 18853 additions and 0 deletions

0
src/App.css Normal file
View File

17
src/App.js Normal file
View File

@@ -0,0 +1,17 @@
import React from 'react';
import Header from './components/Header/Header';
import './App.css';
function App() {
return (
<div className="App">
<Header />
<main>
<h1>Добро пожаловать в SkinCare Advisor!</h1>
</main>
</div>
);
}
export default App;

8
src/App.test.js Normal file
View File

@@ -0,0 +1,8 @@
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});

View File

@@ -0,0 +1,44 @@
.navigation ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
}
.navigation li {
margin-right: 20px; /* Расстояние между элементами меню */
}
.navigation a {
text-decoration: none;
color: #333; /* Цвет ссылок */
font-weight: bold;
}
.navigation a:hover {
color: #515151; /* Цвет при наведении */
}
.header {
background-color: #f8f9fa; /* Светлый фон шапки */
padding: 10px 20px;
display: flex;
align-items: center;
justify-content: space-between; /* Распределяем элементы по краям */
border-bottom: 1px solid #dee2e6; /* Тонкая линия снизу */
}
.search-button {
background-color: #121212;
color: white;
border: none;
padding: 8px 16px;
border-radius: 5px;
cursor: pointer;
}
.search-button:hover {
background-color: #2e2e2e;
}

View File

@@ -0,0 +1,17 @@
import React from 'react';
import Logo from './Logo';
import Navigation from './Navigation';
import SearchButton from './SearchButton';
import './Header.css';
function Header() {
return (
<header className="header">
<Logo />
<Navigation />
<SearchButton />
</header>
);
}
export default Header;

View File

@@ -0,0 +1,14 @@
.logo {
display: flex; /* для гибкого распложения элементов */
align-items: center; /* по центру и вертикали */
}
.logo-image {
height: 80px; /* высота */
margin-right: 10px; /* отступ справа */
}
.logo-text {
font-weight: bold; /* шрифт жирн */
font-size: 1.2em;
}

View File

@@ -0,0 +1,14 @@
import React from "react";
import logo from "../../img/logo.svg";
import "./Logo.css";
function Logo() {
return (
<div className="logo">
<img src={logo} alt="Logo" className="logo-image" />
<span className="logo-text">SkinCare Advisor</span>
</div>
);
}
export default Logo;

View File

@@ -0,0 +1,18 @@
import React from 'react';
function Navigation() {
return (
<nav className="navigation">
<ul>
<li><a href="/">Помощь</a></li>
<li><a href="/contacts">Контакты</a></li>
<li><a href="/search">Поиск</a></li>
<li><a href="/skin-types">Типы кожи</a></li>
<li><a href="/reviews">Отзывы</a></li>
<li><a href="/auth">Вход/Регистрация</a></li>
</ul>
</nav>
);
}
export default Navigation;

View File

@@ -0,0 +1,9 @@
import React from 'react';
function SearchButton() {
return (
<button className="search-button">Поиск</button>
);
}
export default SearchButton;

191
src/img/logo.svg Normal file
View File

@@ -0,0 +1,191 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.5.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1000 1000" style="enable-background:new 0 0 1000 1000;" xml:space="preserve">
<g id="bg">
<rect style="fill:#FFFFFF;" width="1000" height="1000"/>
</g>
<g id="logo">
<g>
<g>
<path d="M500.013,315.878c33.699,19.284,59.502,60.881,69.892,109.532c3.641-3.719,7.398-7.284,11.232-10.62
c-12.69-50.568-41.29-93.276-78.018-112.521l-3.106-1.649l-3.104,1.649c-36.728,19.246-65.367,61.992-78.018,112.56
c3.834,3.336,7.591,6.901,11.234,10.62C440.475,376.798,466.276,335.162,500.013,315.878z"/>
<path d="M536.857,406.586c0.614,1.763,1.226,3.527,1.763,5.29c0.268,0.805,0.498,1.61,0.768,2.416
c1.494,4.907,2.836,9.929,3.948,15.067c0.268,1.265,0.575,2.568,0.805,3.834c0.191,0.958,0.384,1.917,0.575,2.875l0.691,4.141
c0.268,1.495,0.498,2.99,0.691,4.485c0.382,2.76,0.728,5.482,0.996,8.281c3.643-5.213,7.477-10.236,11.501-15.028
c-7.514-45.546-29.328-85.801-58.581-106.196c-29.251,20.395-51.065,60.65-58.579,106.196c4.027,4.792,7.86,9.815,11.501,15.067
c0.805-8.242,2.11-16.37,3.911-24.268c0.23-1.073,0.46-2.108,0.728-3.181c0.307-1.265,0.614-2.53,0.958-3.795
c1.84-7.016,4.027-13.802,6.595-20.358c0.535-1.342,1.073-2.684,1.61-3.987c0.537-1.303,1.112-2.607,1.687-3.911
c1.226-2.722,2.492-5.367,3.834-7.974c0.575-1.112,1.149-2.224,1.763-3.297c0.651-1.189,1.303-2.377,1.994-3.565
c0.691-1.189,1.38-2.339,2.108-3.488c0.691-1.15,1.419-2.262,2.147-3.374c5.867-8.895,12.499-16.676,19.744-23.041
c10.315,9.047,19.362,20.932,26.722,34.773c1.073,1.994,2.11,4.063,3.106,6.133c2.147,4.448,4.102,9.048,5.865,13.802
C536.089,404.516,536.473,405.551,536.857,406.586z"/>
<path d="M534.633,472.604c0-40.6-13.304-80.164-34.62-104.816c-21.314,24.652-34.618,64.216-34.618,104.816v0.69
c14.914,27.45,22.889,56.702,23.77,84.574c3.334,5.022,6.939,9.661,10.848,13.839c3.873-4.178,7.477-8.779,10.813-13.763v-0.038
c0.882-27.833,8.894-57.201,23.808-84.689V472.604z M500.013,549.931c-13.456-20.55-21.2-48.345-21.2-77.327
c0-29.904,7.898-59.769,21.2-81.89c13.304,22.121,21.202,51.986,21.202,81.89C521.215,501.587,513.47,529.382,500.013,549.931z"
/>
<path d="M492.231,472.604c0,16.37,2.722,32.549,7.782,46.887c5.062-14.338,7.784-30.517,7.784-46.887
c0-17.023-2.722-34.082-7.784-49.456C494.953,438.522,492.231,455.581,492.231,472.604z"/>
<path d="M457.804,605.023c-0.345,0.958-0.728,1.917-1.149,2.875c-0.346,0.882-0.73,1.802-1.151,2.684
c-0.421,0.958-0.842,1.878-1.303,2.799c-40.829-2.722-82.887-32.434-108.842-77.366
c-26.683-46.197-32.664-101.672-15.566-138.132c1.266,0.115,2.531,0.23,3.757,0.421c1.228,0.154,2.454,0.345,3.643,0.537
c3.948,0.69,7.935,1.61,11.885,2.837c1.226,0.345,2.415,0.728,3.641,1.15c1.074,0.345,2.147,0.728,3.222,1.149
c1.494,0.537,3.029,1.15,4.523,1.763c1.228,0.537,2.454,1.074,3.72,1.649c1.112,0.498,2.224,0.997,3.336,1.572
c0.842,0.384,1.687,0.806,2.529,1.266c1.151,0.575,2.34,1.227,3.489,1.878c1.496,0.805,2.952,1.648,4.409,2.53
c0.154,0.077,0.307,0.154,0.461,0.269c1.496,0.882,2.99,1.802,4.448,2.76c0.382,0.269,0.805,0.536,1.187,0.767
c1.612,1.074,3.145,2.147,4.717,3.259c1.724,1.227,3.45,2.492,5.174,3.834c2.033,1.572,4.064,3.22,6.058,4.946
c1.265,1.035,2.492,2.108,3.72,3.22c1.724,1.534,3.45,3.144,5.137,4.755c1.419,1.38,2.838,2.759,4.217,4.217l0.537,0.536
c0.575-4.983,1.38-9.929,2.299-14.798c-8.51-8.089-17.52-15.182-26.837-21.163c-1.417-0.92-2.875-1.802-4.292-2.684
c-2.684-1.611-5.369-3.144-8.051-4.524c-1.112-0.576-2.224-1.15-3.336-1.688c-9.699-4.831-19.553-8.357-29.291-10.504
c-1.61-0.344-3.22-0.651-4.83-0.92c-0.767-0.152-1.533-0.269-2.301-0.383c-0.766-0.115-1.533-0.23-2.301-0.307
c-0.996-0.154-1.994-0.269-2.952-0.345c-1.456-0.152-2.913-0.229-4.369-0.306c-1.612-0.077-3.145-0.115-4.715-0.115
c-23.233,39.833-18.403,103.628,12.23,156.61c29.789,51.603,79.128,84.076,126.476,83.654c2.11-3.565,3.987-7.284,5.674-11.156
C463.822,611.579,460.756,608.397,457.804,605.023z"/>
<path d="M477.01,570.595c0.116-2.185,0.154-4.409,0.193-6.67v-0.691c0-1.802-0.039-3.604-0.114-5.405
c-0.039-1.611-0.116-3.182-0.23-4.792c-0.46-6.939-1.419-13.955-2.799-21.047c-0.23-1.074-0.423-2.109-0.653-3.182
c-1.533-7.054-3.527-14.146-6.018-21.239c-0.652-1.879-1.342-3.757-2.07-5.636c-1.342-3.488-2.799-6.938-4.371-10.428
c-0.498-1.15-1.035-2.261-1.571-3.373c-2.224-4.639-4.639-9.24-7.246-13.764c-0.039-0.077-0.114-0.192-0.154-0.269
c-2.185-3.795-4.485-7.476-6.9-11.041c-0.768-1.189-1.573-2.377-2.417-3.566c-1.073-1.572-2.185-3.105-3.334-4.639
c-0.346-0.46-0.691-0.92-1.035-1.38c-0.652-0.882-1.305-1.726-1.994-2.568c-2.838-3.681-5.751-7.208-8.819-10.582
c-0.805,5.521-1.417,11.08-1.763,16.716c2.34,2.952,4.601,6.019,6.786,9.125c1.074,1.456,2.07,2.952,3.068,4.485
c1.035,1.533,2.031,3.143,3.029,4.754c1.033,1.648,2.031,3.335,3.029,5.022c1.571,2.684,3.027,5.405,4.409,8.127
c0.612,1.189,1.226,2.339,1.763,3.527c2.375,4.908,4.523,9.815,6.402,14.799c0.461,1.189,0.919,2.416,1.342,3.604
c0.345,0.958,0.651,1.878,0.958,2.799c0,0.037,0,0.076,0,0.076c1.265,5.598,2.799,11.08,4.599,16.409
c0.077,0.154,0.116,0.307,0.116,0.46c0.077,0.038,0.077,0.077,0.037,0.114c0.307,1.419,0.614,2.799,0.882,4.179
c0.27,1.419,0.537,2.799,0.767,4.179c0.614,3.488,1.073,6.977,1.419,10.428c0.114,1.227,0.228,2.492,0.307,3.719
c0.037,0.192,0.037,0.384,0.037,0.575c0.114,1.035,0.154,2.07,0.191,3.106c0.077,0.92,0.116,1.878,0.116,2.799
c0.114,3.528,0.077,7.016-0.077,10.466c-0.077,1.227-0.154,2.454-0.23,3.643c-0.191,2.415-0.421,4.83-0.767,7.207
c-0.191,1.381-0.421,2.722-0.651,4.102c-0.268,1.61-0.575,3.221-0.919,4.831c0,0,0.038,0.038,0,0.077
c1.61,1.955,3.143,3.795,4.753,5.635c0,0.038,0,0.038,0,0.038c1.649,1.84,3.259,3.642,4.946,5.405
c0.421-1.381,0.805-2.799,1.149-4.217c0.307-1.227,0.614-2.492,0.884-3.72c0.305-1.38,0.575-2.722,0.842-4.102
c0.27-1.342,0.498-2.722,0.728-4.102c0.307-2.185,0.575-4.37,0.805-6.632c0.154-1.189,0.27-2.377,0.346-3.565
C476.896,573.126,476.935,571.86,477.01,570.595z"/>
<path d="M337.5,411.225c-11.234,33.048-4.332,79.436,18.364,118.732c21.814,37.762,56.702,64.561,90.783,70.312
c0.805-2.147,1.496-4.333,2.147-6.556c-3.334-4.525-6.44-9.202-9.315-14.109c-0.154,1.073-0.346,2.109-0.537,3.144
c-0.191,1.035-0.421,2.07-0.651,3.106c-27.374-8.434-54.21-31.323-71.923-61.993c-18.364-31.782-25.839-68.778-20.281-97.762
c1.458,0.499,2.875,1.035,4.334,1.649c0.305,0.114,0.612,0.23,0.882,0.344c1.189,0.499,2.338,0.997,3.527,1.534
c1.724,0.805,3.413,1.648,5.099,2.53c1.189,0.614,2.338,1.265,3.527,1.955c0.307,0.115,0.575,0.307,0.842,0.46
c1.305,0.767,2.608,1.573,3.95,2.377c1.456,0.92,2.875,1.879,4.332,2.875c1.456,0.997,2.875,1.994,4.294,3.067
c0.077,0,0.114,0.077,0.191,0.115c1.38,1.035,2.722,2.108,4.064,3.182c1.419,1.111,2.799,2.3,4.178,3.488
c0.958,0.843,1.917,1.687,2.875,2.53c0.882,0.805,1.763,1.649,2.647,2.492c0.498,0.422,0.958,0.882,1.456,1.381
c1.226,1.189,2.452,2.416,3.641,3.68c0.193,0.154,0.346,0.345,0.537,0.537c0.958,0.997,1.917,2.032,2.838,3.105
c0.651,0.652,1.264,1.342,1.84,2.032c2.452,2.799,4.83,5.675,7.091,8.664c0.116,0.077,0.193,0.192,0.23,0.269
c0.958,1.304,1.917,2.607,2.875,3.911c0.193,0.23,0.384,0.46,0.498,0.69c-0.075-2.108-0.114-4.217-0.114-6.364
c0-4.37,0.114-8.703,0.384-13.035C390.559,434.228,363.378,416.362,337.5,411.225z"/>
<path d="M431.121,486.482c-1.879-3.258-3.871-6.44-5.942-9.546c0.191,10.16,1.112,20.089,2.645,29.75v0.038
c2.452,15.45,6.593,30.211,12.19,43.82l0.039,0.039c3.45,8.587,7.551,16.715,12.229,24.306
c0.996-10.543,0.575-21.622-1.226-32.932c0-0.039,0-0.077-0.039-0.154c-1.763-11.08-4.869-22.313-9.277-33.355
c0-0.038,0-0.038,0-0.038C438.788,500.974,435.222,493.613,431.121,486.482z"/>
<path d="M356.438,444.08c-0.384,23.348,6.9,50.3,20.434,73.725c13.111,22.696,31.743,40.983,51.603,50.99
c0.191-3.681,0.191-7.438-0.039-11.272c-6.746-15.833-11.578-33.124-14.261-51.257c-1.266-2.568-2.645-5.099-4.103-7.629
C396.579,475.211,376.873,455.39,356.438,444.08z M414.673,544.947c-10.427-8.932-19.897-20.395-27.297-33.2
c-7.668-13.341-13.265-27.948-16.254-42.287c10.927,9.776,20.779,21.891,28.446,35.232
C406.969,517.536,412.182,531.415,414.673,544.947z"/>
<path d="M677.404,385.462c-1.573,0-3.145,0.038-4.717,0.115c-1.456,0.077-2.913,0.154-4.369,0.306
c-2.608,0.23-5.253,0.614-7.898,1.074c-0.346,0.038-0.691,0.115-0.998,0.192c-0.498,0.077-0.996,0.153-1.533,0.307
c-0.882,0.152-1.801,0.344-2.682,0.536c-0.077,0.038-0.193,0.038-0.27,0.077c-1.456,0.307-2.875,0.69-4.294,1.074
c-2.452,0.651-4.867,1.381-7.321,2.223c-1.075,0.345-2.147,0.729-3.222,1.151c-5.444,1.993-10.887,4.408-16.254,7.207
c-1.419,0.728-2.838,1.495-4.255,2.301c-3.796,2.108-7.553,4.447-11.273,6.938c-0.728,0.46-1.417,0.958-2.145,1.457
c-1.265,0.843-2.531,1.763-3.757,2.683c-1.382,0.997-2.761,2.032-4.103,3.067c-2.836,2.185-5.597,4.485-8.319,6.863
c-0.996,0.882-1.994,1.763-2.99,2.684c-0.958,0.843-1.917,1.763-2.875,2.683c0.919,4.869,1.724,9.815,2.299,14.798
c0.154-0.191,0.307-0.344,0.537-0.536c1.38-1.457,2.799-2.837,4.218-4.217c1.61-1.534,3.22-3.067,4.869-4.525
c1.649-1.495,3.297-2.914,4.983-4.332c1.496-1.265,3.029-2.492,4.601-3.72c0.154-0.114,0.307-0.229,0.461-0.344
c1.724-1.342,3.411-2.607,5.176-3.834c1.264-0.92,2.568-1.802,3.871-2.684c0.537-0.345,1.035-0.69,1.572-1.035
c2.031-1.342,4.102-2.646,6.209-3.834c1.151-0.69,2.263-1.342,3.413-1.955c1.189-0.691,2.415-1.342,3.643-1.955
c0.842-0.46,1.687-0.882,2.529-1.266c1.112-0.575,2.224-1.074,3.336-1.572c1.265-0.575,2.492-1.112,3.72-1.649
c1.494-0.613,3.029-1.226,4.523-1.763c1.075-0.421,2.147-0.805,3.222-1.149c1.226-0.422,2.415-0.805,3.641-1.15
c3.95-1.227,7.937-2.147,11.885-2.837c1.189-0.192,2.415-0.384,3.643-0.537c1.226-0.191,2.492-0.306,3.757-0.421
c17.059,36.459,11.078,91.934-15.565,138.132c-25.955,44.932-68.05,74.644-108.879,77.366c-0.46-0.92-0.882-1.84-1.305-2.799
c-0.421-0.882-0.805-1.802-1.149-2.684c-0.421-0.958-0.805-1.917-1.151-2.875c-2.913,3.373-5.979,6.556-9.161,9.546
c1.647,3.872,3.564,7.591,5.674,11.156c47.348,0.422,96.687-32.051,126.476-83.654
C695.766,489.09,700.598,425.295,677.404,385.462z"/>
<path d="M537.662,589.612c-0.345-1.611-0.652-3.259-0.921-4.907c-0.268-1.342-0.459-2.683-0.651-4.064
c-0.077-0.536-0.154-1.112-0.191-1.687c-0.193-1.342-0.307-2.722-0.423-4.102c-0.152-1.687-0.268-3.373-0.344-5.061
c-0.191-3.45-0.191-6.938-0.077-10.466c0-0.882,0.039-1.802,0.116-2.722c0.037-1.112,0.077-2.224,0.191-3.335
c-0.037-0.038,0-0.115,0-0.192c0.114-1.419,0.23-2.837,0.384-4.256c0.307-3.335,0.768-6.709,1.38-10.082
c0.23-1.381,0.498-2.799,0.768-4.179c0.23-1.38,0.537-2.799,0.882-4.178c-0.039-0.077,0-0.115,0.037-0.154v-0.038v-0.038
c0-0.038,0.039-0.038,0.039-0.038c0.191-0.499,0.344-0.997,0.498-1.534c0.421-1.265,0.844-2.568,1.226-3.911
c0.691-2.3,1.342-4.639,1.917-7.015c0.346-1.342,0.651-2.683,0.958-4.064c0-0.077,0-0.154,0.039-0.192
c0.268-0.767,0.498-1.533,0.805-2.3c0.537-1.534,1.112-3.106,1.687-4.64c0.037-0.114,0.116-0.268,0.154-0.421
c0.421-1.074,0.882-2.186,1.342-3.259c0.766-1.994,1.647-4.025,2.568-6.018c0.614-1.381,1.265-2.761,1.917-4.141
c0.651-1.342,1.342-2.722,2.031-4.064c0.691-1.342,1.382-2.645,2.07-3.949c0.768-1.38,1.535-2.799,2.34-4.178
c0.996-1.725,1.992-3.413,3.029-5.061c1.11-1.802,2.261-3.565,3.411-5.329c0.844-1.264,1.687-2.53,2.568-3.794
c0.651-0.882,1.266-1.726,1.88-2.608c0.805-1.112,1.61-2.224,2.454-3.297c0.842-1.112,1.724-2.224,2.568-3.336
c-0.346-5.597-0.958-11.156-1.763-16.677c-4.141,4.601-8.091,9.432-11.848,14.493c-0.728,0.958-1.417,1.917-2.07,2.875
c-1.456,1.993-2.875,4.025-4.216,6.133c-1.151,1.725-2.263,3.451-3.375,5.252c-1.035,1.649-2.031,3.298-2.99,4.984v0.038
c-0.037,0.038-0.077,0.077-0.116,0.154c-0.037,0.038-0.037,0.077-0.075,0.115c-2.608,4.524-5.023,9.125-7.246,13.764
c-0.537,1.112-1.075,2.223-1.573,3.373c-1.571,3.45-3.029,6.939-4.371,10.428c-0.728,1.879-1.417,3.757-2.07,5.636
c-0.996,2.875-1.917,5.751-2.759,8.626c-0.575,1.994-1.149,3.987-1.649,5.981c-0.498,1.917-0.958,3.796-1.38,5.674
c-0.037,0.154-0.077,0.269-0.114,0.422c-1.765,7.936-2.915,15.871-3.489,23.654c-0.114,1.763-0.23,3.565-0.268,5.368
c-0.116,2.223-0.154,4.447-0.154,6.632c0,0.037,0,0.077,0,0.077c0.038,2.108,0.077,4.178,0.191,6.249
c0.037,0.958,0.077,1.879,0.154,2.799c0.154,2.415,0.384,4.754,0.651,7.093c0.191,1.495,0.384,2.99,0.614,4.485
c0.23,1.38,0.461,2.76,0.689,4.102c0.27,1.38,0.537,2.722,0.844,4.063c0.575,2.684,1.265,5.368,2.031,7.975
c1.689-1.763,3.336-3.565,4.946-5.444c1.61-1.84,3.182-3.719,4.755-5.674C537.662,589.612,537.662,589.612,537.662,589.612z"/>
<path d="M644.164,529.957c22.658-39.296,29.598-85.685,18.364-118.732c-25.839,5.099-53.059,23.003-74.605,48.306
c0.268,4.332,0.384,8.703,0.384,13.073c0,2.146-0.037,4.256-0.116,6.364c0.116-0.23,0.307-0.46,0.5-0.69
c0.958-1.304,1.917-2.607,2.875-3.911c0.038-0.077,0.114-0.192,0.23-0.269c2.261-2.989,4.639-5.865,7.091-8.664
c0.577-0.69,1.189-1.38,1.842-2.032c0.919-1.073,1.878-2.108,2.836-3.105c0.154-0.192,0.344-0.384,0.537-0.537
c1.189-1.264,2.415-2.492,3.641-3.68c0.461-0.499,0.958-0.958,1.458-1.381c0.958-0.958,1.992-1.917,2.99-2.799
c1.112-1.035,2.224-1.994,3.336-2.952c1.112-0.958,2.224-1.878,3.334-2.759c1.419-1.151,2.875-2.262,4.334-3.336
c1.38-1.074,2.799-2.07,4.218-3.029c1.456-0.997,2.875-1.955,4.369-2.875c1.305-0.805,2.608-1.61,3.911-2.377
c4.601-2.684,9.24-4.945,13.918-6.823c1.417-0.614,2.875-1.15,4.332-1.649c5.52,28.984-1.956,65.979-20.32,97.762
c-17.673,30.67-44.51,53.559-71.921,61.993c-0.346-1.457-0.614-2.914-0.882-4.371c-0.077-0.575-0.193-1.188-0.307-1.763v-0.115
c-2.875,4.907-5.942,9.623-9.277,14.109c0.651,2.223,1.342,4.408,2.147,6.556C587.462,594.519,622.35,567.72,644.164,529.957z"/>
<path d="M557.291,556.871c0.919-2.07,1.801-4.141,2.683-6.25c0-0.077,0-0.114,0.039-0.114
c5.635-13.648,9.738-28.409,12.19-43.898v-0.037c1.572-9.624,2.454-19.553,2.647-29.674c-2.07,3.106-4.064,6.326-5.943,9.585
c-4.102,7.131-7.668,14.492-10.62,21.93c0,0,0,0,0,0.038c-4.408,11.042-7.514,22.275-9.277,33.355
c-0.038,0.077-0.038,0.114-0.038,0.154c-1.803,11.31-2.224,22.389-1.228,32.932c1.074-1.725,2.108-3.488,3.106-5.29
c0.23-0.422,0.498-0.882,0.728-1.342c0.958-1.725,1.879-3.45,2.761-5.213C555.335,561.011,556.333,558.941,557.291,556.871z"/>
<path d="M585.891,506.111c-2.722,18.211-7.553,35.539-14.3,51.449c-0.039,0.038-0.039,0.038,0,0.077
c-0.039,0.038-0.039,0.077-0.039,0.077c-0.191,3.757-0.191,7.476,0,11.08c19.82-10.007,38.454-28.294,51.565-50.99
c13.532-23.425,20.856-50.377,20.434-73.725c-20.434,11.311-40.101,31.131-53.636,54.556c-1.419,2.453-2.759,4.945-4.025,7.437
C585.891,506.111,585.891,506.111,585.891,506.111z M600.422,504.692c7.705-13.342,17.559-25.456,28.446-35.232
c-2.952,14.338-8.549,28.945-16.256,42.287c-7.398,12.805-16.829,24.268-27.297,33.2
C587.846,531.415,593.022,517.536,600.422,504.692z"/>
</g>
<g>
<path d="M279.884,661.857h7.787c1.707,0,3.162,0.263,4.363,0.783c1.202,0.523,2.187,1.222,2.954,2.093
c0.766,0.87,1.314,1.873,1.646,3.003c0.331,1.133,0.496,2.309,0.496,3.529v1.358c0,1.01-0.079,1.865-0.235,2.562
c-0.157,0.697-0.393,1.307-0.706,1.827c-0.314,0.523-0.698,0.985-1.151,1.386c-0.453,0.401-0.975,0.776-1.567,1.123
c1.254,0.595,2.177,1.472,2.77,2.641c0.592,1.166,0.888,2.725,0.888,4.677v2.09c0,3.274-0.794,5.782-2.378,7.525
c-1.586,1.743-4.12,2.613-7.603,2.613h-7.265V661.857z M285.215,677.116h2.404c1.777,0,2.97-0.444,3.58-1.332
c0.609-0.888,0.915-2.184,0.915-3.894c0-1.671-0.341-2.924-1.019-3.761c-0.679-0.837-1.908-1.255-3.685-1.255h-2.195V677.116z
M285.215,693.736h2.299c1.079,0,1.925-0.156,2.535-0.469c0.609-0.314,1.071-0.75,1.384-1.307
c0.314-0.559,0.505-1.22,0.575-1.988c0.069-0.766,0.105-1.6,0.105-2.508c0-0.939-0.052-1.758-0.157-2.455
c-0.105-0.697-0.323-1.281-0.653-1.75c-0.332-0.472-0.794-0.827-1.386-1.072c-0.592-0.242-1.377-0.365-2.351-0.365h-2.351
V693.736z"/>
<path d="M317.825,661.857h15.887v5.017h-10.557v10.924h9.198v5.017h-9.198v10.922h10.557v5.331h-15.887V661.857z"/>
<path d="M358.745,661.857h4.441l8.31,37.21h-5.331l-1.568-7.995h-7.263l-1.568,7.995h-5.331L358.745,661.857z M360.992,672.572
h-0.105l-2.613,13.481h5.331L360.992,672.572z"/>
<path d="M407.032,690.704c0,1.22-0.227,2.353-0.68,3.396c-0.453,1.046-1.07,1.96-1.855,2.746
c-0.783,0.783-1.698,1.401-2.743,1.855c-1.045,0.452-2.161,0.679-3.345,0.679c-1.184,0-2.299-0.227-3.344-0.679
c-1.045-0.454-1.96-1.072-2.743-1.855c-0.785-0.786-1.404-1.699-1.855-2.746c-0.454-1.044-0.68-2.177-0.68-3.396v-28.847h5.331
v28.324c0,1.324,0.314,2.302,0.94,2.927c0.628,0.628,1.411,0.942,2.352,0.942c0.941,0,1.725-0.314,2.353-0.942
c0.626-0.625,0.94-1.602,0.94-2.927v-28.324h5.331V690.704z"/>
<path d="M431.227,666.874h-6.166v-5.017h17.664v5.017h-6.168v32.193h-5.331V666.874z"/>
<path d="M465.718,683.338l-7.316-21.481h5.644l4.284,14.79h0.105l4.286-14.79h5.644l-7.317,21.481v15.729h-5.331V683.338z"/>
<path d="M539.037,690.758c0,1.148-0.218,2.246-0.653,3.292c-0.436,1.046-1.037,1.96-1.803,2.743
c-0.767,0.783-1.664,1.411-2.691,1.881c-1.028,0.472-2.135,0.707-3.319,0.707c-1.012,0-2.039-0.14-3.084-0.419
c-1.045-0.278-1.986-0.758-2.822-1.437c-0.836-0.679-1.525-1.577-2.064-2.692c-0.54-1.115-0.81-2.526-0.81-4.233v-20.485
c0-1.22,0.209-2.353,0.628-3.396c0.419-1.046,1.01-1.952,1.776-2.718c0.767-0.766,1.682-1.368,2.744-1.804
c1.063-0.434,2.238-0.653,3.528-0.653c1.218,0,2.351,0.219,3.396,0.653c1.045,0.436,1.951,1.046,2.718,1.83
c0.766,0.783,1.366,1.725,1.803,2.822c0.435,1.097,0.653,2.291,0.653,3.58v2.09h-5.331v-1.776c0-1.046-0.296-1.952-0.888-2.718
c-0.593-0.766-1.395-1.151-2.404-1.151c-1.324,0-2.205,0.411-2.64,1.23c-0.436,0.819-0.653,1.855-0.653,3.108v19.023
c0,1.079,0.236,1.985,0.706,2.718c0.471,0.732,1.315,1.097,2.535,1.097c0.347,0,0.722-0.061,1.123-0.184
c0.401-0.12,0.767-0.322,1.099-0.6c0.33-0.278,0.601-0.661,0.809-1.151c0.209-0.487,0.314-1.097,0.314-1.83v-1.827h5.331V690.758
z"/>
<path d="M559.053,661.857h15.887v5.017h-10.557v10.924h9.198v5.017h-9.198v10.922h10.557v5.331h-15.887V661.857z"/>
<path d="M593.858,661.857h5.121l8.048,22.42h0.105v-22.42h5.331v37.21h-5.017l-8.153-22.366h-0.105v22.366h-5.331V661.857z"/>
<path d="M636.448,666.874h-6.166v-5.017h17.664v5.017h-6.167v32.193h-5.331V666.874z"/>
<path d="M665.975,661.857h15.887v5.017h-10.557v10.924h9.198v5.017h-9.198v10.922h10.557v5.331h-15.887V661.857z"/>
<path d="M700.989,661.857h8.571c6.271,0,9.406,3.641,9.406,10.924c0,2.159-0.339,4.014-1.018,5.565
c-0.68,1.549-1.874,2.794-3.58,3.736l5.748,16.984h-5.643l-4.964-15.887h-3.188v15.887h-5.331V661.857z M706.32,678.476h3.031
c0.94,0,1.689-0.13,2.247-0.393c0.556-0.26,0.984-0.635,1.28-1.123c0.296-0.487,0.498-1.09,0.602-1.804
c0.103-0.712,0.156-1.541,0.156-2.48c0-0.942-0.052-1.768-0.156-2.483c-0.105-0.715-0.323-1.324-0.653-1.83
c-0.332-0.505-0.794-0.88-1.386-1.123c-0.593-0.245-1.377-0.367-2.351-0.367h-2.77V678.476z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

13
src/index.css Normal file
View File

@@ -0,0 +1,13 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}

17
src/index.js Normal file
View File

@@ -0,0 +1,17 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

1
src/logo.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

13
src/reportWebVitals.js Normal file
View File

@@ -0,0 +1,13 @@
const reportWebVitals = onPerfEntry => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
getCLS(onPerfEntry);
getFID(onPerfEntry);
getFCP(onPerfEntry);
getLCP(onPerfEntry);
getTTFB(onPerfEntry);
});
}
};
export default reportWebVitals;

5
src/setupTests.js Normal file
View File

@@ -0,0 +1,5 @@
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom';

11
src/utils/greetings.js Normal file
View File

@@ -0,0 +1,11 @@
const greetings = [
"С Днем Рождения! Желаю счастья, здоровья и успехов во всех начинаниях!",
"Поздравляю! Пусть каждый день будет полон радости и улыбок!",
"С праздником! Желаю исполнения всех желаний и ярких впечатлений!",
"От всей души поздравляю! Пусть жизнь будет прекрасной!",
];
export function getRandomGreeting() {
const randomIndex = Math.floor(Math.random() * greetings.length);
return greetings[randomIndex];
}