This commit is contained in:
Бахирев 2024-04-09 01:24:39 +03:00
parent b3bd463d84
commit 1f96d750b8
56 changed files with 105 additions and 114 deletions

37
LICENSE Normal file
View file

@ -0,0 +1,37 @@
Copyright (c) Aleksei Bakhirev <alexey-bakhirev@yandex.ru>
-- EN
The purpose of this license is to protect the copyrights and limit the use of the Software .
Terms of the license:
01. The copyright holder grants the user the non-exclusive right to use the Software for personal, non-commercial or educational purposes.
02. The user is not allowed to modify, distribute, sublicense, translate, create derivative works based on the Software without the prior written consent of the Copyright Holder.
03. When using the Software, the user must include the name of the author and a link to the license.
04. If the Software is modified, the user should notify the Copyright Holder and obtain their permission for the changes.
05. This license cannot be transferred to another person or organization without the prior written permission of the Copyright Holder.
06. This license does not grant the user ownership rights to the Software.
07. All rights not granted under this license are reserved by the Copyright Holder.
08. If the user violates the terms of this license, the Copyright Holder has the right to require the termination of use of the protected work, removal of the protected work from any media, as well as compensation for damages.
09. The author assumes no responsibility for any damage, including direct, indirect, incidental, special or other damage, resulting from the use or inability to use the software.
10. The author also does not warrant that the software will run without interruptions, errors or other problems, and reserves the right to modify or update the software at any time without prior notice.
11. Additionally, the author does not warrant the softwares conformity to any specific purpose or requirement, and the use of the software is at the users own risk.
12. All these terms and conditions are part of the license agreement that the user accepts when using the software.
-- RU
Эта лицензия предназначена для обеспечения защиты авторских прав и ограничения использования защищенного произведения.
Условия лицензии:
01. Правообладатель предоставляет пользователю неисключительное право на использование защищенного произведения для личных, некоммерческих или образовательных целей.
02. Пользователь не имеет права изменять, распространять, сублицензировать, переводить, создавать производные произведения на основе защищенного произведения без предварительного письменного согласия Правообладателя.
03. При использовании защищенного произведения пользователь обязан указывать имя автора и ссылку на лицензию.
04. В случае внесения изменений в защищенное произведение, пользователь должен уведомить об этом Правообладателя и получить его разрешение на внесение изменений.
05. Эта лицензия не может быть передана другому лицу или организации без предварительного письменного разрешения Правообладателя.
06. Данная лицензия не предоставляет пользователю права собственности на защищенное произведение.
07. Все права, не предоставленные в рамках этой лицензии, сохраняются за Правообладателем.
08. Если пользователь нарушает условия данной лицензии, Правообладатель имеет право потребовать прекращения использования защищенного произведения, удаления защищенного произведения с любых носителей, а также возмещение ущерба.
09. Автор не несет ответственности за любой ущерб, включая прямой, косвенный, случайный, специальный или другой, возникший в результате использования или невозможности использования программного обеспечения.
10. Автор также не гарантирует, что программное обеспечение будет работать без сбоев, ошибок или других проблем, и оставляет за собой право изменять или обновлять программное обеспечение в любое время без предварительного уведомления.
11. Кроме того, автор не гарантирует соответствие программного обеспечения каким-либо конкретным целям или требованиям, и использование программного обеспечения осуществляется пользователем на свой страх и риск.
12. Все эти условия и ограничения являются частью лицензионного соглашения, которое пользователь принимает при использовании программного обеспечения.

View file

@ -11,23 +11,23 @@
# [Assayo](https://assayo.online/?ref=github&lang=en)
Visualization and analysis of your git repository data ([demo](https://assayo.online/demo/?ref=github&lang=en&dump=./test.txt)).
📈 Visualization and analysis of your git repository data ([demo](https://assayo.online/demo/?ref=github&lang=en&dump=./test.txt)).
##### Employee can evaluate new workplace
##### 👨‍💻 Employee can evaluate new workplace
- work speed;
- number of extra hours worked;
- areas of competence;
- volume of features and bugs;
- working style of colleagues;
##### Teamlead can evaluate employees
##### ‍👨‍💼 Team lead can evaluate employees
- identify slackers;
- estimate the amount of code;
- learn the work speed;
- notice behavioral anomalies;
- see the dynamics of work by week;
##### Founder can evaluate product
##### 👑 Founder can evaluate product
- product cost;
- cost of features;
- development time;
@ -62,14 +62,14 @@ Visualization and analysis of your git repository data ([demo](https://assayo.on
- [Contacts](#link-25)
<a name="link-1"></a>
### How to quickly view the number of commits?
### 📊 How to quickly view the number of commits?
In the root directory of your project, run:
```
git shortlog -s -n -e
```
<a name="link-2"></a>
### How to concat authors?
### ‍🎭 How to concat authors?
In the root directory of your project, you need to create a `.mailmap` file.
Example of the contents of the file:
```
@ -81,7 +81,7 @@ Alex B <alex@mail.uk> <man64@yahoo.com>
Read more about the format of this file you can [here](https://git-scm.com/docs/gitmailmap).
<a name="link-3"></a>
### How to export data from git?
### 💾 How to export data from git?
<a name="link-4"></a>
#### For online viewing
@ -99,7 +99,7 @@ This file contains data for show a report.
The difference between the online and offline format is the presence of a wrapper for strings. The offline format will be pulled up like a `js` file if you just opened `/build/index.html `
<a name="link-6"></a>
### How to view the report?
### 📉 How to view the report?
<a name="link-7"></a>
#### Online
- go to the [website](https://assayo.online/);
@ -115,27 +115,27 @@ The difference between the online and offline format is the presence of a wrappe
In this case, it is important that the `log.txt` file is generated by the command for offline viewing.
<a name="link-9"></a>
### How to rebuild the report build?
### 🛠️ How to rebuild the report build?
- download this repository
- run `npm install`
- run `npm run build`
- the new build will be in the `/build` folder
<a name="link-10"></a>
### How to view a report on a group of microservices?
### 🗃️ How to view a report on a group of microservices?
- generate for each microservice file `log.txt` (`log-1.txt`, `log-2.txt`, `log-3.txt` and etc.)
- see “How to view an online report?”. At the last step, drag all the files at once into the browser window.
- see “How to see a report offline?”. At the second step, drag all microservice files (`log-1.txt`, `log-2.txt`, `log-3.txt` and etc.) to the report folder (`/build`).
<a name="link-11"></a>
### How to brand the interface?
### 🎨 How to brand the interface?
You can create your own interface theme. Options:
- **Title**. You can set default document title in the URL parameter ```title```. Example: ```?title=You Company```
- **Visual theme**. To do this, you need to prepare a CSS file with new styles and specify its URL in the ```theme``` parameter. Example: ```?theme=//company.com/some.css```. You can use class names as selectors. Most of them do not change in new versions.
- **Language**. You can set language in the URL parameter ```lang```. Example: ```?lang=es```
<a name="link-12"></a>
### How to sign commits?
### 📝 How to sign commits?
Follow the [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Example:
```
JIRA-1234 feat(profile): Added avatar for user
@ -146,7 +146,7 @@ JIRA-1234 feat(profile): Added avatar for user
- what problem were solved `(Added avatar for user)`
<a name="link-13"></a>
### How to add checking for commit message?
### 👮 How to add checking for commit message?
<a name="link-14"></a>
#### Use file `commit-msg`
@ -173,7 +173,7 @@ fi
2. Run command `npm install pre-commit`
<a name="link-16"></a>
### How to automate data collection?
### 📚 How to automate data collection?
<a name="link-17"></a>
#### With backend
@ -188,7 +188,7 @@ fi
Every time you restart the computer, the script will update statistics on all the data that automatically merged into the main branch.
<a name="link-19"></a>
### DevOps (CI/CD)
### 🛠️ DevOps (CI/CD)
<a name="link-20"></a>
#### Public server
@ -219,7 +219,7 @@ By default, the image will run at ```http://127.0.0.1:80/```. If it doesn't work
- push image to [Docker Hub](https://hub.docker.com/r/bakhirev/assayo);
<a name="link-23"></a>
### Releases are planned approximately once every six months. Whats next:
### 📌 Releases are planned approximately once every six months. Whats next:
- more recommendations and achievements;
- annual/monthly summaries, report printing;
- localization and internationalization;
@ -228,12 +228,12 @@ By default, the image will run at ```http://127.0.0.1:80/```. If it doesn't work
- development of the backend, integration with other systems;
<a name="link-24"></a>
### How to add or edit a translation?
### 🈯 How to add or edit a translation?
You can add a new translation or correct an existing one in the ```ts/translations/``` folder.
[Instruction](https://github.com/firstcontributions/first-contributions)
<a name="link-25"></a>
### Feedback, suggestions, comments
### 📧 Feedback, suggestions, comments
- telegramm [@bakhirev](https://t.me/bakhirev) (priority method of communication)
- [alexey-bakhirev@yandex.ru](mailto:alexey-bakhirev@yandex.ru)
- website [https://assayo.online/](https://assayo.online/?ref=github&lang=en)

33
package-lock.json generated
View file

@ -11,6 +11,7 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"dotenv": "^16.4.5",
"http-proxy-middleware": "^2.0.6",
"i18next": "^23.9.0",
"mobx": "^6.7.0",
@ -7019,11 +7020,14 @@
}
},
"node_modules/dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
"version": "16.4.5",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
"integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
"engines": {
"node": ">=10"
"node": ">=12"
},
"funding": {
"url": "https://dotenvx.com"
}
},
"node_modules/dotenv-expand": {
@ -15137,6 +15141,14 @@
}
}
},
"node_modules/react-scripts/node_modules/dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
"engines": {
"node": ">=10"
}
},
"node_modules/react-testing-library": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/react-testing-library/-/react-testing-library-8.0.1.tgz",
@ -23412,9 +23424,9 @@
}
},
"dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="
"version": "16.4.5",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
"integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg=="
},
"dotenv-expand": {
"version": "5.1.0",
@ -29090,6 +29102,13 @@
"webpack-dev-server": "^4.6.0",
"webpack-manifest-plugin": "^4.0.2",
"workbox-webpack-plugin": "^6.4.1"
},
"dependencies": {
"dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="
}
}
},
"react-testing-library": {

View file

@ -22,8 +22,12 @@
"xlsx": "^0.18.5"
},
"scripts": {
"build-rename": "npm run build-rename-js && npm run build-rename-css",
"build-rename-js": "mv build/static/js/main.*.js build/static/index.js && rm -rf build/static/js",
"build-rename-css": "mv build/static/css/main.*.css build/static/index.css && rm -rf build/static/css",
"dev": "set PORT=3006 && react-app-rewired start",
"build": "react-scripts build",
"build": "react-scripts build && npm run build-rename",
"build-local": "set REACT_APP_TYPE=local && react-scripts build && npm run build-rename",
"test": "react-scripts test",
"eject": "react-scripts eject",
"js:check": "npx eslint \"src/**/*.{ts,tsx,js}\"",

View file

@ -47,19 +47,19 @@
<meta name="msapplication-tooltip" content="Simple and fast report on Git commit history.">
<meta property="og:title" content="Git Statistics">
<meta property="og:description" content="Simple and fast report on Git commit history.">
<meta property="og:image" content="http://assayo.jp/assets/seo/custom_icon_256.png">
<meta property="og:image" content="http://assayo.online/assets/seo/custom_icon_256.png">
<meta property="og:site_name" content="Assayo">
<meta property="og:url" content="http://assayo.jp/">
<meta property="og:url" content="http://assayo.online/">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Git Statistics">
<meta name="twitter:description" content="Simple and fast report on Git commit history.">
<meta name="twitter:creator" content="Bakhirev Aleksei">
<meta name="twitter:image:src" content="http://assayo.jp/assets/seo/custom_icon_256.png">
<meta name="twitter:domain" content="assayo.jp">
<meta name="twitter:site" content="assayo.jp">
<meta name="twitter:image:src" content="http://assayo.online/assets/seo/custom_icon_256.png">
<meta name="twitter:domain" content="assayo.online">
<meta name="twitter:site" content="assayo.online">
<meta itemprop="name" content="Git Statistics">
<meta itemprop="description" content="Simple and fast report on Git commit history.">
<meta itemprop="image" content="http://assayo.jp/assets/seo/custom_icon_256.png">
<meta itemprop="image" content="http://assayo.online/assets/seo/custom_icon_256.png">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

View file

@ -1,4 +0,0 @@
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 10C8.20914 10 10 8.20914 10 6C10 3.79086 8.20914 2 6 2C3.79086 2 2 3.79086 2 6C2 8.20914 3.79086 10 6 10Z" stroke="#12131B" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6 4V6L8 7" stroke="#12131B" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 375 B

View file

@ -1,5 +0,0 @@
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 8C7 8 8 7 8 6C8 5 7 4 6 4C5 4 4 5 4 6C4 7 5 8 6 8Z" stroke="#12131B" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1 6H3.5" stroke="#12131B" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8.5 6H11" stroke="#12131B" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 404 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48"><path d="M6 36v-3h12v3Zm0-10.5v-3h24v3ZM6 15v-3h36v3Z"/></svg>

Before

Width:  |  Height:  |  Size: 125 B

View file

@ -1,2 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 201 B

View file

@ -1,9 +0,0 @@
<svg width="301" height="112" viewBox="0 0 301 112" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M186.603 15.183s21.819-23.307 53.805-10.166c9.174 3.72 21.323 12.646 32.977 13.637 14.877 1.24 17.605 1.488 14.877 6.943-3.471 6.447-8.43 7.934-20.828 7.19-13.141-.991-23.307-5.95-23.307-5.95m-64.466-2.231s-2.976 11.901.495 21.572c3.224 9.422 10.414 10.661 18.845 17.356 14.629 11.902 19.588 15.373 27.026 22.068 4.959 4.215 14.877 23.555 19.34 24.547 7.439 1.735 6.199-5.951 6.199-5.951s4.959 9.67 11.902 5.951c1.735-.992.248-8.679.248-8.679s6.694 11.654 12.893 6.943c1.984-1.488.744-4.959-1.24-10.91-2.479-7.19-2.479-18.844-4.463-21.82-5.207-7.686-12.893-14.877-12.893-14.877s18.596 9.175 25.291 15.373c6.694 6.2 8.43 13.638 13.389 13.886 5.207.248 4.711-10.166-3.967-22.564-2.976-4.215-9.918-10.662-13.638-13.637-5.95-4.711-17.852-12.398-26.778-23.307m-56.286 3.223s19.836 12.15 41.408 1.736m-28.265 23.803s16.117-13.638 34.713-18.1"
stroke="#000" stroke-miterlimit="10" stroke-linejoin="round"/>
<path d="M251.318 103.949s-3.719-9.918-9.918-20.827c-2.975-5.455-8.926-7.687-14.877-11.406m36.944 29.506s-3.471-9.67-6.942-21.82c-.992-3.47-10.166-8.926-16.365-13.389m-125.959-50.83S92.381-8.124 60.396 5.017c-9.175 3.72-21.324 12.646-32.978 13.637-14.877 1.24-17.604 1.488-14.877 6.943 3.472 6.447 8.43 7.934 20.828 7.19 13.141-.991 23.307-5.95 23.307-5.95m64.716-2.231s2.975 11.901-.496 21.572c-3.224 9.422-10.414 10.661-18.845 17.356-14.629 11.902-23.555 16.117-30.993 22.563-4.96 4.216-12.398 21.076-16.86 22.068-7.44 1.736-6.944-2.727-6.944-2.727s-6.198 7.438-11.901 3.967c-.744-.496-.992-2.48-.744-4.215 0-2.232 6.943-26.531 6.943-26.531s-14.133 21.82-15.621 23.555c-2.48 2.976-6.447 6.199-10.414 3.224-1.984-1.488-1.736-5.455 1.24-10.91 4.463-7.935 6.694-13.638 10.662-19.836 5.207-7.687 15.62-14.133 15.62-14.133s-18.596 9.174-25.29 15.373c-6.695 6.198-8.43 13.637-13.39 13.885-5.207.248-4.71-10.166 3.967-22.564 2.976-4.215 9.918-10.662 13.638-13.637 5.95-4.711 17.852-12.398 26.778-23.307m56.285 3.471s-19.836 12.15-41.408 1.736m28.018 23.803S75.52 45.68 56.924 41.218"
stroke="#000" stroke-miterlimit="10" stroke-linejoin="round"/>
<path d="M47.503 105.189s2.727-11.405 9.918-23.307c3.223-5.207 6.447-6.447 12.397-10.166M41.8 78.41c.992-3.47 9.174-8.43 15.373-12.893"
stroke="#000" stroke-miterlimit="10" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66.5 66.5"><polygon points="65.2 65.04 39.86 1.47 37.69 1.47 27.52 1.47 25.65 1.47 0 65.04 13.35 65.04 32.54 14.9 51.31 65.04 65.2 65.04" fill="#4e5463"/></svg>

Before

Width:  |  Height:  |  Size: 264 B

View file

@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z" /></svg>

Before

Width:  |  Height:  |  Size: 171 B

View file

@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.12 10.47 12 12.59l-2.13-2.12-1.41 1.41L10.59 14l-2.12 2.12 1.41 1.41L12 15.41l2.12 2.12 1.41-1.41L13.41 14l2.12-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4zM6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9z" /></svg>

Before

Width:  |  Height:  |  Size: 326 B

View file

@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375.87 66.5"><defs><style>.cls-1{fill:#9fa5b3;}.cls-2{fill:#4e5463;}</style></defs><polygon class="cls-2" points="65.2 65.04 39.86 1.47 37.69 1.47 27.52 1.47 25.65 1.47 0 65.04 13.35 65.04 32.54 14.9 51.31 65.04 65.2 65.04"/><polygon class="cls-2" points="254.33 65.04 229 1.47 226.82 1.47 216.65 1.47 214.79 1.47 189.13 65.04 202.48 65.04 221.67 14.9 240.44 65.04 254.33 65.04"/><g><polygon class="cls-2" points="292.83 1.47 270.89 44.65 270.89 65.04 284.65 65.04 284.65 44.65 306.58 1.47 292.83 1.47"/><polygon class="cls-2" points="262.72 1.47 248.96 1.47 266.3 35.52 273.18 21.98 262.72 1.47"/></g><path class="cls-2" d="M341.45,.83c-19.01,0-34.42,14.51-34.42,32.42s15.41,32.42,34.42,32.42,34.42-14.52,34.42-32.42S360.46,.83,341.45,.83Zm0,52.49c-11.77,0-21.31-8.99-21.31-20.07s9.54-20.07,21.31-20.07,21.31,8.99,21.31,20.07-9.54,20.07-21.31,20.07Z"/><g><path class="cls-1" d="M140.56,31.7c.76,.59,1.58,1.12,2.45,1.62l9.45-8.76c-.11-.05-.23-.09-.33-.14-2.75-1.19-4.2-3.36-4.2-6.28s1.32-5.08,3.82-6.33c2.29-1.14,4.86-1.72,7.62-1.72,3.14,0,6.08,.75,8.74,2.22,2.25,1.25,4.11,2.71,5.55,4.35l8.97-7.94c-2.42-2.78-5.61-4.91-9.51-6.34-4.33-1.57-8.82-2.37-13.35-2.37-3.13,0-6.22,.4-9.19,1.19-2.91,.76-5.58,1.96-7.91,3.55-2.28,1.57-4.15,3.61-5.56,6.07-1.39,2.44-2.09,5.4-2.09,8.8,0,2.88,.51,5.31,1.5,7.21,1.01,1.94,2.37,3.57,4.04,4.87Z"/><path class="cls-2" d="M181.14,38.42c-1.18-2.07-2.74-3.83-4.64-5.21-1.92-1.41-4.1-2.56-6.49-3.43-2.44-.89-4.87-1.6-7.24-2.13-.27-.06-.52-.13-.78-.19l-9.9,9.17c.44,.11,.86,.24,1.3,.34,5.1,1.21,8.81,2.39,11.34,3.59,2.82,1.33,4.3,3.66,4.3,6.74,0,1.64-.37,3.06-1.11,4.21-.73,1.14-1.69,2.05-2.86,2.71-1.12,.63-2.35,1.1-3.67,1.39-1.28,.28-2.56,.42-3.8,.42-3.67,0-7.06-.81-10.08-2.41-2.63-1.41-4.86-3.15-6.63-5.21l-9.09,8.52c2.92,2.94,6.54,5.25,10.78,6.88,4.63,1.79,9.46,2.7,14.34,2.7,3.4,0,6.75-.38,9.96-1.12,3.16-.74,5.95-1.94,8.28-3.56,2.33-1.61,4.22-3.74,5.62-6.32,1.39-2.58,2.1-5.8,2.1-9.57,0-2.95-.59-5.47-1.75-7.52Z"/></g><g><path class="cls-2" d="M119.49,38.42c-1.18-2.07-2.74-3.83-4.64-5.21-1.92-1.41-4.1-2.56-6.49-3.43-2.44-.89-4.87-1.6-7.24-2.13-.27-.06-.52-.13-.78-.19l-9.9,9.17c.44,.11,.86,.24,1.3,.34,5.1,1.21,8.81,2.39,11.34,3.59,2.82,1.33,4.3,3.66,4.3,6.74,0,1.64-.37,3.06-1.11,4.21-.73,1.14-1.69,2.05-2.86,2.71-1.12,.63-2.35,1.1-3.67,1.39-1.28,.28-2.56,.42-3.8,.42-3.67,0-7.06-.81-10.08-2.41-2.63-1.41-4.86-3.15-6.63-5.21l-9.09,8.52c2.92,2.94,6.54,5.25,10.78,6.88,4.63,1.79,9.46,2.7,14.34,2.7,3.4,0,6.75-.38,9.96-1.12,3.16-.74,5.95-1.94,8.28-3.56,2.33-1.61,4.22-3.74,5.62-6.32,1.39-2.58,2.1-5.8,2.1-9.57,0-2.95-.59-5.47-1.75-7.52Z"/><path class="cls-1" d="M78.91,31.7c.76,.59,1.58,1.12,2.45,1.62l9.45-8.76c-.11-.05-.23-.09-.33-.14-2.75-1.19-4.2-3.36-4.2-6.28s1.32-5.08,3.82-6.33c2.29-1.14,4.86-1.72,7.62-1.72,3.14,0,6.08,.75,8.74,2.22,2.25,1.25,4.11,2.71,5.55,4.35l8.97-7.94c-2.42-2.78-5.61-4.91-9.51-6.34-4.33-1.57-8.82-2.37-13.35-2.37-3.13,0-6.22,.4-9.19,1.19-2.91,.76-5.58,1.96-7.91,3.55-2.28,1.57-4.15,3.61-5.56,6.07-1.39,2.44-2.09,5.4-2.09,8.8,0,2.88,.51,5.31,1.5,7.21,1.01,1.94,2.37,3.57,4.04,4.87Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -1,3 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path stroke="#84858D" d="M15.41 16.59 10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 198 B

View file

@ -1,3 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path stroke="#84858D" d="M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path>
</svg>

Before

Width:  |  Height:  |  Size: 188 B

View file

@ -1,6 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.5 4L7.5 15" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16.5 9C17.8807 9 19 7.88071 19 6.5C19 5.11929 17.8807 4 16.5 4C15.1193 4 14 5.11929 14 6.5C14 7.88071 15.1193 9 16.5 9Z" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7.5 20C8.88071 20 10 18.8807 10 17.5C10 16.1193 8.88071 15 7.5 15C6.11929 15 5 16.1193 5 17.5C5 18.8807 6.11929 20 7.5 20Z" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16.5 9.5C16.5 11.8869 16.1571 13.6761 14.6569 15.364C13.1566 17.0518 12.1217 18 10 18" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 835 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" fill="#84858D"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h280v80H200Zm440-160-55-58 102-102H360v-80h327L585-622l55-58 200 200-200 200Z"/></svg>

Before

Width:  |  Height:  |  Size: 273 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M12.89 11.1c-1.78-.59-2.64-.96-2.64-1.9 0-1.02 1.11-1.39 1.81-1.39 1.31 0 1.79.99 1.9 1.34l1.58-.67c-.15-.45-.82-1.92-2.54-2.24V5h-2v1.26c-2.48.56-2.49 2.86-2.49 2.96 0 2.27 2.25 2.91 3.35 3.31 1.58.56 2.28 1.07 2.28 2.03 0 1.13-1.05 1.61-1.98 1.61-1.82 0-2.34-1.87-2.4-2.09l-1.66.67c.63 2.19 2.28 2.78 2.9 2.96V19h2v-1.24c.4-.09 2.9-.59 2.9-3.22 0-1.39-.61-2.61-3.01-3.44zM3 21H1v-6h6v2H4.52c1.61 2.41 4.36 4 7.48 4 4.97 0 9-4.03 9-9h2c0 6.08-4.92 11-11 11-3.72 0-7.01-1.85-9-4.67V21zm-2-9C1 5.92 5.92 1 12 1c3.72 0 7.01 1.85 9 4.67V3h2v6h-6V7h2.48C17.87 4.59 15.12 3 12 3c-4.97 0-9 4.03-9 9H1z"></path></svg>

Before

Width:  |  Height:  |  Size: 694 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="m20.38 8.57-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44z"></path><path d="M10.59 15.41a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83z"></path></svg>

Before

Width:  |  Height:  |  Size: 343 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="48" viewBox="0 -960 960 960" width="48" fill="#84858D"><path d="M658-648v-132H302v132h-60v-192h476v192h-60Zm-518 60h680-680Zm599 95q12 0 21-9t9-21q0-12-9-21t-21-9q-12 0-21 9t-9 21q0 12 9 21t21 9Zm-81 313v-192H302v192h356Zm60 60H242v-176H80v-246q0-45.05 30.5-75.525Q141-648 186-648h588q45.05 0 75.525 30.475Q880-587.05 880-542v246H718v176Zm102-236v-186.215Q820-562 806.775-575 793.55-588 774-588H186q-19.55 0-32.775 13.225Q140-561.55 140-542v186h102v-76h476v76h102Z"/></svg>

Before

Width:  |  Height:  |  Size: 521 B

View file

@ -1,6 +0,0 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.9001 20C18.2809 20 19.4001 18.8807 19.4001 17.5C19.4001 16.1193 18.2809 15 16.9001 15C15.5194 15 14.4001 16.1193 14.4001 17.5C14.4001 18.8807 15.5194 20 16.9001 20Z" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7.5 9C8.88071 9 10 7.88071 10 6.5C10 5.11929 8.88071 4 7.5 4C6.11929 4 5 5.11929 5 6.5C5 7.88071 6.11929 9 7.5 9Z" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M13.0001 7H15.4001C15.8245 7 16.2315 7.1873 16.5315 7.5207C16.8316 7.8541 17.0001 8.30628 17.0001 8.77778V15" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7.5 9V20" stroke="#84858D" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 892 B

View file

@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 22" fill="#84858D">
<path d="M11 9a3 3 0 0 0-2.822 2.02L7 11.014A3.02 3.02 0 0 1 4 8V6.816a3 3 0 1 0-2 0v8.368a3 3 0 1 0 2 0v-3.2a4.962 4.962 0 0 0 3 1.03l1.2.006A2.995 2.995 0 1 0 11 9Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 254 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"></path></svg>

Before

Width:  |  Height:  |  Size: 218 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" fill="#84858D"><path d="M240-40q-33 0-56.5-23.5T160-120v-440q0-33 23.5-56.5T240-640h120v80H240v440h480v-440H600v-80h120q33 0 56.5 23.5T800-560v440q0 33-23.5 56.5T720-40H240Zm200-280v-447l-64 64-56-57 160-160 160 160-56 57-64-64v447h-80Z"/></svg>

Before

Width:  |  Height:  |  Size: 333 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M19 5v2h-4V5h4M9 5v6H5V5h4m10 8v6h-4v-6h4M9 17v2H5v-2h4M21 3h-8v6h8V3zM11 3H3v10h8V3zm10 8h-8v10h8V11zm-10 4H3v6h8v-6z"></path></svg>

Before

Width:  |  Height:  |  Size: 217 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V10h16v11zm0-13H4V5h16v3z"></path></svg>

Before

Width:  |  Height:  |  Size: 225 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V9h14v10zM5 7V5h14v2H5zm2 4h10v2H7zm0 4h7v2H7z"></path></svg>

Before

Width:  |  Height:  |  Size: 246 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm-2 0C14.5 6.47 12.03 4 9 4S3.5 6.47 3.5 9.5c0 2.47 1.49 3.89 2.35 4.5h6.3c.86-.61 2.35-2.03 2.35-4.5zm6.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z"></path></svg>

Before

Width:  |  Height:  |  Size: 488 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="m9.17 6 2 2H20v10H4V6h5.17M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"></path></svg>

Before

Width:  |  Height:  |  Size: 216 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M7.02 13c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM13 13v8h8v-8h-8zm6 6h-4v-4h4v4zM7 2l-5 9h10L7 2zm0 4.12L8.6 9H5.4L7 6.12zM19.25 2.5c-1.06 0-1.81.56-2.25 1.17-.44-.61-1.19-1.17-2.25-1.17C13.19 2.5 12 3.78 12 5.25c0 2 2.42 3.42 5 5.75 2.58-2.33 5-3.75 5-5.75 0-1.47-1.19-2.75-2.75-2.75zM17 8.35c-1.45-1.22-3-2.4-3-3.1 0-.43.35-.75.75-.75.31 0 .52.17.73.37L17 6.3l1.52-1.43c.21-.2.42-.37.73-.37.4 0 .75.32.75.75 0 .7-1.55 1.88-3 3.1z"></path></svg>

Before

Width:  |  Height:  |  Size: 591 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"></path></svg>

Before

Width:  |  Height:  |  Size: 428 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="m12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7 1.62-4.33L19.12 17h-3.24z"></path></svg>

Before

Width:  |  Height:  |  Size: 394 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M16.67 13.13C18.04 14.06 19 15.32 19 17v3h4v-3c0-2.18-3.57-3.47-6.33-3.87zM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24C14.5 5.27 15 6.58 15 8s-.5 2.73-1.33 3.76c.42.14.86.24 1.33.24zm-6 0c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm0 7c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1z"></path></svg>

Before

Width:  |  Height:  |  Size: 499 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="m21.67 18.17-5.3-5.3h-.99l-2.54 2.54v.99l5.3 5.3c.39.39 1.02.39 1.41 0l2.12-2.12c.39-.38.39-1.02 0-1.41zm-2.83 1.42-4.24-4.24.71-.71 4.24 4.24-.71.71z"></path><path d="m17.34 10.19 1.41-1.41 2.12 2.12c1.17-1.17 1.17-3.07 0-4.24l-3.54-3.54-1.41 1.41V1.71l-.7-.71-3.54 3.54.71.71h2.83l-1.41 1.41 1.06 1.06-2.89 2.89-4.13-4.13V5.06L4.83 2.04 2 4.87 5.03 7.9h1.41l4.13 4.13-.85.85H7.6l-5.3 5.3c-.39.39-.39 1.02 0 1.41l2.12 2.12c.39.39 1.02.39 1.41 0l5.3-5.3v-2.12l5.15-5.15 1.06 1.05zm-7.98 5.15-4.24 4.24-.71-.71 4.24-4.24.71.71z"></path></svg>

Before

Width:  |  Height:  |  Size: 625 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z"/></svg>

Before

Width:  |  Height:  |  Size: 363 B

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#84858D"><path d="M16.67 13.13C18.04 14.06 19 15.32 19 17v3h4v-3c0-2.18-3.57-3.47-6.33-3.87zM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24C14.5 5.27 15 6.58 15 8s-.5 2.73-1.33 3.76c.42.14.86.24 1.33.24zm-6 0c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm0 7c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1z"></path></svg>

Before

Width:  |  Height:  |  Size: 499 B

View file

@ -35,8 +35,6 @@ function YearChart({
}: IYearChartProps): React.ReactElement | null {
const wrapper = useRef(null);
const [dayWidth, setDayWidth] = useState<number>(16);
const [monthNumber, setMonthNumber] = useState<number>(7);
console.log(monthNumber);
useEffect(() => {
if (!wrapper.current) return; // @ts-ignore
@ -46,7 +44,6 @@ function YearChart({
const width = getDayWidth(size.width, newMonthNumber);
setDayWidth(width);
setMonthNumber(newMonthNumber);
}, []);
if (!wordDays || !wordDays.length) return null;

View file

@ -1,7 +1,8 @@
import React from 'react';
import localization from 'ts/helpers/Localization';
import Description from 'ts/components/Description';
import CardForPrint from 'ts/components/Recommendations/components/CardForPrint';
function getFlatRecommendations(translations: any, list: any[] = []) {
if (!translations) return list;
@ -22,22 +23,20 @@ function getFlatRecommendations(translations: any, list: any[] = []) {
function DebugPage() {
const translations = localization.translations[localization.language];
const recommendations = getFlatRecommendations(translations.recommendations)
.map((item: any) => (
<div key={`${item.title}`}>
<Description
text={`
# ${localization.get(item.title)}
${localization.get(item.description)}
`}
.map((recommendation: any) => (
<CardForPrint
key={recommendation[1]}
recommendation={recommendation}
/>
</div>
));
console.dir(recommendations);
return (
<>
<section>
{recommendations}
</section>
</>
);
}

View file

@ -27,11 +27,10 @@ function WarningInfo() {
}
function Welcome() {
const canShowWarning = true;
const command = 'git --no-pager log --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%cN>%cE>%s" > log.txt\n';
return (
<>
{canShowWarning && (<WarningInfo />)}
{process.env.REACT_APP_TYPE !== 'local' && (<WarningInfo />)}
<section className={style.welcome}>
<div className={style.welcome_row}>
<h2 className={style.welcome_first_title}>