This commit is contained in:
merelendor 2023-08-29 15:33:52 +03:00
commit dd77ecdc66
47 changed files with 9243 additions and 12492 deletions

2
.gitignore vendored
View File

@ -33,3 +33,5 @@ yarn-error.log*
# vercel
.vercel
/uploads/*
/.vscode/

View File

@ -206,6 +206,7 @@ export const getContractAgreement = ({ dispatch, number, }) =>
redemptions: [],
agreements: [],
assignments: [],
act_pp: [],
},
};
@ -216,16 +217,10 @@ export const getContractAgreement = ({ dispatch, number, }) =>
redemptions: [],
agreements: [],
assignments: [],
act_pp: [],
},
};
//console.log("ACTION", "getContractAgreement", "-".repeat(30));
//console.log("ACTION", "getContractAgreement", "response.data", response.data);
//console.log("ACTION", "getContractAgreement", "-".repeat(30));
for(let i in response.data)
{
for(let d in response.data[i].documents)
@ -243,15 +238,6 @@ export const getContractAgreement = ({ dispatch, number, }) =>
}
}
//console.log("ACTION", "getContractAgreement", "-".repeat(30));
//console.log("ACTION", "getContractAgreement", "unsigned", unsigned);
//console.log("ACTION", "getContractAgreement", "signed", signed);
//console.log("ACTION", "getContractAgreement", "-".repeat(30));
dispatch({ type: actionTypes.CONTRACT_AGREEMENT, data: { agreement: { unsigned, signed } } });
resolve();

49
actions/dealsActions.js Normal file
View File

@ -0,0 +1,49 @@
import axios from 'axios';
import { Cookies } from 'react-cookie';
import Router from 'next/router';
import moment from 'moment';
import { nSQL } from "@nano-sql/core";
/*
/lk/ConsiderationOpportunity/quote
[{
"quote_number": "582189",
"price": 5490000,
"first_payment_perc": 30,
"first_payment_rub": 1647000,
"brand_name": "Volkswagen",
"model_name": "Touareg",
"object_count": 1,
}, {
"quote_number": "580008",
"price": 5341770,
"first_payment_perc": 30,
"first_payment_rub": 1647000,
"brand_name": "Volkswagen",
"model_name": "Touareg",
"object_count": 1,
}]
*/
export const getDeals = ({ dispatch }) =>
{
//console.log("ACTION", "support", "getAppeals()", `${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/support/appeals`);
return new Promise((resolve, reject) =>
{
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/deals/list`, {}, {
withCredentials: true,
})
.then((response) =>
{
//console.log("ACTION", "support", "getAppeals()", "response", response.data);
dispatch({ type: actionTypes.DEALS, data: {} });
resolve();
})
.catch((error) =>
{
console.error(error);
reject();
});
});
}

View File

@ -0,0 +1,45 @@
import axios from 'axios';
if(process.browser)
{
FormData.prototype.appendObject = function(obj, namespace)
{
let keyName;
for (var key in obj)
{
if (obj.hasOwnProperty(key))
{
keyName = [namespace, '[', key, ']'].join('');
this.append(keyName, obj[key]);
}
}
};
}
export const sendFeedback = (feedback) =>
{
//{ name, phone, email, company, recaptcha_token }
return new Promise((resolve, reject) =>
{
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/feedbacks/add`, feedback,
{
withCredentials: true,
})
.then((response) =>
{
if(response.data.status === "success")
{
resolve();
}
else
{
reject(response.data);
}
})
.catch((error) =>
{
console.error(error);
reject();
});
});
}

View File

@ -13,3 +13,4 @@ export * from './supportActions';
export * from './adminActions';
export * from './suggestsActions';
export * from './questionnaireActions';
export * from './feedbackActions';

View File

@ -0,0 +1,539 @@
import React from "react"
import { connect } from "react-redux"
class SingleDeal extends React.Component
{
constructor(props)
{
super(props);
}
render()
{
const { close } = this.props;
return (
<div className="contractStatus_modal">
<div className="modal_header">
<p className="modal_title">Статус сделки</p>
<button className="modal_close" onClick={close}></button>
</div>
<div className="modal_body single_status">
<div className="current">
<p>Сделка 1</p>
<span></span>
<div className="status_body">
<div className="status_header">
<i className="status_1"></i>
<p>Выбор КП</p>
</div>
<div className="wrap">
<table>
<thead>
<tr>
<th></th>
<th></th>
<th>Стоимость</th>
<th>Первый платеж, р.</th>
<th>Первый платеж, %</th>
<th>Марка</th>
<th>Модель</th>
<th>Объектов лизинга</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div className="form_field checkbox">
<input type="checkbox" name="row" id="row" checked="" onChange={ () => {} }/>
<label htmlFor="row"></label>
</div>
</td>
<td>1</td>
<td>5 600 000 р.</td>
<td>560 000 р.</td>
<td>10 %</td>
<td>Audi</td>
<td>A8</td>
<td>1</td>
<td>
<div className="dosc_list">
<div className="row">
<div className="small-icon">
<p className="doc_name i-pdf">
КП
<span>1</span>
</p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div className="form_field checkbox">
<input type="checkbox" name="row" id="row" checked="" onChange={ () => {} }/>
<label htmlFor="row"></label>
</div>
</td>
<td>1</td>
<td>5 600 000 р.</td>
<td>560 000 р.</td>
<td>10 %</td>
<td>Audi</td>
<td>A8</td>
<td>1</td>
<td>
<div className="dosc_list">
<div className="row">
<div className="small-icon">
<p className="doc_name i-pdf">
КП
<span>1</span>
</p>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<div className="status_body">
<div className="status_header">
<i className="status_2"></i>
<p className="header">Программа финансирования</p>
</div>
<div className="wrap">
<div className="single_text">
<p>Статусный текст о том что выбирается программа финансированияи может быть по центру иконочка часиков или слева от статусного текста иконочка часиков</p>
</div>
</div>
</div>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<div className="status_body">
<div className="status_header">
<i className="status_3"></i>
<p>Сборка пакета документов</p>
</div>
<div className="wrap">
<div className="message ok">
<p>Вам не требуется актуализация данных анкеты Клиента</p>
</div>
<div className="message alert">
<p>Требуется обновить данные в анкете</p>
<button className="button button-blue">Актуализировать данные</button>
</div>
<div className="message wait">
<p>Проводится проверка анкеты Вашей организации</p>
</div>
<p><b>Устав организации</b></p>
<div className="attach_file">
<label>
<input type="file" hidden onChange={ () => {} }/>
Прикрепить скан документов
</label>
</div>
<div class="message documents">
<div className="doc_list">
<div class="dosc_list medium-icon">
<div class="row">
<p class="doc_name i-pdf i-medium">123/2023 от 01.01.2023</p>
</div>
</div>
<div class="dosc_list medium-icon">
<div class="row">
<p class="doc_name i-pdf i-medium">123/2023 от 01.01.2023</p>
</div>
</div>
</div>
<p>Документы, отправленные Вами принадлежат другой организации бла бла коммент от менеджера</p>
</div>
<div className="attach_file">
<label>
<input type="file" hidden onChange={ () => {} }/>
Прикрепить ещё
</label>
</div>
<p><b>Другое название документа</b></p>
<div className="attach_file">
<label>
<input type="file" hidden onChange={ () => {} }/>
Прикрепить скан документов
</label>
</div>
</div>
</div>
</div>
<div className="">
<p>Сделка 1</p>
<span></span>
<div className="status_body">
<div className="status_header">
<i className="status_4"></i>
<p>Проверка документов</p>
</div>
<div className="wrap">
<div className="single_text">
<p>Статусный текст о том что выбирается программа финансированияи может быть по центру иконочка часиков или слева от статусного текста иконочка часиков</p>
</div>
</div>
</div>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<div className="status_body">
<div className="status_header">
<i className="status_5"></i>
<p>Принятие решения по заявке</p>
</div>
<div className="wrap">
<div className="single_text">
<p>Статусный текст о том что выбирается программа финансированияи может быть по центру иконочка часиков или слева от статусного текста иконочка часиков</p>
</div>
</div>
</div>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<div className="status_body">
<div className="status_header">
<i className="status_6"></i>
<p>Оформление лизинга</p>
</div>
<div className="wrap">
<div className="single_text">
<p>Статусный текст о том что выбирается программа финансированияи может быть по центру иконочка часиков или слева от статусного текста иконочка часиков</p>
</div>
</div>
</div>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<div className="status_body">
<div className="status_header">
<i className="status_7"></i>
<p>Выбор типа подписания</p>
</div>
<div className="wrap">
<div className="block-column">
<div className="dropdown_block open" >
<div className="block_header default">
<p><b>Подготовлено 3 из 12</b></p>
</div>
</div>
<div className="dosc_list acts_list-checkbox medium-icon">
<div className="row">
<p className="doc_name i-doc i-medium" >
<input type="checkbox" name="" id="" checked="" onChange={ () => {} }/>
<label for="">2022_6875 от 28.06.2022</label>
</p>
</div>
</div>
<div className="block_footer_btn">
<button className="button button-blue">Подписать в ЭДО</button>
<button className="button button-blue">Подписать в бумажном виде</button>
</div>
</div>
<div className="block-column">
<div className="dropdown_block open" >
<div className="block_header default">
<p><b>К подписанию 3 из 12</b></p>
</div>
</div>
<div className="dosc_list medium-icon">
<div className="row flex-start">
<p className="doc_name i-doc i-medium" >
123/2023 от 01.01.2023
</p>
<button className="button">Перейти в ЭДО</button>
</div>
<div className="row flex-start">
<p className="doc_name i-doc i-medium" >
123/2023 от 01.01.2023
</p>
<button className="button">Скачать документ</button>
<button className="button">Загрузить подписанный экземпляр</button>
</div>
</div>
</div>
<div className="block-column">
<div className="dropdown_block open" >
<div className="block_header default">
<p><b>Подписано 3 из 12</b></p>
</div>
</div>
<div className="dosc_list medium-icon">
<div className="row">
<p className="doc_name i-doc i-medium" >
<a href="#">Скачать 129/2023 от 01.01.2023 - Ожидание оплаты</a>
</p>
</div>
</div>
</div>
<div className="block-column">
<div className="dropdown_block open">
<div className="block_header default">
<p><b>Подготовлено 3 из 12</b></p>
</div>
</div>
<div className="dosc_list medium-icon">
<div className="row">
<p className="doc_name i-doc i-medium">
123/2023 от 01.01.2023
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
)
}
}
class AllContractsModal extends React.Component
{
constructor(props)
{
super(props);
}
render()
{
const { open, close, activeContract, handleContractSelected } = this.props
return (
<div className={open ? "fade opened" : "fade"}>
<div className="contractStatus_modal all_contracts_modal">
<div className="modal_header">
<p className="modal_title">Статусы сделок</p>
<button className="modal_close" onClick={close}></button>
</div>
<div className="modal_body">
<div className="contractStatus_list">
<div className="single_status">
<div>
<p>Сделка 1</p>
<span></span>
<i className="status_1"></i>
<p>Выбор КП</p>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<i className="status_2"></i>
<p>Программа финансирования</p>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<i className="status_3"></i>
<p>Сборка пакета документов</p>
</div>
<div className="current">
<p>Сделка 1</p>
<span></span>
<i className="status_4"></i>
<p>Проверка документов</p>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<i className="status_5"></i>
<p>Принятие решения по заявке</p>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<i className="status_6"></i>
<p>Оформление лизинга</p>
</div>
<div>
<p>Сделка 1</p>
<span></span>
<i className="status_7"></i>
<p>Выбор типа подписания</p>
</div>
</div>
</div>
</div>
</div>
</div>
)
}
}
class DealsList extends React.Component
{
constructor(props)
{
super(props)
}
render()
{
return (
<div className="contractStatus_list">
<div className="list_item">
<div>
<p>Сделка 1</p>
</div>
<div>
<p>
2 этапа пройдено
<svg xmlns="http://www.w3.org/2000/svg" width={18} height={18} fill="none">
<path stroke="#8E94A7" strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M14.625 6.75 9 12.375 3.375 6.75" />
</svg>
</p>
</div>
<div>
<img src="/assets/images/status/1.svg" width="50" height="50" />
<p>Сбор пакета документов</p>
</div>
<div>
<p>
еще 4 этапа
<svg xmlns="http://www.w3.org/2000/svg" width={18} height={18} fill="none">
<path stroke="#8E94A7" strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M14.625 6.75 9 12.375 3.375 6.75" />
</svg>
</p>
</div>
<div>
<button className="button" onClick={() => { this._handleModalToggle("all") }} >
Все сделки
<svg xmlns="http://www.w3.org/2000/svg" width={18} height={18} fill="none">
<path stroke="#1C01A9" strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M14.625 6.75 9 12.375 3.375 6.75" />
</svg>
</button>
</div>
</div>
<div className="list_item">
<div>
<p>Сделка 1</p>
</div>
<div>
<p onClick={() => { this._handleModalToggle("current") }} >
2 этапа пройдено
<svg xmlns="http://www.w3.org/2000/svg" width={18} height={18} fill="none">
<path stroke="#8E94A7" strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M14.625 6.75 9 12.375 3.375 6.75"/>
</svg>
</p>
</div>
<div>
<img src="/assets/images/status/3.svg" width="50" height="50" />
<p>Сбор пакета документов</p>
</div>
<div>
<p onClick={() => { this._handleModalToggle("current") }} >
еще 4 этапа
<svg xmlns="http://www.w3.org/2000/svg" width={18} height={18} fill="none">
<path stroke="#8E94A7" strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M14.625 6.75 9 12.375 3.375 6.75" />
</svg>
</p>
</div>
<div>
<button className="button" onClick={() => { this._handleModalToggle("all") }}>
Все сделки
<svg xmlns="http://www.w3.org/2000/svg" width={18} height={18} fill="none">
<path stroke="#1C01A9" strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M14.625 6.75 9 12.375 3.375 6.75" />
</svg>
</button>
</div>
</div>
</div>
)
}
}
class DealsStatus extends React.Component
{
constructor(props)
{
super(props)
this.state = {
currentContractModalOpened: false,
allContractModalOpened: false,
currentSelected: null
}
}
static getDerivedStateFromProps(nextProps, prevState) {
return {}
}
componentDidMount() { }
componentDidUpdate(prevProps, prevState) { }
_handleModalToggle = (modal) =>
{
if (modal === "current")
{
this.setState({
currentContractModalOpened: !this.state.currentContractModalOpened
})
}
else
{
this.setState({
allContractModalOpened: !this.state.allContractModalOpened
})
}
}
_handleContractSelected = (index) =>
{
this.setState({
currentSelected: index
})
}
render()
{
const { currentContractModalOpened, allContractModalOpened, currentSelected } = this.state
return (
<>
<DealsList/>
<SingleDeal
close={() => {
this._handleModalToggle("current")
}}
/>
{/*}
<AllContractsModal
open={allContractModalOpened}
close={() => {
this._handleModalToggle("all")
}}
activeContract={currentSelected}
handleContractSelected={this._handleContractSelected}
/>
{*/}
</>
)
}
}
function mapStateToProps(state, ownProps)
{
return {}
}
export default connect(mapStateToProps)(DealsStatus)

View File

@ -45,3 +45,12 @@ export const SUPPORT_RESET = 'SUPPORT_RESET';
export const QUESTIONNAIRE_UPDATE = 'QUESTIONNAIRE_UPDATE';
export const QUESTIONNAIRE_RESET = 'QUESTIONNAIRE_RESET';
export const QUESTIONNAIRE_SET_SIGN = 'QUESTIONNAIRE_SET_SIGN';
export const DEALS_LOADED = 'DEALS_LOADED';
export const DEALS_LIST = 'DEALS_LIST';
export const DEAL_LOADED = 'DEAL_LOADED';
export const DEAL_OFFERS_LIST = 'DEAL_OFFERS_LIST';
export const DEAL_DOCUMENTS_LIST = 'DEAL_DOCUMENTS_LIST';
export const DEAL_CONTRACTS_LIST = 'DEAL_CONTRACTS_LIST';
export const DEALS_RESET = 'DEALS_RESET';
export const DEAL_RESET = 'DEAL_RESET';

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2945,7 +2945,7 @@ main {
}
&:nth-child(5) {
word-break: break-all;
word-break: break-word;
width: 18%;
}
@ -4214,7 +4214,8 @@ main .dropdown_blocks_list .dropdown_block .block_body {
margin-top: auto;
margin-left: auto;
margin-right: 0;
width: 343px;
/*width: 343px;*/
width: 250px;
pointer-events: all;
top: calc(100vh - 150px);
/* tile shadow */
@ -4223,13 +4224,93 @@ main .dropdown_blocks_list .dropdown_block .block_body {
align-items: flex-end;
height: 102px;
@media all and (max-width: 1200px) {
display: none;
@media all and (max-width: 960px) {
//display: none;
height: 120px;
}
&.opened {
form {
display: block;
display: flex;
flex-direction: column;
width: 100%;
textarea {
min-height: 160px;
}
button {
align-self: center;
}
animation: rate_form 0.25s normal forwards ease-in-out;
}
width: 350px;
// height: 400px;
.rate_body {
overflow: hidden;
//height: 450px;
animation: rate_body_opened 0.25s normal forwards ease-in-out;
&.completed {
align-items: center;
justify-content: center;
animation: rate_body_shrink 0.25s normal forwards ease-in-out;
}
}
animation: rate_opened 0.25s normal forwards ease-in-out;
}
@keyframes rate_opened {
from {
width: 250px;
}
to {
width: 350px;
}
}
@keyframes rate_body_opened {
from {
height: 110px;
}
to {
height: 450px;
}
}
@keyframes rate_body_shrink {
from {
height: 450px;
}
to {
height: 120px;
}
}
@keyframes rate_form {
from {
// transform: translate(-80px, -130px) scale(0.25, 0.25);
transform: scale(0.5, 0.5);
}
to {
// transform: translate(0px, 0px) scale(1, 1);
transform: scale(1, 1);
}
}
&.hidden {
animation: rate_hide 0.25s normal forwards ease-in-out;
}
@keyframes rate_hide {
from {
opacity: 100;
}
to {
opacity: 0;
}
}
@ -4240,6 +4321,16 @@ main .dropdown_blocks_list .dropdown_block .block_body {
width: 100%;
padding: 16px 24px;
box-shadow: 0px 4px 32px 0px rgba(0, 0, 0, 0.16);
align-items: center;
display: flex;
flex-direction: column;
justify-content: space-between;
@media all and (min-width: 961px) and (max-width: 1420px) {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
margin-right: -80px;
}
}
p {
@ -4248,12 +4339,14 @@ main .dropdown_blocks_list .dropdown_block .block_body {
line-height: 23px;
width: 100%;
margin-bottom: 8px;
text-align: center;
}
.rate_start {
display: flex;
align-items: center;
justify-content: space-between;
flex-direction: column;
p {
text-align: center;
@ -4268,7 +4361,7 @@ main .dropdown_blocks_list .dropdown_block .block_body {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 0 2px;
gap: 0 0px;
label {
width: 32px;
@ -5894,3 +5987,688 @@ main .dropdown_blocks_list.zero-margin.gibdd .dropdown_block {
display: block !important;
}
}
.contractStatus_list {
margin: 50px 0;
.list_item {
display: flex;
align-items: center;
width: 100%;
gap: 0 30px;
justify-content: space-between;
div {
display: flex;
align-items: center;
p {
font-weight: 700;
line-height: 23px;
white-space: nowrap;
display: inline-flex;
align-items: center;
justify-content: flex-start;
gap: 0 8px;
}
&:nth-child(2) {
width: 30%;
position: relative;
p {
cursor: pointer;
color: var(--text_not_active);
}
&:before {
content: "";
display: block;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: 0;
height: 0;
border-top: 6px solid transparent;
border-left: 8px solid #d1d4db;
border-bottom: 6px solid transparent;
background: #fff;
}
&:after {
content: "";
display: block;
width: 100%;
height: 18px;
background: url("/assets/images/status/line.jpg") repeat-x left center;
background-size: auto 13px;
margin-left: 24px;
}
}
&:nth-child(3) {
display: flex;
align-items: center;
justify-content: center;
gap: 0 24px;
width: 50%;
position: relative;
&:before {
content: "";
display: block;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: 0;
height: 0;
border-top: 6px solid transparent;
border-left: 8px solid #a499dd;
border-bottom: 6px solid transparent;
}
&:after {
content: "";
display: block;
width: 100%;
height: 18px;
background: url("/assets/images/status/line_2.jpg") repeat-x left center;
background-size: auto 13px;
}
}
&:nth-child(4) {
p {
cursor: pointer;
}
}
&:nth-child(5) {
width: 150px;
button {
white-space: nowrap;
gap: 0 8px;
}
}
}
&:not(:last-child) {
margin-bottom: 5px;
div:nth-child(5) {
visibility: hidden;
}
}
}
}
.opened .contractStatus_modal {
transform: translateY(0);
}
.contractStatus_modal {
position: relative;
top: 0;
left: 0;
right: 0;
max-width: 100%;
width: 100%;
display: block;
background: #fff;
transition: transform 150ms ease;
overflow: hidden;
.modal_header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 35px;
}
.modal_title {
font-size: 26px;
font-weight: 700;
line-height: 35px;
}
.modal_close {
width: 24px;
height: 24px;
padding: 0;
border: 0;
background-image: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.87938 6.49925L0.439875 3.05975C-0.146625 2.47475 -0.146625 1.52375 0.439875 0.93875C1.02488 0.35375 1.97588 0.35375 2.56088 0.93875L6.00038 4.37825L9.43988 0.93875C10.0249 0.35375 10.9759 0.35375 11.5609 0.93875C12.1459 1.52375 12.1459 2.47475 11.5609 3.05975L8.12138 6.49925L11.5609 9.93875C12.1459 10.5238 12.1459 11.4748 11.5609 12.0598C10.9759 12.6448 10.0249 12.6448 9.43988 12.0598L6.00038 8.62025L2.56088 12.0598C1.97588 12.6448 1.02488 12.6448 0.439875 12.0598C-0.146625 11.4748 -0.146625 10.5238 0.439875 9.93875L3.87938 6.49925V6.49925Z' fill='%23333333'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
background-position: center;
}
.single_status {
>div {
display: flex;
//align-items: flex-start;
align-items: unset;
justify-content: flex-start;
gap: 0 30px;
padding: 2px 0;
&:last-child {
.status_body .wrap {
padding-bottom: 0;
border: 0;
}
>span::before {
display: none;
}
}
>p {
margin: 0;
&:first-child {
font-weight: 700;
white-space: nowrap;
padding: 15px 0;
height: 80px;
display: flex;
align-items: center;
box-sizing: border-box;
}
}
i {
display: block;
width: 50px;
height: 50px;
&.status_1 {
background: url("/assets/images/status/1.svg") no-repeat center;
}
&.status_2 {
background: url("/assets/images/status/2.svg") no-repeat center;
}
&.status_3 {
background: url("/assets/images/status/3.svg") no-repeat center;
}
&.status_4 {
background: url("/assets/images/status/4.svg") no-repeat center;
}
&.status_5 {
background: url("/assets/images/status/5.svg") no-repeat center;
}
&.status_6 {
background: url("/assets/images/status/6.svg") no-repeat center;
}
&.status_7 {
background: url("/assets/images/status/7.svg") no-repeat center;
}
}
>span {
display: block;
width: 20px;
min-width: 20px;
//height: 20px;
margin: 0;
//border-radius: 100%;
//background-color: #5FB158;
background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.92871 3.50024L4.92871 8.50002L2.42871 6.00024' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
background-position: top center;
position: relative;
z-index: 1;
top: 30px;
&:before {
content: "";
display: block;
position: absolute;
width: 0px;
height: auto;
border: 1px dashed #5FB158;
top: 20px;
bottom: -20px;
left: 0;
right: 0;
margin: auto;
z-index: -1;
}
&:after {
content: "";
width: 0;
height: 0;
border-left: 3px solid transparent;
border-right: 3px solid transparent;
border-top: 5px solid #5FB158;
position: absolute;
top: -5px;
left: 0;
right: 0;
margin: auto;
}
}
&:first-child {
span {
&:after {
display: none;
}
}
}
&:last-child {
span {
&:before {
bottom: 0;
}
}
}
&:not(:last-child) {
//border-bottom: 1px solid var(--inactive, #EDEFF5);
}
&:not(:first-child) {
>p:first-child {
visibility: hidden;
}
}
&:not(.current) {
img {
filter: grayscale(1)
}
}
&.current {
> span {
//background-color: #2F80ED;
//background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.00084 9.92868C8.17053 9.92868 9.92941 8.1698 9.92941 6.00011C9.92941 3.83041 8.17053 2.07153 6.00084 2.07153C3.83115 2.07153 2.07227 3.83041 2.07227 6.00011C2.07227 8.1698 3.83115 9.92868 6.00084 9.92868Z' stroke='white' stroke-miterlimit='10'/%3E%3Cpath d='M6 6.00007L7.76777 4.2323' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.92871 0.642944H7.07157' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' fill='%232F80ED'/%3E%3Cpath d='M9.99888 13.9286C12.1686 13.9286 13.9275 12.1697 13.9275 9.99998C13.9275 7.83029 12.1686 6.07141 9.99888 6.07141C7.82919 6.07141 6.07031 7.83029 6.07031 9.99998C6.07031 12.1697 7.82919 13.9286 9.99888 13.9286Z' stroke='white' stroke-miterlimit='10'/%3E%3Cpath d='M10 10L11.7678 8.23224' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.92773 4.64282H11.0706' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
background-position: top center;
&:before {
border-color: #2F80ED;
}
}
&~div {
> span {
//background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.00056 10.2858C8.36749 10.2858 10.2863 8.367 10.2863 6.00007C10.2863 3.63313 8.36749 1.71436 6.00056 1.71436C3.63362 1.71436 1.71484 3.63313 1.71484 6.00007C1.71484 8.367 3.63362 10.2858 6.00056 10.2858Z' stroke='%238E94A7' stroke-miterlimit='10'/%3E%3Cpath d='M6 3.5V6H8.5' stroke='%238E94A7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23EDEFF5'/%3E%3Cpath d='M9.9986 14.2857C12.3655 14.2857 14.2843 12.3669 14.2843 10C14.2843 7.63307 12.3655 5.71429 9.9986 5.71429C7.63167 5.71429 5.71289 7.63307 5.71289 10C5.71289 12.3669 7.63167 14.2857 9.9986 14.2857Z' stroke='%238E94A7' stroke-miterlimit='10'/%3E%3Cpath d='M10 7.5V10H12.5' stroke='%238E94A7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
background-position: top center;
//background-color: var(--inactive, #EDEFF5);
&:before {
border-color: var(--inactive, #EDEFF5);
}
&:after {
border-top-color: var(--inactive, #EDEFF5);
}
}
i {
/*
&.status_1 {
background: url("/assets/images/status/1_inactive.svg") no-repeat center;
}
&.status_2 {
background: url("/assets/images/status/2_inactive.svg") no-repeat center;
}
&.status_3 {
background: url("/assets/images/status/3_inactive.svg") no-repeat center;
}
&.status_4 {
background: url("/assets/images/status/4_inactive.svg") no-repeat center;
}
&.status_5 {
background: url("/assets/images/status/5_inactive.svg") no-repeat center;
}
&.status_6 {
background: url("/assets/images/status/6_inactive.svg") no-repeat center;
}
&.status_7 {
background: url("/assets/images/status/7_inactive.svg") no-repeat center;
}
*/
}
}
&+div {
span {
&:after {
border-top-color: #2F80ED;
}
}
}
}
.toggle_status {
margin: auto;
gap: 0 8px;
margin-right: 0;
color: var(--blue);
padding: 0;
svg {
transform: rotate(180deg);
}
}
.status_body {
width: 100%;
display: block;
.status_header {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 0 30px;
padding: 15px 0;
}
.header {
visibility: visible !important;
}
.wrap {
margin-top: 10px;
padding-bottom: 40px;
border-bottom: 1px solid var(--inactive, #EDEFF5);
input[type="checkbox"]+label {
width: 16px;
padding: 0;
height: 16px;
&:before {
margin-right: 0;
}
}
p {
font-weight: 400;
}
.single_text {
max-width: 565px;
margin: auto;
}
table {
font-size: 12px;
line-height: 120%;
border-collapse: collapse;
td,
th {
border: 1px solid rgba(0, 0, 0, 17%);
padding: 13px;
text-align: left;
vertical-align: middle;
&:not(:last-child) {
border-right: 0;
}
&:not(:first-child) {
border-left: 0;
}
}
td {
&:nth-child(3),
&:nth-child(4) {
white-space: nowrap;
}
}
.row {
margin-bottom: 0;
}
.i-pdf {
background-size: auto 28px;
padding-left: 35px;
margin-right: 0;
min-height: 28px;
font-weight: 700;
span {
font-weight: 400;
}
}
}
.message {
display: flex;
align-items: center;
padding: 10px;
&:before {
content: "";
display: block;
width: 24px;
min-height: 24px;
height: 24px;
min-width: 24px;
margin-right: 8px;
}
&.ok::before {
background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z' stroke='%235FB158' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.125 9.75L10.625 15L7.875 12.375' stroke='%235FB158' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
background-position: center;
}
&.alert::before {
background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 9V13.5' stroke='%23ED0A34' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.7015 3.74857L2.45374 17.9978C2.32177 18.2258 2.25217 18.4846 2.25195 18.748C2.25174 19.0115 2.32091 19.2703 2.4525 19.4986C2.5841 19.7268 2.77348 19.9163 3.0016 20.0481C3.22971 20.1799 3.48851 20.2493 3.75196 20.2493H20.2475C20.5109 20.2493 20.7697 20.1799 20.9979 20.0481C21.226 19.9163 21.4154 19.7268 21.547 19.4986C21.6786 19.2703 21.7477 19.0115 21.7475 18.748C21.7473 18.4846 21.6777 18.2258 21.5457 17.9978L13.2979 3.74857C13.1662 3.52093 12.9769 3.33193 12.749 3.20055C12.5212 3.06916 12.2628 3 11.9997 3C11.7367 3 11.4783 3.06916 11.2504 3.20055C11.0226 3.33193 10.8333 3.52093 10.7015 3.74857V3.74857Z' stroke='%23ED0A34' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 18C12.6213 18 13.125 17.4963 13.125 16.875C13.125 16.2537 12.6213 15.75 12 15.75C11.3787 15.75 10.875 16.2537 10.875 16.875C10.875 17.4963 11.3787 18 12 18Z' fill='%23ED0A34'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
background-position: center;
}
&.wait:before {
background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z' stroke='%238E94A7' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M12 6.75V12H17.25' stroke='%238E94A7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
background-position: center;
}
.button {
margin-left: 30px;
}
&.documents {
display: flex;
justify-content: space-between;
gap: 0 28px;
padding: 0;
&::before {
display: none;
}
.doc_list {
width: 350px;
min-width: 350px;
border: 1px solid #8A8A8A;
background: rgba(118, 118, 118, 0.10);
padding: 15px 25px;
p {
max-width: 100%;
margin-right: 0;
}
.row:last-child {
margin-bottom: 0;
p {
margin-bottom: 0;
}
}
}
.doc_list + p {
background: rgba(131, 3, 84, 0.10);
padding: 15px 25px;
}
}
}
.block-column {
margin-bottom: 60px;
}
.dosc_list {
a {
text-decoration: none;
}
}
.acts_list-checkbox {
label {
width: auto !important;
min-height: 32px;
padding-left: 50px;
&::before {
margin-right: 56px !important;
}
}
}
.block_footer_btn {
display: flex;
justify-content: flex-end;
gap: 0 20px;
}
.flex-start {
justify-content: flex-start;
}
.block-column {
&:last-child {
margin-bottom: 0;
}
}
.attach_file {
label {
height: 52px;
border: 1px dashed var(--brand-blue, #1C01A9);
background: rgba(28, 1, 169, 0.10);
width: 350px;
margin: 25px 0;
color: var(--brand-blue, #1C01A9);
text-align: center;
display: flex;
align-items: center;
justify-content: center;
gap: 0 11px;
&:before {
content: "";
display: block;
width: 36px;
height: 36px;
min-width: 36px;
background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.1241 31.5H7.87305C7.57468 31.5 7.28853 31.3815 7.07755 31.1705C6.86657 30.9595 6.74805 30.6734 6.74805 30.375V5.625C6.74805 5.32663 6.86657 5.04048 7.07755 4.82951C7.28853 4.61853 7.57468 4.5 7.87305 4.5H21.3741L29.2491 12.375V30.375C29.2491 30.5227 29.22 30.669 29.1635 30.8055C29.107 30.942 29.0241 31.066 28.9196 31.1705C28.8152 31.275 28.6912 31.3578 28.5547 31.4144C28.4182 31.4709 28.2719 31.5 28.1241 31.5Z' stroke='%231C01A9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M21.375 4.5V12.375H29.2511' stroke='%231C01A9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.625 21.375H21.375' stroke='%231C01A9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 18V24.75' stroke='%231C01A9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
background-repeat: no-repeat;
}
}
}
}
}
}
}
}
.all_contracts_modal {
.contractStatus_list {
.list_item {
.step {
width: 50%;
gap: 0 16px;
p {
font-weight: 400;
color: var(--text_not_active);
}
&:before {
content: "";
display: block;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: 0;
height: 0;
border-top: 6px solid transparent;
border-left: 8px solid #d1d4db;
border-bottom: 6px solid transparent;
background: #fff;
}
&:after {
content: "";
display: block;
width: 100%;
height: 18px;
background: url("/assets/images/status/line.jpg") repeat-x left center;
background-size: auto 13px;
margin-left: 0;
}
&.active {
p {
color: #18191F;
}
}
}
div {
&:last-child {
p {
color: var(--blue);
}
}
}
}
}
}

View File

@ -625,3 +625,10 @@ div {
right: 5px;
}
}
.contracts_list_title {
font-size: 26px;
font-weight: 700;
line-height: 35px;
margin-top: 35px;
margin-bottom: 35px;
}

View File

@ -668,3 +668,11 @@ div {
}
}
}
.contracts_list_title {
font-size: 26px;
font-weight: 700;
line-height: 35px;
margin-top: 35px;
margin-bottom: 35px;
}

11495
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -18,8 +18,14 @@ export default async function handler(req, res)
var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
var crm_jwt = jwt.sign(client_jwt_decoded, process.env.JWT_SECRET_CRM, { noTimestamp: true });
console.log("----------");
console.log(crm_jwt);
console.log("----------");
try
{
console.log(`${ process.env.CRM_API_HOST }/lk/Contract/GetDocumentList`, { ...client_jwt_decoded, contract_number: req.body.number });
await axios.get(`${ process.env.CRM_API_HOST }/lk/Contract/GetDocumentList`, {
params: { ...client_jwt_decoded, contract_number: req.body.number },
headers: { "Authorization": `Bearer ${ crm_jwt }`, },
@ -27,6 +33,7 @@ export default async function handler(req, res)
})
.then((crm_response) =>
{
console.log(`${ process.env.CRM_API_HOST }/lk/Contract/GetDocumentList`, "RESPONSE", crm_response.data);
res.status(200).json(crm_response.data);
})
.catch((error) =>

View File

@ -0,0 +1,4 @@
/*
2.7.6 - Метод получения списка договоров со статусами по Лизинговой сделке в CRM
GET /lk/ConsiderationOpportunity/contract
*/

View File

@ -0,0 +1,4 @@
/*
2.7.4 - Метод получения списка документов для рассмотрения Лизинговой сделке в CRM
GET /lk/ConsiderationOpportunity/document
*/

71
pages/api/deals/index.js Normal file
View File

@ -0,0 +1,71 @@
/*
2.7.1 - Метод получения данных по лизинговым сделкам в CRM
GET /lk/ConsiderationOpportunity
*/
import axios from 'axios';
import { Cookies } from 'react-cookie';
import cookie from 'cookie';
import moment from 'moment';
import jwt from 'jsonwebtoken';
import { cors } from '../../../lib/cors';
export default async function handler(req, res)
{
await cors(req, res);
if(req.headers.cookie !== undefined)
{
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
console.log("req.body");
console.log(req.body);
if(cookies.jwt !== undefined && cookies.jwt !== null)
{
console.log("cookies.jwt");
console.log(cookies.jwt);
var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
var crm_jwt = jwt.sign(client_jwt_decoded, process.env.JWT_SECRET_CRM, { noTimestamp: true });
console.log("client_jwt_decoded", client_jwt_decoded);
console.log("crm_jwt", crm_jwt);
const url = `${ process.env.CRM_API_HOST }/lk/ConsiderationOpportunity`;
console.log({ url });
try
{
await axios.get(url, {
params: { ...client_jwt_decoded, },
headers: {
"Authorization": `Bearer ${ crm_jwt }`,
},
withCredentials: true,
})
.then((crm_response) =>
{
console.log("API", "contract", "crm_response.data");
//console.log("API", "contract", crm_response.data);
res.status(200).json(crm_response.data);
})
.catch((error) =>
{
console.error(error);
res.status(500);
});
}
catch(e)
{
console.error(e);
res.status(500);
}
}
else
{
res.status(403);
}
}
}

View File

@ -0,0 +1,4 @@
/*
2.7.2 - Метод получения списка Предложений по Лизинговой сделке в CRM
GET /lk/ConsiderationOpportunity/quote
*/

4
pages/api/deals/quote.js Normal file
View File

@ -0,0 +1,4 @@
/*
2.7.3 - Метод согласования Предложений Клиентом по Лизинговой сделке в CRM
POST /lk/ConsiderationOpportunity/quote
*/

View File

@ -0,0 +1,4 @@
/*
2.7.5 - Метод отправки документов по Сделке на проверку
POST /lk/document
*/

View File

@ -0,0 +1,53 @@
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
import axios from 'axios';
import { Cookies } from 'react-cookie';
import cookie from 'cookie';
import moment from 'moment';
import jwt from 'jsonwebtoken';
import { inspect } from 'util';
import { cors } from '../../../lib/cors';
export default async function handler(req, res)
{
await cors(req, res);
let { name, phone, rating, comment } = req.body;
console.log("API", "feedbacks/add");
if(req.headers.cookie !== undefined)
{
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
if(cookies.jwt !== undefined && cookies.jwt !== null)
{
let client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
await axios.post(`${ process.env.NEXT_PUBLIC_API_HOST }/api/feedbacks/add/`, {
token: jwt.sign({ "acc_number": client_jwt_decoded.acc_number, "login": client_jwt_decoded.login }, process.env.JWT_SECRET_CRM, { noTimestamp: true }),
name, phone, rating, comment,
})
.then((api_response) =>
{
console.log("API", "feedbacks/add", "RESPONSE");
console.log(inspect(api_response.data, true, null, true));
res.status(200).send(api_response.data);
})
.catch((error) =>
{
console.error("API", "feedbacks/add", "error");
console.error(error);
res.status(403).json();
});
}
else
{
res.status(403).json();
}
}
else
{
res.status(403).json();
}
}

View File

@ -14,7 +14,7 @@ export default async function handler(req, res)
{
await cors(req, res);
console.log("API", "support", "appeals", req.headers);
// console.log("API", "support", "appeals", req.headers);
if(req.headers.cookie !== undefined)
{
@ -25,11 +25,11 @@ export default async function handler(req, res)
var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
var crm_jwt = jwt.sign(client_jwt_decoded, process.env.JWT_SECRET_CRM, { noTimestamp: true });
console.log("client_jwt_decoded");
console.log(client_jwt_decoded);
// console.log("client_jwt_decoded");
// console.log(client_jwt_decoded);
const read = await RedisClient.keys(`${ client_jwt_decoded.acc_number }_appeal_*`);
console.log("API", "support", "appeals", "read", read);
// console.log("API", "support", "appeals", "read", read);
try
{
@ -42,96 +42,14 @@ export default async function handler(req, res)
.then((crm_response) =>
{
let unread = 0;
console.log("API", "support", "appeals", "response", inspect(crm_response.data, true, null, true));
// console.log("API", "support", "appeals", "response", inspect(crm_response.data, true, null, true));
const appeals = crm_response.data;
/*
const appeals = [
{
number: "CAS-02991-J2M9B8",
created_date: "2021-09-06",
subject: "Вопросы по пени и штрафам",
owner: "Анастасия Ломакина",
status: "cancelled",
answer: "",
contracts: "No2021_1889, No2021_2453, No2021_2465, No2021_2857",
documents: [
{
doc_name: "Письмо от ЛП",
doc_url: "24bfe404-9905-4b69-8898-09a7229a8fc1",
doc_extension: "pdf",
},
{
doc_name: "Пояснения СБ",
doc_url: "24bfe404-9905-4b69-8898-09a7229a8fc1",
doc_extension: "pdf",
},
],
},
{
number: "CAS-01779-S2Q3Q6",
created_date: "2021-06-22",
subject: "Изменение графика",
owner: "Анастасия Ломакина",
status: "active",
answer: "",
contracts: "No2021_1889, No2021_1891, No2021_1914, No2021_2453, No2021_3023, No2021_7349, No2021_9969, No2021_125 95",
documents: [
{
doc_name: "Запрос на выезд за границу",
doc_url: "4291c8b0-2aff-47a1-b246-fc8e5e196c24",
doc_extension: "pdf",
},
{
doc_name: "согласование УЭБ",
doc_url: "4291c8b0-2aff-47a1-b246-fc8e5e196c24",
doc_extension: "pdf",
},
],
},
{
number: "CAS-01691-L2Z7H2",
created_date: "2021-06-08",
subject: "Выдача документов по сделке",
owner: "Анастасия Ломакина",
status: "closed",
answer: "",
contracts: "No2021_1889, No2021_3023, No2021_7349, No2021_9969, No2021_12595",
documents: [
{
doc_name: "Доп. соглашение по КАСКО",
doc_url: "7e11a7b0-0246-44ea-8f92-65698b79ea36",
doc_extension: "pdf",
},
{
doc_name: "Запрос на выезд за границу",
doc_url: "7e11a7b0-0246-44ea-8f92-65698b79ea36",
doc_extension: "pdf",
},
{
doc_name: "письмо о назначении платежей",
doc_url: "7e11a7b0-0246-44ea-8f92-65698b79ea36",
doc_extension: "pdf",
},
{
doc_name: "ПП по платежу за июнь",
doc_url: "7e11a7b0-0246-44ea-8f92-65698b79ea36",
doc_extension: "pdf",
},
{
doc_name: "ПП по расширению страхового покрытия",
doc_url: "7e11a7b0-0246-44ea-8f92-65698b79ea36",
doc_extension: "pdf",
}
],
}
];
*/
for(let i in appeals)
{
const key = `${ client_jwt_decoded.acc_number }_appeal_${ appeals[i].number }_${ appeals[i].status }`;
console.log("LOOK", key);
// console.log("LOOK", key);
if(read.indexOf(key) > -1)
{

View File

@ -15,7 +15,7 @@ const upload = multer({ storage: storage });
export default async function handler(req, res)
{
console.log("API", "support", "attachment");
// console.log("API", "support", "attachment");
await cors(req, res);
return new Promise((resolve) =>
@ -30,12 +30,12 @@ export default async function handler(req, res)
var crm_jwt = jwt.sign({ acc_number: client_jwt_decoded.acc_number }, process.env.JWT_SECRET_CRM, { noTimestamp: true });
const path = `${ process.env.CRM_API_HOST }/lk/incident/RequestClient/UploadDocument?request_client_number=${ req.query.request_client_number }`;
console.log("API", "support", "request", "path", path);
// console.log("API", "support", "request", "path", path);
console.log("HEADERS");
console.log("*".repeat(50));
console.log(req.headers);
console.log("*".repeat(50));
// console.log("HEADERS");
// console.log("*".repeat(50));
// console.log(req.headers);
// console.log("*".repeat(50));
upload.single("file")(req, {}, err =>
{
@ -57,8 +57,8 @@ export default async function handler(req, res)
})
.then((crm_response) =>
{
console.log("crm_response for", path);
console.log(inspect(crm_response.data, true, null, true));
// console.log("crm_response for", path);
// console.log(inspect(crm_response.data, true, null, true));
res.status(200).json(crm_response.data);
resolve();

View File

@ -25,15 +25,15 @@ export default async function handler(req, res)
var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
var crm_jwt = jwt.sign(client_jwt_decoded, process.env.JWT_SECRET_CRM, { noTimestamp: true });
console.log("client_jwt_decoded");
console.log(client_jwt_decoded);
// console.log("client_jwt_decoded");
// console.log(client_jwt_decoded);
try
{
for(let i in appeals)
{
const key = `${ client_jwt_decoded.acc_number }_appeal_${ appeals[i].number }_${ appeals[i].status }`;
console.log("API", "support", "read", "key", key);
// console.log("API", "support", "read", "key", key);
await RedisClient.set(key, appeals[i].status);
}

View File

@ -9,9 +9,9 @@ import { inspect } from 'util';
export default async function handler(req, res)
{
console.log("API", "support", "request");
console.log(req.body);
console.log("-".repeat(50));
// console.log("API", "support", "request");
// console.log(req.body);
// console.log("-".repeat(50));
await cors(req, res);
if(req.headers.cookie !== undefined)
@ -20,14 +20,14 @@ export default async function handler(req, res)
if(cookies.jwt !== undefined && cookies.jwt !== null)
{
console.log("cookies.jwt");
console.log(cookies.jwt);
// console.log("cookies.jwt");
// console.log(cookies.jwt);
var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
var crm_jwt = jwt.sign({ acc_number: client_jwt_decoded.acc_number }, process.env.JWT_SECRET_CRM, { noTimestamp: true });
const path = `${ process.env.CRM_API_HOST }/lk/incident/RequestClient/CreateRequestClient?acc_number=${ client_jwt_decoded.acc_number }`;
console.log("API", "support", "request", "path", path);
// console.log("API", "support", "request", "path", path);
try
{
@ -41,8 +41,8 @@ export default async function handler(req, res)
})
.then((crm_response) =>
{
console.log("crm_response for", path);
console.log(inspect(crm_response.data, true, null, true));
// console.log("crm_response for", path);
// console.log(inspect(crm_response.data, true, null, true));
res.status(200).json(crm_response.data);
})

View File

@ -24,14 +24,14 @@ export default async function handler(req, res)
})
.then((api_response) =>
{
console.log("RESPONSE");
console.log(api_response.data);
// console.log("RESPONSE");
// console.log(api_response.data);
resolve(api_response.data);
})
.catch((error) =>
{
console.log("error");
// console.log("error");
console.error(error);
reject([]);

View File

@ -1,14 +1,30 @@
import React from "react"
import { connect } from "react-redux"
import { SpinnerCircular } from "spinners-react";
import InputMask from 'react-input-mask';
class Rating extends React.Component {
constructor(props) {
import { sendFeedback, sendNewAppeal } from "../../../actions"
import { _checkStrValue } from "../../../utils";
class Rating extends React.Component
{
constructor(props)
{
super(props)
this.state = {
name: "",
phone: "",
comment: "",
opened: false,
hidden: false,
deleted: false,
rating: 0,
hovered: 0,
stars: []
stars: [],
completed: false,
publish: false,
loading: false,
errors: [],
}
let outOf = props.outOf ? props.outOf : 5
@ -18,7 +34,8 @@ class Rating extends React.Component {
}
}
static getDerivedStateFromProps(nextProps, prevState) {
static getDerivedStateFromProps(nextProps, prevState)
{
return {}
}
@ -26,7 +43,8 @@ class Rating extends React.Component {
componentDidUpdate(prevProps, prevState) {}
changeRating(newRating) {
changeRating(newRating)
{
this.setState({
rating: newRating
})
@ -34,81 +52,206 @@ class Rating extends React.Component {
if (this.props.onChange) this.props.onChange(newRating)
}
hoverRating(rating) {
_handle_hoverRating(rating)
{
this.setState({
hovered: rating
hovered: rating,
})
}
_handleRate = () => {
if (this.state.rating > 0) {
_handleRate = (newRating) =>
{
this.setState({
opened: true
rating: newRating,
hovered: newRating,
opened: true,
});
}
_handle_onFieldChange = (field, value) =>
{
const update = { ...this.state };
update[field] = value;
this.setState(update);
}
_handle_onSetPublished = () =>
{
const { name, phone, comment, rating } = this.state;
if(!this.state.publish)
{
this.setState({ publish: this.state.publish ? false : true });
sendFeedback({
name,
phone,
comment,
rating,
})
.then(() => {})
.catch(() => {});
setTimeout(() => {
this.setState({ hidden: true })
}, 1000);
setTimeout(() => {
this.setState({ deleted: true })
}, 2000);
}
}
render() {
const { opened, stars, rating, hovered } = this.state
_removeError = (name) =>
{
const errors = [ ...this.state.errors ];
if(typeof name === "string")
{
if(errors.indexOf(name) > -1)
{
errors.splice(errors.indexOf(name), 1);
}
}
else
{
for(let i in name)
{
if(errors.indexOf(name[i]) > -1)
{
errors.splice(errors.indexOf(name[i]), 1);
}
}
}
this.setState({ errors });
}
_handle_onFormSubmit = (event) =>
{
event.preventDefault();
const { name, phone, comment, rating } = this.state;
const payload = {
name: name,
phone: phone,
email: "",
description: comment,
contract_numbers: [],
evaluation: rating,
};
this.setState({ completed: true, loading: true }, () =>
{
sendNewAppeal(payload)
.then((result) =>
{
this.setState({ completed: true, loading: false });
});
});
}
render()
{
const { opened, hidden, deleted, stars, rating, hovered, completed, publish, loading, name, phone, comment, errors } = this.state
const data = ["Очень плохо", "Плохо", "Нормально", "Хорошо", "Отлично"]
if(deleted)
{
return null;
}
else
{
return (
<div className={opened ? "rate_us opened" : "rate_us"}>
<div className="rate_body">
<div className={`rate_us ${ opened && "opened" } ${ hidden && "hidden" }`}>
<div className={`rate_body ${ completed && "completed" }`}>
{ completed ? ( <>
{ loading ? (
<SpinnerCircular size={ 45 } thickness={ 51 } speed={ 100 } color="rgba(28, 1, 169, 1)" secondaryColor="rgba(236, 239, 244, 1)" />
) : (
<>
<p>Спасибо за Вашу оценку!</p>
<div className="form_field checkbox">
<input type="checkbox"
checked={ publish ? true : false }
hidden=""
id="rate_allow_publish"
name="rate_allow_publish"
onChange={ this._handle_onSetPublished }
/>
<label htmlFor="rate_allow_publish" className="unselectable">Даю разрешение на публикацию своего отзыва в сети Интернет</label>
</div>
</>
) }
</>
) : (
<>
<p>Оцените нас</p>
<div className="rate_start">
<div className="stars">
{stars.map((star) => {
<p>{ hovered > 0 ? data[ hovered - 1 ] : rating > 0 ? data[ rating - 1 ] : <>&nbsp;</> }</p>
<div
className="stars"
>
{ stars.map((star, index) => {
return (
<label
<label key={ index }
className={rating < star ? (hovered < star ? "" : "hover") : "active"}
onClick={() => {
this.changeRating(star)
onClick={() =>
{
this._handleRate(star)
}}
onMouseEnter={() => {
this.hoverRating(star)
this._handle_hoverRating(star)
}}
onMouseLeave={() => {
this.hoverRating(0)
this._handle_hoverRating(0)
}}
></label>
)
})}
</div>
{opened ? (
<p>{data[this.state.rating - 1]}</p>
) : (
<button
className="button button button-blue"
onClick={() => {
this._handleRate()
}}
>
Оценить
</button>
/>
)}
) }
</div>
<form>
</div>
<form onSubmit={ this._handle_onFormSubmit }>
<div className="form_field">
<input type="text" value="" placeholder="Имя" />
<input type="text" placeholder="Имя" name="name" onChange={ (event) => this._handle_onFieldChange(event.target.name, event.target.value) } defaultValue={ name }/>
</div>
<div className="form_field">
<input type="text" value="" placeholder="Телефон" />
<InputMask
className={ errors.indexOf("phone") > -1 ? "error" : "" }
mask='+7 (999) 999 99 99'
id="phone"
name="phone"
value={ _checkStrValue(phone) }
placeholder="Телефон"
onChange={ (event) => { if(event.target.value !== "" && !isNaN(parseInt(event.target.value.replace(/[^\d]+/g, ''), 10)) && parseInt(event.target.value.replace(/[^\d]+/g, ''), 10) > 7) { this._removeError("phone"); } this._handle_onFieldChange(event.target.name, event.target.value); } }
/>
</div>
<div className="form_field">
<textarea placeholder="Комментарий"></textarea>
<textarea
name="comment"
placeholder="Комментарий"
onChange={ (event) => this._handle_onFieldChange(event.target.name, event.target.value) }
defaultValue={ comment }
required={ rating > 4 ? false : true }
/>
</div>
<button type="submit" className="button button button-blue">
Отправить
</button>
</form>
</>
) }
</div>
</div>
)
}
}
}
function mapStateToProps(state, ownProps) {
function mapStateToProps(state, ownProps)
{
return {}
}

View File

@ -100,6 +100,7 @@ class ContractPage extends React.Component
redemptions: "Выкупные документы",
agreements: "Дополнительное соглашение",
assignments: "Договор цессии",
act_pp: "Акт приема-передачи",
};
return documents[ type ].map((file, file_index) =>
@ -143,6 +144,7 @@ class ContractPage extends React.Component
redemptions: "Выкупные документы",
agreements: "Дополнительное соглашение",
assignments: "Договор цессии",
act_pp: "Акт приема-передачи",
};
return (
@ -175,6 +177,7 @@ class ContractPage extends React.Component
{ this._renderDocuments(unsigned.documents, "agreements") }
{ this._renderDocuments(unsigned.documents, "assignments") }
{ this._renderDocuments(unsigned.documents, "redemptions") }
{ this._renderDocuments(unsigned.documents, "act_pp") }
</>
) }
{ signed !== undefined && signed !== null && signed.documents !== undefined && signed.documents !== null && signed.count > 0 && (
@ -184,6 +187,7 @@ class ContractPage extends React.Component
{ this._renderDocuments(signed.documents, "agreements") }
{ this._renderDocuments(signed.documents, "assignments") }
{ this._renderDocuments(signed.documents, "redemptions") }
{ this._renderDocuments(signed.documents, "act_pp") }
</>
) }
{ rules !== undefined && rules !== null && rules.map((document, index) => (

View File

@ -1,33 +1,32 @@
import React from "react";
import Head from 'next/head';
import Image from 'next/image';
import Link from "next/link";
import cookie from 'cookie';
import { connect } from "react-redux";
import numeral from "numeral";
import moment from 'moment';
import { SpinnerCircular } from 'spinners-react';
import React from "react"
import Head from "next/head"
import Image from "next/image"
import Link from "next/link"
import cookie from "cookie"
import { connect } from "react-redux"
import numeral from "numeral"
import moment from "moment"
import { SpinnerCircular } from "spinners-react"
import { withRouter } from 'next/router';
import { reduxWrapper } from '../store';
import { withRouter } from "next/router"
import { reduxWrapper } from "../store"
import Header from './components/Header';
import Footer from './components/Footer';
import Company from "./components/Company";
import DateInput from '../components/DatePicker';
import Pagination from './components/Pagination';
import Manager from "./components/Manager";
import AccountLayout from "./components/Layout/Account";
import AnnouncementsList from "./components/AnnouncementsList";
import Header from "./components/Header"
import Footer from "./components/Footer"
import Company from "./components/Company"
import DateInput from "../components/DatePicker"
import Pagination from "./components/Pagination"
import Manager from "./components/Manager"
import AccountLayout from "./components/Layout/Account"
import DealsStatus from "../components/DealsStatus"
import AnnouncementsList from "./components/AnnouncementsList"
import { getCompanyInfo, getContractsList, getImage } from '../actions';
class IndexPage extends React.Component
{
constructor(props)
{
super(props);
super(props)
this.state = {
company: {},
contracts: null,
@ -43,8 +42,8 @@ class IndexPage extends React.Component
loading: false,
page: 1,
pages: 1,
all: false,
};
all: false
}
}
static getDerivedStateFromProps(nextProps, prevState)
@ -53,8 +52,20 @@ class IndexPage extends React.Component
company: nextProps.company,
contracts: nextProps.contracts,
page: nextProps.page,
pages: nextProps.pages,
};
pages: nextProps.pages
}
}
componentDidMount()
{
this.setState({ loading: true }, () =>
{
getContractsList({ dispatch: this.props.dispatch, order: this.state.order, sort: this.state.sort_number })
.then(() => {
this.setState({ loading: false })
})
.catch(() => {})
})
}
componentDidMount()
@ -75,98 +86,139 @@ class IndexPage extends React.Component
_handle_onChange_search = (value) =>
{
this.setState({ search: value });
this.setState({ search: value })
}
_handle_onChange_date_from = (value) =>
{
this.setState({ date_from: value });
this.setState({ date_from: value })
}
_handle_onChange_date_to = (value) =>
{
this.setState({ date_to: value });
this.setState({ date_to: value })
}
_handle_onChangeSort_number = () =>
{
this.setState({ loading: true, order: "number", sort_number: this.state.sort_number === "desc" ? "asc" : "desc" }, () =>
{
getContractsList({ dispatch: this.props.dispatch, order: this.state.order, sort: this.state.sort_number, all: this.state.all, }).then(() => {
this.setState({ loading: false });
}).catch(() => {});
});
this.setState({ loading: true, order: "number", sort_number: this.state.sort_number === "desc" ? "asc" : "desc" },
() => {
getContractsList({
dispatch: this.props.dispatch,
order: this.state.order,
sort: this.state.sort_number,
all: this.state.all
})
.then(() => {
this.setState({ loading: false })
})
.catch(() => {})
})
}
_handle_onChangeSort_date = () =>
{
this.setState({ loading: true, order: "date", sort_date: this.state.sort_date === "desc" ? "asc" : "desc" }, () =>
{
getContractsList({ dispatch: this.props.dispatch, order: this.state.order, sort: this.state.sort_date, all: this.state.all, }).then(() => {
this.setState({ loading: false });
}).catch(() => {});
});
this.setState({ loading: true, order: "date", sort_date: this.state.sort_date === "desc" ? "asc" : "desc" },
() => {
getContractsList({
dispatch: this.props.dispatch,
order: this.state.order,
sort: this.state.sort_date,
all: this.state.all
})
.then(() => {
this.setState({ loading: false })
})
.catch(() => {})
})
}
_handle_onChangeSort_status = () =>
{
this.setState({ loading: true, order: "status", sort_status: this.state.sort_status === "desc" ? "asc" : "desc" }, () =>
{
getContractsList({ dispatch: this.props.dispatch, order: this.state.order, sort: this.state.sort_status, all: this.state.all, }).then(() => {
this.setState({ loading: false });
}).catch(() => {});
});
this.setState({ loading: true, order: "status", sort_status: this.state.sort_status === "desc" ? "asc" : "desc" },
() => {
getContractsList({
dispatch: this.props.dispatch,
order: this.state.order,
sort: this.state.sort_status,
all: this.state.all
})
.then(() => {
this.setState({ loading: false })
})
.catch(() => {})
})
}
_handle_onPage = (page) =>
{
const { order, sort_number, sort_status, search, date_from, date_to, } = this.state;
_handle_onPage = (page) => {
const { order, sort_number, sort_status, search, date_from, date_to } = this.state
this.setState({ loading: true, }, () =>
{
getContractsList({ dispatch: this.props.dispatch, order, sort_number, sort_status, search, date_from, date_to, page, all: this.state.all, }).then(() => {
this.setState({ loading: false });
}).catch(() => {});
});
this.setState({ loading: true },
() => {
getContractsList({
dispatch: this.props.dispatch,
order,
sort_number,
sort_status,
search,
date_from,
date_to,
page,
all: this.state.all
})
.then(() => {
this.setState({ loading: false })
})
.catch(() => {})
})
}
_handle_onAll = () =>
{
const { order, sort_number, sort_status, search, date_from, date_to, } = this.state;
_handle_onAll = () => {
const { order, sort_number, sort_status, search, date_from, date_to } = this.state
this.setState({ loading: true, all: true }, () =>
{
getContractsList({ dispatch: this.props.dispatch, order, sort_number, sort_status, search, date_from, date_to, all: this.state.all, }).then(() => {
this.setState({ loading: false });
}).catch(() => {});
});
this.setState({ loading: true, all: true },
() => {
getContractsList({
dispatch: this.props.dispatch,
order,
sort_number,
sort_status,
search,
date_from,
date_to,
all: this.state.all
})
.then(() => {
this.setState({ loading: false })
})
.catch(() => {})
})
}
_handle_onSearch = () =>
{
const { search, date_from, date_to, } = this.state;
_handle_onSearch = () => {
const { search, date_from, date_to } = this.state
this.setState({ loading: true, }, () =>
{
getContractsList({ dispatch: this.props.dispatch, search, date_from, date_to, all: this.state.all, }).then(() => {
this.setState({ loading: false });
}).catch(() => {});
});
this.setState({ loading: true },
() => {
getContractsList({ dispatch: this.props.dispatch, search, date_from, date_to, all: this.state.all })
.then(() => {
this.setState({ loading: false })
})
.catch(() => {})
})
}
_handle_onService = (url) =>
{
this.props.router.push(url);
_handle_onService = (url) => {
this.props.router.push(url)
}
_handle_onQuestionnaire = () =>
{
this.props.router.push("/questionnaire");
_handle_onQuestionnaire = () => {
this.props.router.push("/questionnaire")
}
_renderQuestionnaireStatus = () =>
{
const { company, contracts } = this.state;
const { company, contracts } = this.state
if(company.questionnaire_status === "need_to_fill")
{
@ -200,26 +252,36 @@ class IndexPage extends React.Component
render()
{
const { company, loading, page, pages, search, date_from, date_from_type, date_to, date_to_type, contracts, sort_number, sort_date, sort_status, all } = this.state;
const {
company,
loading,
page,
pages,
search,
date_from,
date_from_type,
date_to,
date_to_type,
contracts,
sort_number,
sort_date,
sort_status,
all
} = this.state
const contract_status = {
"Действующий": "opened",
"Закрыт": "closed",
};
//console.log("contracts", contracts);
//console.log("company", company);
Действующий: "opened",
Закрыт: "closed"
}
console.log("contracts", contracts)
console.log("company", company)
return (
<React.Fragment>
<Head>
<title>ЛК Эволюция автолизинга</title>
<meta
name="description"
content="ЛК Эволюция автолизинга"
/>
<meta name="description" content="ЛК Эволюция автолизинга" />
</Head>
<Header {...this.props} />
<AccountLayout>
@ -236,22 +298,45 @@ class IndexPage extends React.Component
{ contracts !== null && contracts.length > 0 && company.questionnaire_status === "need_to_fill" && (
<div className="questionnaire message notify" style={{ marginLeft: "0" }}>
<svg width="44" height="45" viewBox="0 0 44 45" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M40.5425 31.1863L25.7969 8.08116C24.9653 6.77804 23.5459 6 22 6C20.4539 6 19.0345 6.77804 18.2032 8.08116L3.45741 31.1862C2.57234 32.5732 2.51363 34.3313 3.30467 35.7746C4.09572 37.2173 5.60918 38.1137 7.25444 38.1137H36.7456C38.3909 38.1137 39.9044 37.2175 40.6956 35.7742C41.4863 34.3313 41.4276 32.5733 40.5425 31.1863ZM22 34.2245C20.644 34.2245 19.5448 33.1252 19.5448 31.7694C19.5448 30.4133 20.6441 29.3141 22 29.3141C23.356 29.3141 24.4551 30.4133 24.4551 31.7694C24.4551 33.1252 23.3559 34.2245 22 34.2245ZM25.403 17.1635L24.1937 25.3052C24.0157 26.5037 22.8999 27.3309 21.7016 27.1529C20.7334 27.0091 20.0075 26.25 19.8582 25.333L18.5451 17.2074C18.2394 15.3155 19.5251 13.534 21.417 13.2283C23.3089 12.9226 25.0904 14.2083 25.3962 16.1002C25.4536 16.4565 25.4517 16.8243 25.403 17.1635Z" fill="white"/>
<path
d="M40.5425 31.1863L25.7969 8.08116C24.9653 6.77804 23.5459 6 22 6C20.4539 6 19.0345 6.77804 18.2032 8.08116L3.45741 31.1862C2.57234 32.5732 2.51363 34.3313 3.30467 35.7746C4.09572 37.2173 5.60918 38.1137 7.25444 38.1137H36.7456C38.3909 38.1137 39.9044 37.2175 40.6956 35.7742C41.4863 34.3313 41.4276 32.5733 40.5425 31.1863ZM22 34.2245C20.644 34.2245 19.5448 33.1252 19.5448 31.7694C19.5448 30.4133 20.6441 29.3141 22 29.3141C23.356 29.3141 24.4551 30.4133 24.4551 31.7694C24.4551 33.1252 23.3559 34.2245 22 34.2245ZM25.403 17.1635L24.1937 25.3052C24.0157 26.5037 22.8999 27.3309 21.7016 27.1529C20.7334 27.0091 20.0075 26.25 19.8582 25.333L18.5451 17.2074C18.2394 15.3155 19.5251 13.534 21.417 13.2283C23.3089 12.9226 25.0904 14.2083 25.3962 16.1002C25.4536 16.4565 25.4517 16.8243 25.403 17.1635Z"
fill="white"
/>
</svg>
<p><b>Уточните данные</b>
<p>
<b>Уточните данные</b>
Требуется уточнить данные в анкете клиента
</p>
<button className="button" onClick={ this._handle_onQuestionnaire }>Подробнее</button>
<button className="button" onClick={this._handle_onQuestionnaire}>
Подробнее
</button>
</div>
)}
{/*}
<DealsStatus />
{*/}
{ contracts !== null && contracts.length > 0 && (
<>
<div>
<p className="contracts_list_title">Список договоров</p>
</div>
<div className="contract_search">
<form onSubmit={ (event) => { event.preventDefault(); } }>
<form
onSubmit={(event) => {
event.preventDefault()
}}
>
<div className="form_field">
<input type="search" value={ search } placeholder="Поиск" onChange={ (event) => {
this._handle_onChange_search(event.target.value);
} }/>
<input
type="search"
value={search}
placeholder="Поиск"
onChange={(event) => {
this._handle_onChange_search(event.target.value)
}}
/>
</div>
<div className="form_field">
{/*
@ -260,22 +345,46 @@ class IndexPage extends React.Component
} }/>
<label htmlFor="date_from">Дата<br/>договора от</label>
*/}
<DateInput placeholder="Дата договора от" id={ "date_from" } onChange={ (date) => this.setState({ date_from: date }) }/>
<DateInput
placeholder="Дата договора от"
id={"date_from"}
onChange={(date) => this.setState({ date_from: date })}
/>
</div>
<div className="form_field">
{/*<input type={ date_to_type } id="date_for" className="date_input" value="" placeholder="Дата договора по" onFocus={ () => this.setState({ date_from_type: "date" }) } onBlur={ () => { this.setState({ date_from_type: "text" }) } } onChange={ (date) => {
this._handle_onChange_date_to(date);
} }/>
<label htmlFor="date_for">Дата<br/>договора по</label>*/}
<DateInput placeholder="Дата договора по" id={ "date_to" } onChange={ (date) => this.setState({ date_to: date }) }/>
<DateInput
placeholder="Дата договора по"
id={"date_to"}
onChange={(date) => this.setState({ date_to: date })}
/>
</div>
<button className="button" disabled={ search !== "" || date_from !== "" || date_to !== "" ? false : true } onClick={ this._handle_onSearch }>Поиск</button>
<button
className="button"
disabled={search !== "" || date_from !== "" || date_to !== "" ? false : true}
onClick={this._handle_onSearch}
>
Поиск
</button>
</form>
</div>
</>
)}
{ loading ? (
<div className="table_row table_header" style={{ minHeight: 450, display: "flex", justifyContent: "center", alignItems: "center" }}>
<SpinnerCircular size={90} thickness={51} speed={100} color="rgba(28, 1, 169, 1)" secondaryColor="rgba(236, 239, 244, 1)" />
<div
className="table_row table_header"
style={{ minHeight: 450, display: "flex", justifyContent: "center", alignItems: "center" }}
>
<SpinnerCircular
size={90}
thickness={51}
speed={100}
color="rgba(28, 1, 169, 1)"
secondaryColor="rgba(236, 239, 244, 1)"
/>
</div>
) : (
<React.Fragment>
@ -294,12 +403,16 @@ class IndexPage extends React.Component
</div>
{ contracts !== undefined && contracts !== null && (
<>
{ contracts.length > 0 ? contracts.map((contract, index) => (
{contracts.length > 0 ? ( contracts.map((contract, index) => (
<Link href={`/contract/${contract.number}/payments`} key={index}>
<div className="table_row" key={index} style={{ cursor: "pointer" }}>
<div className="table_cell"><a>{ contract.number }</a></div>
<div className="table_cell">
<a>{ contract.number }</a>
</div>
<div className="table_cell">{ moment(contract.date).format("DD.MM.YYYY") }</div>
<div className="table_cell">{ contract.car?.brand?.name } { contract.car?.model?.name }</div>
<div className="table_cell">
{ contract.car?.brand?.name } { contract.car?.model?.name }
</div>
<div className="table_cell">
{ contract.car?.reg_number !== null ? contract.car?.reg_number : "Без рег. номера" }
<span>{ contract.car?.vin_number }</span>
@ -309,36 +422,98 @@ class IndexPage extends React.Component
{ contract.debt_leasing !== undefined && contract.debt_leasing !== null && parseFloat(contract.debt_leasing) > 0 && (
<p className="contract_debt">
<span>Задолжность:</span>
{ numeral(contract.debt_leasing).format(' ., ') }&nbsp;
{numeral(contract.debt_leasing).format(" ., ")}&nbsp;
</p>
) }
{ contract.debt_penalty_fee !== undefined && contract.debt_penalty_fee !== null && parseFloat(contract.debt_penalty_fee) > 0 && (
<p className="contract_debt">
<span>Пени:</span>
{ numeral(contract.debt_penalty_fee).format(' ., ') }&nbsp;
{numeral(contract.debt_penalty_fee).format(" ., ")}&nbsp;
</p>
) }
</div>
<div className="table_cell">
{ contract.current_payment_date !== null ? (
<>{ moment(contract.current_payment_date).format("DD.MM.YYYY") }<b className="price" style={{ whiteSpace: "nowrap" }}>{ numeral(contract.current_payment_amount).format(' ., ') }&nbsp;</b></>
) : "-" }
<>
{moment(contract.current_payment_date).format("DD.MM.YYYY")}
<b className="price" style={{ whiteSpace: "nowrap" }}>
{numeral(contract.current_payment_amount).format(" ., ")}&nbsp;
</b>
</>
) : ( "-" ) }
</div>
<div className="table_cell">
<div className="service_list">
{ contract.telematics_exists && <i title="Телематика" data-additional-service="1" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#telematic`) } }></i> }
{ contract.rat_exists && <i title="РАТ" data-additional-service="2" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#ratcard`) } }></i> }
{ contract.gibddreg_exists && <i title="Регистрация в ГИБДД" data-additional-service="3" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#registration`) } }></i> }
{ contract.fuelcard_exists && <i title="Топливные карты" data-additional-service="4" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#fuelcards`) } }></i> }
{ contract.kasko_exists && <i title="КАСКО" data-additional-service="5" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#insurance`) } }></i> }
{ contract.osago_exists && <i title="ОСАГО" data-additional-service="6" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#insurance`) } }></i> }
{ contract.nsib_exists && <i title="НСИБ" data-additional-service="7" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#insurance`) } }></i> }
{ contract.fingap_exists && <i title="Safe Finance" data-additional-service="8" onClick={ (event) => { event.stopPropagation(); event.preventDefault(); this._handle_onService(`/contract/${ contract.number }/services#insurance`) } }></i> }
{ contract.telematics_exists && (
<i title="Телематика" data-additional-service="1" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#telematic`)
}}
/>
) }
{ contract.rat_exists && (
<i title="РАТ" data-additional-service="2" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#ratcard`)
}}
/>
) }
{ contract.gibddreg_exists && (
<i title="Регистрация в ГИБДД" data-additional-service="3" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#registration`)
}}
/>
) }
{ contract.fuelcard_exists && (
<i title="Топливные карты" data-additional-service="4" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#fuelcards`)
}}
/>
) }
{contract.kasko_exists && (
<i title="КАСКО" data-additional-service="5" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#insurance`)
}}
/>
) }
{ contract.osago_exists && (
<i title="ОСАГО" data-additional-service="6" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#insurance`)
}}
/>
) }
{ contract.nsib_exists && (
<i title="НСИБ" data-additional-service="7" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#insurance`)
}}
/>
) }
{ contract.fingap_exists && (
<i title="Safe Finance" data-additional-service="8" onClick={(event) => {
event.stopPropagation()
event.preventDefault()
this._handle_onService(`/contract/${contract.number}/services#insurance`)
}}
/>
) }
</div>
</div>
</div>
</Link>
)) : (
))
) : (
<div className="table_row">
<div className="table_cell">-</div>
<div className="table_cell">-</div>
@ -356,7 +531,14 @@ class IndexPage extends React.Component
</React.Fragment>
)}
{!all && (
<Pagination page={ page } pages={ pages } onPage={ this._handle_onPage } onAll={ this._handle_onAll } all={ all } showAll={ true }/>
<Pagination
page={page}
pages={pages}
onPage={this._handle_onPage}
onAll={this._handle_onAll}
all={all}
showAll={true}
/>
)}
</AccountLayout>
<Footer />
@ -365,49 +547,38 @@ class IndexPage extends React.Component
}
}
function mapStateToProps(state, ownProps)
{
function mapStateToProps(state, ownProps) {
return {
company: state.company,
contracts: state.contracts.list,
page: state.contracts.page,
pages: state.contracts.pages,
pages: state.contracts.pages
}
}
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
async ({ req, res, query }) =>
{
let props = {};
export const getServerSideProps = reduxWrapper.getServerSideProps((store) => async ({ req, res, query }) => {
let props = {}
if(req.headers.cookie !== undefined)
{
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
if (req.headers.cookie !== undefined) {
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "")
if(cookies.jwt === undefined || cookies.jwt === null)
{
res.statusCode = 302;
res.setHeader('Location', `/login`);
}
else
{
if (cookies.jwt === undefined || cookies.jwt === null) {
res.statusCode = 302
res.setHeader("Location", `/login`)
} else {
//const tokenValid = await checkToken(cookies.jwt);
const tokenValid = true;
if(!tokenValid)
{
res.statusCode = 302;
res.setHeader('Location', `/login`);
const tokenValid = true
if (!tokenValid) {
res.statusCode = 302
res.setHeader("Location", `/login`)
}
}
}
else
{
res.statusCode = 302;
res.setHeader('Location', `/login`);
} else {
res.statusCode = 302
res.setHeader("Location", `/login`)
}
return { props: props };
}
);
return { props: props }
})
export default withRouter(connect(mapStateToProps)(IndexPage));
export default withRouter(connect(mapStateToProps)(IndexPage))

View File

@ -0,0 +1,64 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 2.29608C34.6357 -0.532625 29.7033 1.84209 22.4272 1.84209C14.6263 1.84209 8.5396 -1.37075 3.95704 0.689669C-0.625506 2.75009 -0.870375 9.14087 1.40341 13.1919C3.67719 17.2429 5.77607 21.5034 3.95704 27.8592C2.13802 34.2151 3.60723 37.2533 8.04986 41.7583C12.4925 46.2633 26.7299 40.6757 36.1399 39.1391C45.5498 37.6026 48.2434 33.3071 48.3833 28.7323C48.5232 24.1575 44.7453 20.2112 43.6958 15.9856C42.6464 11.76 42.5414 5.12479 38.5885 2.29608Z" fill="#EDEFF5"/>
<path d="M41.1852 4.59769L12.3346 1.0503C11.239 0.915591 10.2414 1.69399 10.1057 2.78947L5.08628 43.307C4.94989 44.408 5.73571 45.4097 6.83753 45.5392L35.9326 48.9606C37.0275 49.0893 38.0201 48.3077 38.1518 47.2131L40.7979 25.2162C40.8883 24.4643 41.3957 23.828 42.1086 23.5724L42.5807 23.4031C43.2969 23.1464 43.8054 22.5055 43.8926 21.7498L45.2284 10.1754C45.3509 9.11405 44.6175 8.14381 43.5629 7.97213L42.8136 7.85014L42.9291 6.80176C43.0489 5.71361 42.2717 4.73129 41.1852 4.59769Z" fill="#1C01A9"/>
<g filter="url(#filter0_d_5416_65876)">
<path d="M5.89359 38.9239L17.8005 2.27181L44.0762 10.6089L32.2017 47.3665L5.89359 38.9239Z" fill="white"/>
</g>
<g filter="url(#filter1_d_5416_65876)">
<path d="M7.69291 42.4593L14.0063 3.5761L41.8505 7.90126L35.5863 46.886L7.69291 42.4593Z" fill="white"/>
</g>
<g filter="url(#filter2_d_5416_65876)">
<path d="M10.0146 42.9153L10.964 4.38937L38.5263 4.87936L37.6382 43.4972L10.0146 42.9153Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7817 11.1881C13.6802 11.1881 13.598 11.2703 13.598 11.3718V14.0668C13.598 14.1683 13.6802 14.2505 13.7817 14.2505H16.5992C16.7007 14.2505 16.7829 14.1683 16.7829 14.0668V11.3718C16.7829 11.2703 16.7007 11.1881 16.5992 11.1881H13.7817ZM13.2305 11.3718C13.2305 11.0674 13.4773 10.8206 13.7817 10.8206H16.5992C16.9036 10.8206 17.1504 11.0674 17.1504 11.3718V14.0668C17.1504 14.3712 16.9036 14.618 16.5992 14.618H13.7817C13.4773 14.618 13.2305 14.3712 13.2305 14.0668V11.3718Z" fill="#8E94A7"/>
<path d="M30.789 12.4072L19.7533 12.0203C19.4783 12.0107 19.2618 11.7825 19.2665 11.5074C19.2714 11.2247 19.5075 11.0012 19.79 11.0118L30.8246 11.4268C31.0914 11.4369 31.3012 11.6585 31.2966 11.9255C31.2919 12.1998 31.0631 12.4169 30.789 12.4072Z" fill="#1C01A9"/>
<path d="M35.5346 14.2104L19.5824 13.7528C19.4049 13.7477 19.2637 13.6023 19.2637 13.4248C19.2637 13.2397 19.4166 13.0913 19.6016 13.0968L35.5532 13.5736C35.7254 13.5788 35.8623 13.7198 35.8623 13.892C35.8623 14.0715 35.714 14.2156 35.5346 14.2104Z" fill="#8E94A7"/>
<path d="M35.5346 16.1092L19.5824 15.6515C19.4049 15.6464 19.2637 15.5011 19.2637 15.3235C19.2637 15.1385 19.4166 14.99 19.6016 14.9956L35.5532 15.4723C35.7254 15.4775 35.8623 15.6185 35.8623 15.7908C35.8623 15.9703 35.714 16.1143 35.5346 16.1092Z" fill="#8E94A7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.3632 12.1187L14.9493 13.6942L14.1396 12.8306L14.4971 12.4955L14.9414 12.9694L15.9985 11.7915L16.3632 12.1187Z" fill="#A8026B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.5366 19.3955C13.4351 19.3955 13.3528 19.4778 13.3528 19.5792V22.2742C13.3528 22.3757 13.4351 22.458 13.5366 22.458H16.3541C16.4556 22.458 16.5378 22.3757 16.5378 22.2742V19.5792C16.5378 19.4778 16.4556 19.3955 16.3541 19.3955H13.5366ZM12.9854 19.5792C12.9854 19.2748 13.2322 19.028 13.5366 19.028H16.3541C16.6585 19.028 16.9053 19.2748 16.9053 19.5792V22.2742C16.9053 22.5787 16.6585 22.8255 16.3541 22.8255H13.5366C13.2322 22.8255 12.9854 22.5787 12.9854 22.2742V19.5792Z" fill="#8E94A7"/>
<path d="M30.5439 20.6146L19.5082 20.2277C19.2332 20.2181 19.0167 19.9899 19.0214 19.7148C19.0263 19.4321 19.2624 19.2086 19.5449 19.2192L30.5795 19.6342C30.8463 19.6443 31.0561 19.8659 31.0515 20.1329C31.0468 20.4072 30.818 20.6243 30.5439 20.6146Z" fill="#1C01A9"/>
<path d="M35.2895 22.4178L19.3373 21.9602C19.1598 21.9551 19.0186 21.8097 19.0186 21.6322C19.0186 21.4471 19.1715 21.2987 19.3565 21.3042L35.3081 21.781C35.4803 21.7862 35.6172 21.9272 35.6172 22.0994C35.6172 22.2789 35.4689 22.423 35.2895 22.4178Z" fill="#8E94A7"/>
<path d="M35.2895 24.3166L19.3373 23.8589C19.1598 23.8538 19.0186 23.7085 19.0186 23.5309C19.0186 23.3459 19.1715 23.1974 19.3565 23.203L35.3081 23.6797C35.4803 23.6849 35.6172 23.8259 35.6172 23.9981C35.6172 24.1777 35.4689 24.3217 35.2895 24.3166Z" fill="#8E94A7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.118 20.3262L14.7041 21.9016L13.8945 21.0381L14.252 20.7029L14.6963 21.1768L15.7534 19.9989L16.118 20.3262Z" fill="#A8026B"/>
<path d="M13.1689 39.6078L21.4683 39.8834" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.5053 29.3792C13.4039 29.3792 13.3216 29.4614 13.3216 29.5629V32.2579C13.3216 32.3594 13.4039 32.4416 13.5053 32.4416H16.3228C16.4243 32.4416 16.5066 32.3594 16.5066 32.2579V29.5629C16.5066 29.4614 16.4243 29.3792 16.3228 29.3792H13.5053ZM12.9541 29.5629C12.9541 29.2585 13.2009 29.0117 13.5053 29.0117H16.3228C16.6273 29.0117 16.8741 29.2585 16.8741 29.5629V32.2579C16.8741 32.5623 16.6273 32.8091 16.3228 32.8091H13.5053C13.2009 32.8091 12.9541 32.5623 12.9541 32.2579V29.5629Z" fill="#8E94A7"/>
<path d="M30.5126 30.5985L19.477 30.2115C19.202 30.2019 18.9854 29.9737 18.9901 29.6986C18.995 29.4159 19.2311 29.1924 19.5136 29.2031L30.5482 29.6181C30.8151 29.6281 31.0249 29.8497 31.0203 30.1167C31.0155 30.391 30.7868 30.6081 30.5126 30.5985Z" fill="#1C01A9"/>
<path d="M35.2582 32.4017L19.306 31.944C19.1285 31.9389 18.9873 31.7936 18.9873 31.616C18.9873 31.431 19.1402 31.2825 19.3252 31.2881L35.2769 31.7648C35.449 31.77 35.5859 31.911 35.5859 32.0832C35.5859 32.2628 35.4377 32.4068 35.2582 32.4017Z" fill="#8E94A7"/>
<path d="M35.2582 34.3004L19.306 33.8427C19.1285 33.8376 18.9873 33.6923 18.9873 33.5147C18.9873 33.3297 19.1402 33.1813 19.3252 33.1868L35.2769 33.6636C35.449 33.6687 35.5859 33.8097 35.5859 33.982C35.5859 34.1615 35.4377 34.3055 35.2582 34.3004Z" fill="#8E94A7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.0868 30.3099L14.6729 31.8854L13.8633 31.0218L14.2208 30.6867L14.665 31.1606L15.7221 29.9826L16.0868 30.3099Z" fill="#A8026B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.4513 39.1793C31.9587 39.1793 32.3701 38.7679 32.3701 38.2605C32.3701 37.7531 31.9587 37.3418 31.4513 37.3418C30.9439 37.3418 30.5326 37.7531 30.5326 38.2605C30.5326 38.7679 30.9439 39.1793 31.4513 39.1793ZM31.4513 39.9755C32.3985 39.9755 33.1663 39.2077 33.1663 38.2605C33.1663 37.3134 32.3985 36.5455 31.4513 36.5455C30.5042 36.5455 29.7363 37.3134 29.7363 38.2605C29.7363 39.2077 30.5042 39.9755 31.4513 39.9755Z" fill="#1C01A9"/>
<path opacity="0.7" d="M32.7995 38.2605C32.7995 37.5163 32.1962 36.913 31.452 36.913M31.452 39.608C30.7078 39.608 30.1045 39.0047 30.1045 38.2605" stroke="white" stroke-width="0.5"/>
<path opacity="0.7" d="M32.3108 36.4988C31.3379 36.0244 30.1645 36.4285 29.6901 37.4015M33.2135 39.1196C32.7391 40.0925 31.5657 40.4966 30.5928 40.0222" stroke="#1C01A9" stroke-width="0.5"/>
<defs>
<filter id="filter0_d_5416_65876" x="4.89355" y="1.2718" width="40.1826" height="47.0947" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_65876"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_65876" result="shape"/>
</filter>
<filter id="filter1_d_5416_65876" x="6.69336" y="2.5761" width="36.1572" height="45.3099" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_65876"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_65876" result="shape"/>
</filter>
<filter id="filter2_d_5416_65876" x="9.01465" y="3.38937" width="30.5117" height="41.1078" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_65876"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_65876" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -0,0 +1,91 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 2.70319C34.6357 -0.130296 29.7033 2.24843 22.4272 2.24843C14.6263 2.24843 8.5396 -0.969835 3.95704 1.09406C-0.625506 3.15796 -0.870375 9.55954 1.40341 13.6174C3.67719 17.6752 5.77607 21.9429 3.95704 28.3095C2.13802 34.6761 3.60723 37.7195 8.04986 42.2321C12.4925 46.7447 26.7299 41.1477 36.1399 39.6085C45.5498 38.0693 48.2434 33.7666 48.3833 29.1841C48.5232 24.6015 44.7453 20.6486 43.6958 16.4159C42.6464 12.1831 42.5414 5.53668 38.5885 2.70319Z" fill="#EDEFF5"/>
<rect x="10.6758" y="2.82259" width="25.5344" height="43.5484" rx="2" fill="#1C01A9"/>
<g filter="url(#filter0_i_5416_65929)">
<path d="M13.8242 8.24431H32.8876V14.3656H13.8242V8.24431Z" fill="#1C01A9"/>
</g>
<g filter="url(#filter1_i_5416_65929)">
<rect x="15.3975" y="9.64359" width="15.9153" height="3.32297" fill="#2F80ED"/>
</g>
<circle opacity="0.2" cx="14.9611" cy="19.0002" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="14.9611" cy="18.3005" r="1.3117" fill="white"/>
<circle cx="14.9611" cy="18.6503" r="1.3117" fill="#A8026B"/>
<circle opacity="0.2" cx="14.9611" cy="24.5969" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="14.9611" cy="23.8973" r="1.3117" fill="white"/>
<circle cx="14.9611" cy="24.2471" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="14.9611" cy="30.1932" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="14.9611" cy="29.4938" r="1.3117" fill="white"/>
<circle cx="14.9611" cy="29.8436" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="14.9611" cy="35.79" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="14.9611" cy="35.0903" r="1.3117" fill="white"/>
<circle cx="14.9611" cy="35.4401" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="14.9611" cy="41.3865" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="14.9611" cy="40.6869" r="1.3117" fill="white"/>
<circle cx="14.9611" cy="41.0367" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="20.5568" cy="19.0002" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="20.5568" cy="18.3005" r="1.3117" fill="white"/>
<circle cx="20.5568" cy="18.6503" r="1.3117" fill="#A8026B"/>
<circle opacity="0.2" cx="20.5568" cy="24.5969" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="20.5568" cy="23.8973" r="1.3117" fill="white"/>
<circle cx="20.5568" cy="24.2471" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="20.5568" cy="30.1932" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="20.5568" cy="29.4938" r="1.3117" fill="white"/>
<circle cx="20.5568" cy="29.8436" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="20.5568" cy="35.79" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="20.5568" cy="35.0903" r="1.3117" fill="white"/>
<circle cx="20.5568" cy="35.4401" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="20.5568" cy="41.3865" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="20.5568" cy="40.6869" r="1.3117" fill="white"/>
<circle cx="20.5568" cy="41.0367" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="26.1535" cy="24.5969" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="26.1535" cy="23.8973" r="1.3117" fill="white"/>
<circle cx="26.1535" cy="24.2471" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="26.1535" cy="30.1932" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="26.1535" cy="29.4938" r="1.3117" fill="white"/>
<circle cx="26.1535" cy="29.8436" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="26.1535" cy="35.79" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="26.1535" cy="35.0903" r="1.3117" fill="white"/>
<circle cx="26.1535" cy="35.4401" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="26.1535" cy="41.3865" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="26.1535" cy="40.6869" r="1.3117" fill="white"/>
<circle cx="26.1535" cy="41.0367" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="31.7502" cy="24.5969" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="31.7502" cy="23.8973" r="1.3117" fill="white"/>
<circle cx="31.7502" cy="24.2471" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="31.7502" cy="30.1932" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="31.7502" cy="29.4938" r="1.3117" fill="white"/>
<circle cx="31.7502" cy="29.8436" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="31.7502" cy="35.79" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="31.7502" cy="35.0903" r="1.3117" fill="white"/>
<circle cx="31.7502" cy="35.4401" r="1.3117" fill="#EDEFF5"/>
<circle opacity="0.2" cx="31.7502" cy="41.3865" r="1.3117" fill="#0C0C0C"/>
<circle opacity="0.2" cx="31.7502" cy="40.6869" r="1.3117" fill="white"/>
<circle cx="31.7502" cy="41.0367" r="1.3117" fill="#EDEFF5"/>
<path d="M3.10153 1.95553V1.95553C3.3958 3.53038 4.62781 4.76239 6.20266 5.05666V5.05666V5.05666C4.6169 5.33007 3.37493 6.57204 3.10153 8.15779V8.15779V8.15779C2.84879 6.56142 1.59677 5.30939 0.000392643 5.05666V5.05666V5.05666C1.58615 4.78325 2.82812 3.54128 3.10153 1.95553V1.95553Z" fill="#2F80ED"/>
<path d="M6.79295 12.6312V12.6312C6.95929 13.5214 7.6557 14.2178 8.54591 14.3841V14.3841V14.3841C7.64954 14.5387 6.94749 15.2407 6.79295 16.1371V16.1371V16.1371C6.65009 15.2347 5.94236 14.527 5.03998 14.3841V14.3841V14.3841C5.93636 14.2296 6.6384 13.5275 6.79295 12.6312V12.6312Z" fill="#2F80ED"/>
<path d="M44.6865 26.0396V26.0396C44.8528 26.9298 45.5493 27.6262 46.4395 27.7926V27.7926V27.7926C45.5431 27.9471 44.841 28.6491 44.6865 29.5455V29.5455V29.5455C44.5436 28.6431 43.8359 27.9354 42.9335 27.7926V27.7926V27.7926C43.8299 27.638 44.532 26.936 44.6865 26.0396V26.0396Z" fill="#2F80ED"/>
<path d="M45.2695 42.9459V42.9459C45.4359 43.8362 46.1323 44.5326 47.0225 44.6989V44.6989V44.6989C46.1261 44.8535 45.4241 45.5555 45.2695 46.4519V46.4519V46.4519C45.1266 45.5495 44.4189 44.8418 43.5165 44.6989V44.6989V44.6989C44.4129 44.5444 45.115 43.8423 45.2695 42.9459V42.9459Z" fill="#2F80ED"/>
<circle cx="48.8608" cy="37.7964" r="0.68014" fill="#2F80ED"/>
<defs>
<filter id="filter0_i_5416_65929" x="13.8242" y="8.24431" width="19.0635" height="6.12126" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="10"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.33 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_5416_65929"/>
</filter>
<filter id="filter1_i_5416_65929" x="15.3975" y="9.64359" width="15.915" height="3.32297" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.56 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_5416_65929"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -0,0 +1,145 @@
<svg width="57" height="57" viewBox="0 0 57 57" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M39.5885 9.29996C35.6357 6.46647 30.7033 8.8452 23.4272 8.8452C15.6263 8.8452 9.5396 5.62694 4.95704 7.69083C0.374494 9.75473 0.129625 16.1563 2.40341 20.2141C4.67719 24.272 6.77607 28.5397 4.95704 34.9063C3.13802 41.2729 4.60723 44.3163 9.04986 48.8289C13.4925 53.3414 27.7299 47.7444 37.1399 46.2053C46.5498 44.6661 49.2434 40.3634 49.3833 35.7808C49.5232 31.1983 45.7453 27.2454 44.6958 23.0126C43.6464 18.7799 43.5414 12.1334 39.5885 9.29996Z" fill="#EDEFF5"/>
<path d="M8.13941 49.3592L3.29204 33.1939C2.8479 31.7128 3.5486 30.1288 4.94334 29.4611L10.8973 48.1736L8.13941 49.3592Z" fill="#0C0C0C"/>
<g filter="url(#filter0_d_5416_66014)">
<path d="M10.5193 14.6805C10.4149 14.1367 10.7722 13.6117 11.3163 13.5092L21.1889 11.6498C21.4482 11.601 21.7163 11.6566 21.9347 11.8045L24.5242 13.5581C24.7437 13.7067 24.8952 13.9365 24.9454 14.1968L27.8474 29.2491C27.9522 29.7928 27.5953 30.3181 27.0513 30.421L14.9947 32.7018C14.4531 32.8043 13.9307 32.4491 13.8268 31.9078L10.5193 14.6805Z" fill="white"/>
</g>
<rect x="13.2637" y="16.7074" width="3.82529" height="4.17839" transform="rotate(-10.7124 13.2637 16.7074)" fill="#8E94A7"/>
<rect x="18.0928" y="15.7939" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-10.7124 18.0928 15.7939)" fill="#8E94A7"/>
<rect x="18.4482" y="17.6733" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-10.7124 18.4482 17.6733)" fill="#8E94A7"/>
<rect x="18.8037" y="19.5527" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-10.7124 18.8037 19.5527)" fill="#8E94A7"/>
<rect x="14.332" y="22.3414" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 14.332 22.3414)" fill="#8E94A7"/>
<rect x="14.6875" y="24.2208" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 14.6875 24.2208)" fill="#8E94A7"/>
<rect x="15.043" y="26.1001" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 15.043 26.1001)" fill="#8E94A7"/>
<rect x="15.3984" y="27.9793" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 15.3984 27.9793)" fill="#8E94A7"/>
<g filter="url(#filter1_d_5416_66014)">
<path d="M22.1014 14.3119L21.582 11.5664L24.8724 13.7983L22.1014 14.3119Z" fill="#2F80ED"/>
</g>
<g filter="url(#filter2_d_5416_66014)">
<path d="M31.897 20.7556C32.0007 20.2117 32.5266 19.8556 33.0701 19.9612L42.9318 21.8775C43.1908 21.9279 43.4194 22.0785 43.5678 22.2966L45.3272 24.8822C45.4763 25.1014 45.5323 25.3708 45.4828 25.6313L42.6235 40.6918C42.5202 41.2357 41.9946 41.5922 41.451 41.487L29.404 39.1562C28.8628 39.0515 28.5084 38.5286 28.6116 37.9871L31.897 20.7556Z" fill="white"/>
</g>
<rect x="33.6992" y="23.6525" width="3.82529" height="4.17839" transform="rotate(10.9501 33.6992 23.6525)" fill="#8E94A7"/>
<rect x="38.5244" y="24.586" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 38.5244 24.586)" fill="#8E94A7"/>
<rect x="38.1611" y="26.4637" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 38.1611 26.4637)" fill="#8E94A7"/>
<rect x="37.7979" y="28.3416" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 37.7979 28.3416)" fill="#8E94A7"/>
<rect x="32.6123" y="29.2827" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 32.6123 29.2827)" fill="#8E94A7"/>
<rect x="32.249" y="31.1604" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 32.249 31.1604)" fill="#8E94A7"/>
<rect x="31.8857" y="33.0383" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 31.8857 33.0383)" fill="#8E94A7"/>
<rect x="31.5225" y="34.9161" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 31.5225 34.9161)" fill="#8E94A7"/>
<g filter="url(#filter3_d_5416_66014)">
<path d="M42.7973 24.6883L43.3281 21.9449L45.5622 25.2338L42.7973 24.6883Z" fill="#2F80ED"/>
</g>
<g filter="url(#filter4_d_5416_66014)">
<path d="M25.0923 12.0438C25.196 11.4999 25.7219 11.1438 26.2654 11.2494L36.1271 13.1657C36.3861 13.2161 36.6147 13.3667 36.7631 13.5848L38.5225 16.1704C38.6716 16.3896 38.7276 16.659 38.6782 16.9195L35.8188 31.98C35.7155 32.5239 35.1899 32.8804 34.6464 32.7752L22.5993 30.4444C22.0581 30.3397 21.7037 29.8168 21.8069 29.2753L25.0923 12.0438Z" fill="white"/>
</g>
<rect x="26.8945" y="14.9407" width="3.82529" height="4.17839" transform="rotate(10.9501 26.8945 14.9407)" fill="#8E94A7"/>
<rect x="31.7197" y="15.8741" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 31.7197 15.8741)" fill="#8E94A7"/>
<rect x="31.3564" y="17.7519" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 31.3564 17.7519)" fill="#8E94A7"/>
<rect x="30.9932" y="19.6298" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 30.9932 19.6298)" fill="#8E94A7"/>
<rect x="25.8076" y="20.5709" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 25.8076 20.5709)" fill="#8E94A7"/>
<rect x="25.4443" y="22.4486" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 25.4443 22.4486)" fill="#8E94A7"/>
<rect x="25.0811" y="24.3265" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 25.0811 24.3265)" fill="#8E94A7"/>
<rect x="24.7178" y="26.2044" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 24.7178 26.2044)" fill="#8E94A7"/>
<g filter="url(#filter5_d_5416_66014)">
<path d="M35.9927 15.9765L36.5234 13.2331L38.7575 16.522L35.9927 15.9765Z" fill="#2F80ED"/>
</g>
<g filter="url(#filter6_d_5416_66014)">
<path d="M1.29864 23.8707C1.13388 23.3421 1.42996 22.7803 1.95911 22.6174L11.5607 19.6616C11.8128 19.5839 12.0854 19.6091 12.3191 19.7316L15.0891 21.1834C15.3239 21.3064 15.5002 21.5177 15.5793 21.7707L20.1525 36.4022C20.3177 36.9307 20.0221 37.4927 19.4931 37.6561L7.76862 41.2758C7.24193 41.4384 6.68297 41.1441 6.51893 40.6179L1.29864 23.8707Z" fill="white"/>
</g>
<rect x="4.25391" y="25.5768" width="3.82529" height="4.17839" transform="rotate(-17.1573 4.25391 25.5768)" fill="#8E94A7"/>
<rect x="8.94824" y="24.1272" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-17.1573 8.94824 24.1272)" fill="#8E94A7"/>
<rect x="9.5127" y="25.9547" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-17.1573 9.5127 25.9547)" fill="#8E94A7"/>
<rect x="10.0771" y="27.7822" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-17.1573 10.0771 27.7822)" fill="#8E94A7"/>
<rect x="5.94629" y="31.0555" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 5.94629 31.0555)" fill="#8E94A7"/>
<rect x="6.51074" y="32.883" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 6.51074 32.883)" fill="#8E94A7"/>
<rect x="7.0752" y="34.7105" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 7.0752 34.7105)" fill="#8E94A7"/>
<rect x="7.63965" y="36.538" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 7.63965 36.538)" fill="#8E94A7"/>
<g filter="url(#filter7_d_5416_66014)">
<path d="M12.7657 22.2044L11.9414 19.5345L15.4615 21.383L12.7657 22.2044Z" fill="#2F80ED"/>
</g>
<path d="M23.3464 30.4149L21.6195 27.8374C17.4783 27.8116 8.89706 27.7601 7.70111 27.7601C6.20617 27.7601 5.58758 29.0746 5.69068 29.8736C5.79378 30.6726 6.0773 33.379 6.23195 34.5904C6.3866 35.8018 7.44336 44.7972 7.75266 47.452C8.06196 50.1068 9.06717 50.2099 10.2013 50.2615C11.0102 50.2982 27.0003 50.2831 37.4666 50.2672C39.4879 50.2641 41.1837 48.7551 41.4257 46.7483C42.1547 40.7046 43.125 32.6683 43.193 32.1418C43.2961 31.3428 42.9868 30.4149 41.363 30.4149H23.3464Z" fill="#1C01A9" stroke="#1C01A9"/>
<circle cx="39.1465" cy="47.6581" r="5.3096" fill="#A8026B"/>
<path d="M36.4141 47.8128L38.94 50.5191L42.7289 45.5188" stroke="white"/>
<defs>
<filter id="filter0_d_5416_66014" x="9.50098" y="10.6325" width="19.3643" height="23.0869" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
<filter id="filter1_d_5416_66014" x="10.582" y="0.56636" width="25.29" height="24.7456" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
<filter id="filter2_d_5416_66014" x="27.5938" y="18.9427" width="18.9062" height="23.5628" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
<filter id="filter3_d_5416_66014" x="31.7969" y="10.9449" width="24.7656" height="25.2889" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
<filter id="filter4_d_5416_66014" x="20.7891" y="10.2309" width="18.9062" height="23.5628" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
<filter id="filter5_d_5416_66014" x="24.9922" y="2.23311" width="24.7656" height="25.2889" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
<filter id="filter6_d_5416_66014" x="0.25293" y="18.6173" width="20.9453" height="23.7033" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
<filter id="filter7_d_5416_66014" x="0.941406" y="8.53452" width="25.5205" height="24.6699" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_66014"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_66014" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,145 @@
<svg width="56" height="50" viewBox="0 0 56 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 5.29996C34.6357 2.46647 29.7033 4.8452 22.4272 4.8452C14.6263 4.8452 8.5396 1.62694 3.95704 3.69083C-0.625506 5.75473 -0.870375 12.1563 1.40341 16.2141C3.67719 20.272 5.77607 24.5397 3.95704 30.9063C2.13802 37.2729 3.60723 40.3163 8.04986 44.8289C12.4925 49.3414 26.7299 43.7444 36.1399 42.2053C45.5498 40.6661 48.2434 36.3634 48.3833 31.7808C48.5232 27.1983 44.7453 23.2454 43.6958 19.0126C42.6464 14.7799 42.5414 8.13345 38.5885 5.29996Z" fill="#EDEFF5"/>
<path d="M7.13941 42.3592L2.29204 26.1939C1.8479 24.7128 2.5486 23.1288 3.94334 22.4611L9.89731 41.1736L7.13941 42.3592Z" fill="#8E94A7"/>
<g filter="url(#filter0_d_5416_94057)">
<path d="M9.51929 7.68048C9.4149 7.13675 9.77218 6.61168 10.3163 6.50921L20.1889 4.64984C20.4482 4.60101 20.7163 4.65662 20.9347 4.80455L23.5242 6.55808C23.7437 6.70673 23.8952 6.93647 23.9454 7.19679L26.8474 22.2492C26.9522 22.7928 26.5953 23.3181 26.0513 23.421L13.9947 25.7019C13.4531 25.8043 12.9307 25.4492 12.8268 24.9078L9.51929 7.68048Z" fill="white"/>
</g>
<rect x="12.2637" y="9.7074" width="3.82529" height="4.17839" transform="rotate(-10.7124 12.2637 9.7074)" fill="#8E94A7"/>
<rect x="17.0928" y="8.79395" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-10.7124 17.0928 8.79395)" fill="#8E94A7"/>
<rect x="17.4482" y="10.6733" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-10.7124 17.4482 10.6733)" fill="#8E94A7"/>
<rect x="17.8037" y="12.5527" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-10.7124 17.8037 12.5527)" fill="#8E94A7"/>
<rect x="13.332" y="15.3414" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 13.332 15.3414)" fill="#8E94A7"/>
<rect x="13.6875" y="17.2208" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 13.6875 17.2208)" fill="#8E94A7"/>
<rect x="14.043" y="19.1001" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 14.043 19.1001)" fill="#8E94A7"/>
<rect x="14.3984" y="20.9793" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-10.7124 14.3984 20.9793)" fill="#8E94A7"/>
<g filter="url(#filter1_d_5416_94057)">
<path d="M21.1014 7.31192L20.582 4.56635L23.8724 6.79827L21.1014 7.31192Z" fill="#8E94A7"/>
</g>
<g filter="url(#filter2_d_5416_94057)">
<path d="M30.897 13.7556C31.0007 13.2117 31.5266 12.8556 32.0701 12.9612L41.9318 14.8775C42.1908 14.9278 42.4194 15.0785 42.5678 15.2966L44.3272 17.8822C44.4763 18.1014 44.5323 18.3708 44.4828 18.6313L41.6235 33.6918C41.5202 34.2357 40.9946 34.5922 40.451 34.487L28.404 32.1562C27.8628 32.0515 27.5084 31.5286 27.6116 30.9871L30.897 13.7556Z" fill="white"/>
</g>
<rect x="32.6992" y="16.6525" width="3.82529" height="4.17839" transform="rotate(10.9501 32.6992 16.6525)" fill="#8E94A7"/>
<rect x="37.5244" y="17.5859" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 37.5244 17.5859)" fill="#8E94A7"/>
<rect x="37.1611" y="19.4637" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 37.1611 19.4637)" fill="#8E94A7"/>
<rect x="36.7979" y="21.3416" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 36.7979 21.3416)" fill="#8E94A7"/>
<rect x="31.6123" y="22.2827" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 31.6123 22.2827)" fill="#8E94A7"/>
<rect x="31.249" y="24.1603" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 31.249 24.1603)" fill="#8E94A7"/>
<rect x="30.8857" y="26.0382" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 30.8857 26.0382)" fill="#8E94A7"/>
<rect x="30.5225" y="27.9161" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 30.5225 27.9161)" fill="#8E94A7"/>
<g filter="url(#filter3_d_5416_94057)">
<path d="M41.7973 17.6883L42.3281 14.9449L44.5622 18.2338L41.7973 17.6883Z" fill="#8E94A7"/>
</g>
<g filter="url(#filter4_d_5416_94057)">
<path d="M24.0923 5.04376C24.196 4.49989 24.7219 4.1438 25.2654 4.24941L35.1271 6.16573C35.3861 6.21605 35.6147 6.36669 35.7631 6.58481L37.5225 9.17038C37.6716 9.38956 37.7276 9.659 37.6782 9.91946L34.8188 24.98C34.7155 25.5239 34.1899 25.8804 33.6464 25.7752L21.5993 23.4444C21.0581 23.3397 20.7037 22.8168 20.8069 22.2753L24.0923 5.04376Z" fill="white"/>
</g>
<rect x="25.8945" y="7.94067" width="3.82529" height="4.17839" transform="rotate(10.9501 25.8945 7.94067)" fill="#8E94A7"/>
<rect x="30.7197" y="8.87402" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 30.7197 8.87402)" fill="#8E94A7"/>
<rect x="30.3564" y="10.7519" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 30.3564 10.7519)" fill="#8E94A7"/>
<rect x="29.9932" y="12.6298" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(10.9501 29.9932 12.6298)" fill="#8E94A7"/>
<rect x="24.8076" y="13.5709" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 24.8076 13.5709)" fill="#8E94A7"/>
<rect x="24.4443" y="15.4486" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 24.4443 15.4486)" fill="#8E94A7"/>
<rect x="24.0811" y="17.3265" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 24.0811 17.3265)" fill="#8E94A7"/>
<rect x="23.7178" y="19.2043" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(10.9501 23.7178 19.2043)" fill="#8E94A7"/>
<g filter="url(#filter5_d_5416_94057)">
<path d="M34.9927 8.97649L35.5234 6.23309L37.7575 9.52199L34.9927 8.97649Z" fill="#8E94A7"/>
</g>
<g filter="url(#filter6_d_5416_94057)">
<path d="M0.29864 16.8707C0.133876 16.3421 0.429958 15.7802 0.959114 15.6173L10.5607 12.6615C10.8128 12.5839 11.0854 12.6091 11.3191 12.7316L14.0891 14.1833C14.3239 14.3064 14.5002 14.5177 14.5793 14.7707L19.1525 29.4022C19.3177 29.9307 19.0221 30.4927 18.4931 30.656L6.76862 34.2758C6.24193 34.4384 5.68297 34.1441 5.51893 33.6179L0.29864 16.8707Z" fill="white"/>
</g>
<rect x="3.25391" y="18.5768" width="3.82529" height="4.17839" transform="rotate(-17.1573 3.25391 18.5768)" fill="#8E94A7"/>
<rect x="7.94824" y="17.1271" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-17.1573 7.94824 17.1271)" fill="#8E94A7"/>
<rect x="8.5127" y="18.9547" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-17.1573 8.5127 18.9547)" fill="#8E94A7"/>
<rect x="9.07715" y="20.7822" width="4.73747" height="0.353104" rx="0.176552" transform="rotate(-17.1573 9.07715 20.7822)" fill="#8E94A7"/>
<rect x="4.94629" y="24.0554" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 4.94629 24.0554)" fill="#8E94A7"/>
<rect x="5.51074" y="25.8829" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 5.51074 25.8829)" fill="#8E94A7"/>
<rect x="6.0752" y="27.7104" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 6.0752 27.7104)" fill="#8E94A7"/>
<rect x="6.63965" y="29.538" width="9.6515" height="0.353104" rx="0.176552" transform="rotate(-17.1573 6.63965 29.538)" fill="#8E94A7"/>
<g filter="url(#filter7_d_5416_94057)">
<path d="M11.7657 15.2044L10.9414 12.5345L14.4615 14.383L11.7657 15.2044Z" fill="#8E94A7"/>
</g>
<path d="M22.3464 23.4149L20.6195 20.8374C16.4783 20.8116 7.89706 20.7601 6.70111 20.7601C5.20617 20.7601 4.58758 22.0746 4.69068 22.8736C4.79378 23.6726 5.0773 26.379 5.23195 27.5904C5.3866 28.8018 6.44336 37.7972 6.75266 40.452C7.06196 43.1068 8.06717 43.2099 9.20126 43.2614C10.0102 43.2982 26.0003 43.2831 36.4666 43.2672C38.4879 43.2641 40.1837 41.7551 40.4257 39.7483C41.1547 33.7046 42.125 25.6683 42.193 25.1418C42.2961 24.3428 41.9868 23.4149 40.363 23.4149H22.3464Z" fill="#8E94A7" stroke="#8E94A7"/>
<circle cx="38.1465" cy="40.6581" r="5.3096" fill="#8E94A7"/>
<path d="M35.4141 40.8128L37.94 43.5191L41.7289 38.5188" stroke="white"/>
<defs>
<filter id="filter0_d_5416_94057" x="8.50098" y="3.63257" width="19.3643" height="23.0869" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
<filter id="filter1_d_5416_94057" x="9.58203" y="-6.43365" width="25.29" height="24.7455" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
<filter id="filter2_d_5416_94057" x="26.5938" y="11.9426" width="18.9062" height="23.5628" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
<filter id="filter3_d_5416_94057" x="30.7969" y="3.94489" width="24.7656" height="25.2889" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
<filter id="filter4_d_5416_94057" x="19.7891" y="3.23083" width="18.9062" height="23.5628" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
<filter id="filter5_d_5416_94057" x="23.9922" y="-4.76691" width="24.7656" height="25.2889" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
<filter id="filter6_d_5416_94057" x="-0.74707" y="11.6172" width="20.9453" height="23.7033" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
<filter id="filter7_d_5416_94057" x="-0.0585938" y="1.53448" width="25.5205" height="24.6699" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="5.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94057"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94057" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,30 @@
<svg width="37" height="46" viewBox="0 0 37 46" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_5571_69477)">
<path d="M1.25977 3.69311C1.25977 2.58855 2.1552 1.69312 3.25977 1.69312H22.4723C23.0011 1.69312 23.5084 1.90256 23.8832 2.27563L34.6026 12.9454C34.9796 13.3208 35.1916 13.8309 35.1916 14.3629V42.2285C35.1916 43.3331 34.2962 44.2285 33.1916 44.2285H3.25976C2.15519 44.2285 1.25977 43.3331 1.25977 42.2285V3.69311Z" fill="#1C01A9"/>
</g>
<rect x="6.78711" y="10.0045" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="6.78711" y="14.5446" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="6.78711" y="19.0844" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="6.78711" y="23.6243" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="6.78711" y="28.1643" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="6.78711" y="32.7041" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="6.78711" y="37.244" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="17.7695" y="23.4031" width="14.5161" height="2.82258" rx="1.41129" transform="rotate(45 17.7695 23.4031)" fill="#A8026B"/>
<rect x="9.72656" y="16.9514" width="13.7826" height="13.6197" rx="6.80985" fill="#A8026B"/>
<rect x="11.3398" y="18.5642" width="10.4839" height="10.4839" rx="5.24194" fill="#EDEFF5"/>
<path d="M16.5817 21.7646C14.3135 21.7646 13.4062 23.8062 13.4062 23.8062C13.4062 23.8062 14.3135 25.8473 16.5817 25.8473C18.8498 25.8473 19.7571 23.8062 19.7571 23.8062C19.7571 23.8062 18.8498 21.7646 16.5817 21.7646Z" fill="#A8026B" stroke="#A8026B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16.5813 24.9403C17.2077 24.9403 17.7154 24.4325 17.7154 23.8062C17.7154 23.1799 17.2077 22.6721 16.5813 22.6721C15.955 22.6721 15.4473 23.1799 15.4473 23.8062C15.4473 24.4325 15.955 24.9403 16.5813 24.9403Z" fill="white"/>
<path d="M23.2988 13.4619V1.69312L35.1575 13.4619H23.2988Z" fill="#2F80ED"/>
<defs>
<filter id="filter0_d_5571_69477" x="0.259766" y="0.693115" width="35.9316" height="44.5354" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5571_69477"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5571_69477" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,31 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 5.29608C34.6357 2.46737 29.7033 4.84209 22.4272 4.84209C14.6263 4.84209 8.5396 1.62925 3.95704 3.68967C-0.625506 5.75009 -0.870375 12.1409 1.40341 16.1919C3.67719 20.2429 5.77607 24.5034 3.95704 30.8592C2.13802 37.2151 3.60723 40.2533 8.04986 44.7583C12.4925 49.2633 26.7299 43.6757 36.1399 42.1391C45.5498 40.6026 48.2434 36.3071 48.3833 31.7323C48.5232 27.1575 44.7453 23.2112 43.6958 18.9856C42.6464 14.76 42.5414 8.12479 38.5885 5.29608Z" fill="#EDEFF5"/>
<g filter="url(#filter0_d_5416_94123)">
<path d="M7.25977 5.69318C7.25977 4.58861 8.1552 3.69318 9.25977 3.69318H28.4723C29.0011 3.69318 29.5084 3.90262 29.8832 4.27569L40.6026 14.9455C40.9796 15.3208 41.1916 15.8309 41.1916 16.363V44.2286C41.1916 45.3331 40.2962 46.2286 39.1916 46.2286H9.25976C8.15519 46.2286 7.25977 45.3331 7.25977 44.2286V5.69318Z" fill="#8E94A7"/>
</g>
<rect x="12.7871" y="12.0045" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="16.5446" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="21.0844" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="25.6243" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="30.1643" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="34.7042" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="39.244" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="23.7695" y="25.4032" width="14.5161" height="2.82258" rx="1.41129" transform="rotate(45 23.7695 25.4032)" fill="#8E94A7"/>
<rect x="15.7256" y="18.9515" width="13.7826" height="13.6197" rx="6.80985" fill="#8E94A7"/>
<rect x="17.3389" y="20.5643" width="10.4839" height="10.4839" rx="5.24194" fill="#EDEFF5"/>
<path d="M22.5817 23.7647C20.3135 23.7647 19.4062 25.8063 19.4062 25.8063C19.4062 25.8063 20.3135 27.8474 22.5817 27.8474C24.8498 27.8474 25.7571 25.8063 25.7571 25.8063C25.7571 25.8063 24.8498 23.7647 22.5817 23.7647Z" fill="#8E94A7" stroke="#8E94A7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M22.5813 26.9404C23.2077 26.9404 23.7154 26.4326 23.7154 25.8063C23.7154 25.18 23.2077 24.6722 22.5813 24.6722C21.955 24.6722 21.4473 25.18 21.4473 25.8063C21.4473 26.4326 21.955 26.9404 22.5813 26.9404Z" fill="white"/>
<path d="M29.2979 15.462V3.69318L41.1565 15.462H29.2979Z" fill="#8E94A7"/>
<defs>
<filter id="filter0_d_5416_94123" x="6.25977" y="2.69318" width="35.9316" height="44.5354" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94123"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94123" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,25 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 5.29608C34.6357 2.46737 29.7033 4.84209 22.4272 4.84209C14.6263 4.84209 8.5396 1.62925 3.95704 3.68967C-0.625506 5.75009 -0.870375 12.1409 1.40341 16.1919C3.67719 20.2429 5.77607 24.5034 3.95704 30.8592C2.13802 37.2151 3.60723 40.2533 8.04986 44.7583C12.4925 49.2633 26.7299 43.6757 36.1399 42.1391C45.5498 40.6026 48.2434 36.3071 48.3833 31.7323C48.5232 27.1575 44.7453 23.2112 43.6958 18.9856C42.6464 14.76 42.5414 8.12479 38.5885 5.29608Z" fill="#EDEFF5"/>
<g filter="url(#filter0_d_5571_69574)">
<path d="M7.25977 5.69311C7.25977 4.58855 8.1552 3.69312 9.25977 3.69312H28.4723C29.0011 3.69312 29.5084 3.90256 29.8832 4.27563L40.6026 14.9454C40.9796 15.3208 41.1916 15.8309 41.1916 16.3629V44.2285C41.1916 45.3331 40.2962 46.2285 39.1916 46.2285H9.25976C8.15519 46.2285 7.25977 45.3331 7.25977 44.2285V5.69311Z" fill="#1C01A9"/>
</g>
<path d="M31.296 30.9365C31.7454 30.2351 32.7703 30.2351 33.2198 30.9365C33.5381 31.4333 34.1824 31.606 34.7065 31.3349C35.4465 30.9521 36.334 31.4646 36.3725 32.2968C36.3998 32.8862 36.8715 33.3579 37.4609 33.3851C38.2931 33.4237 38.8056 34.3112 38.4228 35.0512C38.1517 35.5753 38.3244 36.2196 38.8212 36.5379C39.5226 36.9874 39.5226 38.0123 38.8212 38.4617C38.3244 38.78 38.1517 39.4244 38.4228 39.9485C38.8056 40.6884 38.2931 41.576 37.4609 41.6145C36.8715 41.6418 36.3998 42.1134 36.3725 42.7029C36.334 43.535 35.4465 44.0475 34.7065 43.6648C34.1824 43.3937 33.5381 43.5663 33.2198 44.0631C32.7703 44.7646 31.7454 44.7646 31.296 44.0631C30.9777 43.5663 30.3333 43.3937 29.8092 43.6648C29.0693 44.0475 28.1817 43.535 28.1432 42.7029C28.1159 42.1134 27.6443 41.6418 27.0548 41.6145C26.2226 41.576 25.7102 40.6884 26.0929 39.9485C26.364 39.4244 26.1914 38.78 25.6946 38.4617C24.9931 38.0123 24.9931 36.9874 25.6946 36.5379C26.1914 36.2196 26.364 35.5753 26.0929 35.0512C25.7102 34.3112 26.2226 33.4237 27.0548 33.3851C27.6443 33.3579 28.1159 32.8862 28.1432 32.2968C28.1817 31.4646 29.0693 30.9521 29.8092 31.3349C30.3333 31.606 30.9777 31.4333 31.296 30.9365Z" fill="#A8026B"/>
<path d="M29.8547 39.2135C29.8547 39.1316 29.8244 39.0607 29.7637 39.0009C29.7031 38.941 29.6313 38.9111 29.5483 38.9111C29.4621 38.9111 29.3894 38.941 29.3304 39.0009C29.2713 39.0607 29.2418 39.1316 29.2418 39.2135C29.2418 39.2986 29.2713 39.3702 29.3304 39.4285C29.3894 39.4868 29.4621 39.5159 29.5483 39.5159C29.6313 39.5159 29.7031 39.4868 29.7637 39.4285C29.8244 39.3702 29.8547 39.2986 29.8547 39.2135ZM30.6208 36.7941V39.8183C30.6208 39.9002 30.5905 39.9711 30.5299 40.031C30.4692 40.0908 30.3974 40.1208 30.3144 40.1208H28.9354C28.8524 40.1208 28.7805 40.0908 28.7199 40.031C28.6592 39.9711 28.6289 39.9002 28.6289 39.8183V36.7941C28.6289 36.7122 28.6592 36.6414 28.7199 36.5815C28.7805 36.5216 28.8524 36.4917 28.9354 36.4917H30.3144C30.3974 36.4917 30.4692 36.5216 30.5299 36.5815C30.5905 36.6414 30.6208 36.7122 30.6208 36.7941ZM36.2902 36.7941C36.2902 37.0651 36.2024 37.2997 36.0268 37.4982C36.0747 37.6368 36.0987 37.7565 36.0987 37.8573C36.1082 38.0968 36.0396 38.3125 35.8928 38.5047C35.947 38.6811 35.947 38.8654 35.8928 39.0576C35.8449 39.2371 35.7587 39.3852 35.6342 39.5017C35.6629 39.8546 35.5847 40.1397 35.3996 40.357C35.1953 40.5964 34.8808 40.7193 34.4563 40.7256H33.8386C33.6279 40.7256 33.3981 40.7012 33.1491 40.6524C32.9001 40.6035 32.7061 40.5578 32.5673 40.5153C32.4284 40.4728 32.2361 40.4106 31.9903 40.3287C31.5977 40.1932 31.3455 40.1239 31.2337 40.1208C31.1507 40.1176 31.0789 40.0869 31.0183 40.0286C30.9576 39.9703 30.9273 39.9002 30.9273 39.8183V36.7894C30.9273 36.7107 30.956 36.6421 31.0135 36.5839C31.0709 36.5256 31.1396 36.4933 31.2194 36.487C31.296 36.4807 31.4173 36.3878 31.5833 36.2082C31.7493 36.0286 31.9105 35.8381 32.0669 35.6364C32.284 35.3624 32.4452 35.1734 32.5505 35.0694C32.608 35.0127 32.6575 34.9371 32.699 34.8426C32.7405 34.7481 32.7684 34.6717 32.7828 34.6134C32.7971 34.5551 32.8187 34.4598 32.8474 34.3275C32.8697 34.2047 32.8897 34.1086 32.9073 34.0393C32.9248 33.97 32.9559 33.8881 33.0006 33.7936C33.0453 33.6991 33.0996 33.6203 33.1634 33.5573C33.2241 33.4975 33.2959 33.4675 33.3789 33.4675C33.5257 33.4675 33.6574 33.4841 33.7739 33.5171C33.8905 33.5502 33.9862 33.5912 34.0612 33.64C34.1363 33.6888 34.2001 33.7526 34.2528 33.8314C34.3054 33.9101 34.3438 33.981 34.3677 34.044C34.3916 34.107 34.4108 34.1858 34.4252 34.2803C34.4395 34.3748 34.4475 34.4457 34.4491 34.4929C34.4507 34.5402 34.4515 34.6016 34.4515 34.6772C34.4515 34.7969 34.4363 34.9166 34.406 35.0363C34.3757 35.156 34.3453 35.2505 34.315 35.3198C34.2847 35.3892 34.2408 35.4774 34.1833 35.5845C34.1738 35.6034 34.1578 35.6317 34.1355 35.6695C34.1131 35.7073 34.0956 35.742 34.0828 35.7735C34.07 35.805 34.0572 35.8428 34.0445 35.8869H35.3708C35.6198 35.8869 35.8353 35.9767 36.0173 36.1562C36.1992 36.3358 36.2902 36.5484 36.2902 36.7941Z" fill="white"/>
<rect x="12.7871" y="12.0046" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="16.5447" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="21.0845" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="25.6243" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<path d="M29.2988 15.4619V3.69312L41.1575 15.4619H29.2988Z" fill="#2F80ED"/>
<defs>
<filter id="filter0_d_5571_69574" x="6.25977" y="2.69312" width="35.9316" height="44.5354" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5571_69574"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5571_69574" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,25 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 5.29608C34.6357 2.46737 29.7033 4.84209 22.4272 4.84209C14.6263 4.84209 8.5396 1.62925 3.95704 3.68967C-0.625506 5.75009 -0.870375 12.1409 1.40341 16.1919C3.67719 20.2429 5.77607 24.5034 3.95704 30.8592C2.13802 37.2151 3.60723 40.2533 8.04986 44.7583C12.4925 49.2633 26.7299 43.6757 36.1399 42.1391C45.5498 40.6026 48.2434 36.3071 48.3833 31.7323C48.5232 27.1575 44.7453 23.2112 43.6958 18.9856C42.6464 14.76 42.5414 8.12479 38.5885 5.29608Z" fill="#EDEFF5"/>
<g filter="url(#filter0_d_5416_94151)">
<path d="M7.25977 5.69324C7.25977 4.58867 8.1552 3.69324 9.25977 3.69324H28.4723C29.0011 3.69324 29.5084 3.90268 29.8832 4.27575L40.6026 14.9456C40.9796 15.3209 41.1916 15.831 41.1916 16.363V44.2286C41.1916 45.3332 40.2962 46.2286 39.1916 46.2286H9.25976C8.15519 46.2286 7.25977 45.3332 7.25977 44.2286V5.69324Z" fill="#8E94A7"/>
</g>
<path d="M31.296 30.9367C31.7454 30.2353 32.7703 30.2353 33.2198 30.9367C33.5381 31.4335 34.1824 31.6062 34.7065 31.3351C35.4465 30.9523 36.334 31.4648 36.3725 32.297C36.3998 32.8864 36.8715 33.3581 37.4609 33.3853C38.2931 33.4238 38.8056 34.3114 38.4228 35.0514C38.1517 35.5755 38.3244 36.2198 38.8212 36.5381C39.5226 36.9876 39.5226 38.0124 38.8212 38.4619C38.3244 38.7802 38.1517 39.4245 38.4228 39.9486C38.8056 40.6886 38.2931 41.5762 37.4609 41.6147C36.8715 41.6419 36.3998 42.1136 36.3725 42.703C36.334 43.5352 35.4465 44.0477 34.7065 43.6649C34.1824 43.3938 33.5381 43.5665 33.2198 44.0633C32.7703 44.7647 31.7454 44.7647 31.296 44.0633C30.9777 43.5665 30.3333 43.3938 29.8092 43.6649C29.0693 44.0477 28.1817 43.5352 28.1432 42.703C28.1159 42.1136 27.6443 41.6419 27.0548 41.6147C26.2226 41.5762 25.7102 40.6886 26.0929 39.9486C26.364 39.4245 26.1914 38.7802 25.6946 38.4619C24.9931 38.0124 24.9931 36.9876 25.6946 36.5381C26.1914 36.2198 26.364 35.5755 26.0929 35.0514C25.7102 34.3114 26.2226 33.4238 27.0548 33.3853C27.6443 33.3581 28.1159 32.8864 28.1432 32.297C28.1817 31.4648 29.0693 30.9523 29.8092 31.3351C30.3333 31.6062 30.9777 31.4335 31.296 30.9367Z" fill="#8E94A7"/>
<path d="M29.8547 39.2137C29.8547 39.1318 29.8244 39.061 29.7637 39.0011C29.7031 38.9412 29.6313 38.9113 29.5483 38.9113C29.4621 38.9113 29.3894 38.9412 29.3304 39.0011C29.2713 39.061 29.2418 39.1318 29.2418 39.2137C29.2418 39.2988 29.2713 39.3705 29.3304 39.4287C29.3894 39.487 29.4621 39.5162 29.5483 39.5162C29.6313 39.5162 29.7031 39.487 29.7637 39.4287C29.8244 39.3705 29.8547 39.2988 29.8547 39.2137ZM30.6208 36.7944V39.8186C30.6208 39.9005 30.5905 39.9714 30.5299 40.0312C30.4692 40.0911 30.3974 40.121 30.3144 40.121H28.9354C28.8524 40.121 28.7805 40.0911 28.7199 40.0312C28.6592 39.9714 28.6289 39.9005 28.6289 39.8186V36.7944C28.6289 36.7125 28.6592 36.6416 28.7199 36.5817C28.7805 36.5219 28.8524 36.492 28.9354 36.492H30.3144C30.3974 36.492 30.4692 36.5219 30.5299 36.5817C30.5905 36.6416 30.6208 36.7125 30.6208 36.7944ZM36.2902 36.7944C36.2902 37.0653 36.2024 37.3 36.0268 37.4985C36.0747 37.6371 36.0987 37.7568 36.0987 37.8576C36.1082 38.097 36.0396 38.3128 35.8928 38.5049C35.947 38.6814 35.947 38.8656 35.8928 39.0578C35.8449 39.2374 35.7587 39.3854 35.6342 39.502C35.6629 39.8548 35.5847 40.1399 35.3996 40.3573C35.1953 40.5967 34.8808 40.7195 34.4563 40.7258H33.8386C33.6279 40.7258 33.3981 40.7014 33.1491 40.6526C32.9001 40.6038 32.7061 40.5581 32.5673 40.5156C32.4284 40.473 32.2361 40.4108 31.9903 40.3289C31.5977 40.1935 31.3455 40.1241 31.2337 40.121C31.1507 40.1178 31.0789 40.0871 31.0183 40.0289C30.9576 39.9706 30.9273 39.9005 30.9273 39.8186V36.7897C30.9273 36.7109 30.956 36.6424 31.0135 36.5841C31.0709 36.5258 31.1396 36.4935 31.2194 36.4872C31.296 36.4809 31.4173 36.388 31.5833 36.2084C31.7493 36.0289 31.9105 35.8383 32.0669 35.6367C32.284 35.3626 32.4452 35.1736 32.5505 35.0697C32.608 35.0129 32.6575 34.9373 32.699 34.8428C32.7405 34.7483 32.7684 34.6719 32.7828 34.6137C32.7971 34.5554 32.8187 34.4601 32.8474 34.3278C32.8697 34.2049 32.8897 34.1088 32.9073 34.0395C32.9248 33.9702 32.9559 33.8883 33.0006 33.7938C33.0453 33.6993 33.0996 33.6206 33.1634 33.5576C33.2241 33.4977 33.2959 33.4678 33.3789 33.4678C33.5257 33.4678 33.6574 33.4843 33.7739 33.5174C33.8905 33.5505 33.9862 33.5914 34.0612 33.6402C34.1363 33.6891 34.2001 33.7529 34.2528 33.8316C34.3054 33.9104 34.3438 33.9813 34.3677 34.0443C34.3916 34.1073 34.4108 34.186 34.4252 34.2805C34.4395 34.375 34.4475 34.4459 34.4491 34.4932C34.4507 34.5404 34.4515 34.6018 34.4515 34.6775C34.4515 34.7972 34.4363 34.9169 34.406 35.0366C34.3757 35.1563 34.3453 35.2508 34.315 35.3201C34.2847 35.3894 34.2408 35.4776 34.1833 35.5847C34.1738 35.6036 34.1578 35.632 34.1355 35.6698C34.1131 35.7076 34.0956 35.7422 34.0828 35.7737C34.07 35.8052 34.0572 35.843 34.0445 35.8871H35.3708C35.6198 35.8871 35.8353 35.9769 36.0173 36.1565C36.1992 36.336 36.2902 36.5487 36.2902 36.7944Z" fill="white"/>
<rect x="12.7871" y="12.0046" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="16.5447" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="21.0845" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="25.6243" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<path d="M29.2979 15.4621V3.69324L41.1565 15.4621H29.2979Z" fill="#8E94A7"/>
<defs>
<filter id="filter0_d_5416_94151" x="6.25977" y="2.69324" width="35.9316" height="44.5354" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94151"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94151" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,12 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 2.29608C34.6357 -0.532625 29.7033 1.84209 22.4272 1.84209C14.6263 1.84209 8.5396 -1.37075 3.95704 0.689669C-0.625506 2.75009 -0.870375 9.14087 1.40341 13.1919C3.67719 17.2429 5.77607 21.5034 3.95704 27.8592C2.13802 34.2151 3.60723 37.2533 8.04986 41.7583C12.4925 46.2633 26.7299 40.6757 36.1399 39.1391C45.5498 37.6026 48.2434 33.3071 48.3833 28.7323C48.5232 24.1575 44.7453 20.2112 43.6958 15.9856C42.6464 11.76 42.5414 5.12479 38.5885 2.29608Z" fill="#EDEFF5"/>
<path d="M7.24219 3.62915H42.7583C43.8629 3.62915 44.7583 4.52458 44.7583 5.62915V37.113C44.7583 38.2176 43.8629 39.113 42.7583 39.113H7.24219C6.13762 39.113 5.24219 38.2176 5.24219 37.113V5.62915C5.24219 4.52458 6.13762 3.62915 7.24219 3.62915Z" fill="#1C01A9"/>
<path d="M33.7031 44.8945V41.5325H37.937V44.9177C37.937 45.5026 37.2171 45.7809 36.8237 45.3481C36.3322 44.8075 35.4885 44.7874 34.9718 45.3041L34.8898 45.3861C34.4519 45.824 33.7031 45.5139 33.7031 44.8945Z" fill="#A8026B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.3061 16.7291C11.8966 16.2309 10.8867 14.8866 10.8867 13.3065C10.8867 11.3023 12.5115 9.67749 14.5158 9.67749C16.52 9.67749 18.1448 11.3023 18.1448 13.3065C18.1448 14.7314 17.3236 15.9645 16.1287 16.5583V17.742L14.919 18.5485L16.1287 19.3549V20.1614H15.3222V20.9678H16.1287V21.7743H15.3222V22.5807H16.1287V24.1936L14.7174 25.8065H13.3061V16.7291ZM14.5158 16.1291C15.4065 16.1291 16.1287 15.407 16.1287 14.5162C16.1287 13.6254 15.4065 12.9033 14.5158 12.9033C13.625 12.9033 12.9028 13.6254 12.9028 14.5162C12.9028 15.407 13.625 16.1291 14.5158 16.1291Z" fill="white"/>
<path d="M33.4689 15.7258H22.5818C22.1365 15.7258 21.7754 16.0869 21.7754 16.5323C21.7754 16.9777 22.1365 17.3387 22.5818 17.3387H33.4689C33.9143 17.3387 34.2754 16.9777 34.2754 16.5323C34.2754 16.0869 33.9143 15.7258 33.4689 15.7258Z" fill="#2F80ED"/>
<path d="M40.3238 10.4839H22.9851C22.317 10.4839 21.7754 11.0255 21.7754 11.6936C21.7754 12.3617 22.317 12.9032 22.9851 12.9032H40.3238C40.9919 12.9032 41.5335 12.3617 41.5335 11.6936C41.5335 11.0255 40.9919 10.4839 40.3238 10.4839Z" fill="#EDEFF5"/>
<path d="M31.856 18.9517H22.5818C22.1365 18.9517 21.7754 19.3127 21.7754 19.7581C21.7754 20.2035 22.1365 20.5646 22.5818 20.5646H31.856C32.3014 20.5646 32.6625 20.2035 32.6625 19.7581C32.6625 19.3127 32.3014 18.9517 31.856 18.9517Z" fill="#2F80ED"/>
<path d="M37.098 21.7744H22.5818C22.1365 21.7744 21.7754 22.1355 21.7754 22.5809C21.7754 23.0263 22.1365 23.3873 22.5818 23.3873H37.098C37.5434 23.3873 37.9044 23.0263 37.9044 22.5809C37.9044 22.1355 37.5434 21.7744 37.098 21.7744Z" fill="#2F80ED"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M36.6802 27.3078C36.2307 26.6064 35.2058 26.6064 34.7564 27.3078C34.4381 27.8046 33.7938 27.9773 33.2697 27.7062C32.5297 27.3234 31.6421 27.8359 31.6036 28.6681C31.5763 29.2575 31.1047 29.7292 30.5152 29.7565C29.6831 29.795 29.1706 30.6825 29.5534 31.4225C29.8245 31.9466 29.6518 32.5909 29.155 32.9092C28.4535 33.3587 28.4535 34.3836 29.155 34.833C29.6518 35.1513 29.8245 35.7957 29.5534 36.3198C29.1706 37.0597 29.6831 37.9473 30.5152 37.9858C31.1047 38.0131 31.5763 38.4847 31.6036 39.0742C31.6421 39.9064 32.5297 40.4188 33.2697 40.0361C33.7938 39.765 34.4381 39.9376 34.7564 40.4344C35.2058 41.1359 36.2307 41.1359 36.6802 40.4344C36.9985 39.9376 37.6428 39.765 38.1669 40.0361C38.9069 40.4188 39.7945 39.9064 39.833 39.0742C39.8602 38.4847 40.3319 38.0131 40.9213 37.9858C41.7535 37.9473 42.266 37.0597 41.8832 36.3198C41.6121 35.7957 41.7848 35.1513 42.2816 34.833C42.983 34.3836 42.983 33.3587 42.2816 32.9092C41.7848 32.5909 41.6121 31.9466 41.8832 31.4225C42.266 30.6825 41.7535 29.795 40.9213 29.7565C40.3319 29.7292 39.8602 29.2575 39.833 28.6681C39.7945 27.8359 38.9069 27.3234 38.1669 27.7062C37.6428 27.9773 36.9985 27.8046 36.6802 27.3078ZM35.7183 37.9034C37.9452 37.9034 39.7505 36.0981 39.7505 33.8711C39.7505 31.6442 37.9452 29.8389 35.7183 29.8389C33.4913 29.8389 31.686 31.6442 31.686 33.8711C31.686 36.0981 33.4913 37.9034 35.7183 37.9034Z" fill="#A8026B"/>
<circle cx="35.7187" cy="33.871" r="4.43548" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,12 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 2.29608C34.6357 -0.532625 29.7033 1.84209 22.4272 1.84209C14.6263 1.84209 8.5396 -1.37075 3.95704 0.689669C-0.625506 2.75009 -0.870375 9.14087 1.40341 13.1919C3.67719 17.2429 5.77607 21.5034 3.95704 27.8592C2.13802 34.2151 3.60723 37.2533 8.04986 41.7583C12.4925 46.2633 26.7299 40.6757 36.1399 39.1391C45.5498 37.6026 48.2434 33.3071 48.3833 28.7323C48.5232 24.1575 44.7453 20.2112 43.6958 15.9856C42.6464 11.76 42.5414 5.12479 38.5885 2.29608Z" fill="#EDEFF5"/>
<path d="M7.24219 3.62903H42.7583C43.8629 3.62903 44.7583 4.52446 44.7583 5.62903V37.1129C44.7583 38.2175 43.8629 39.1129 42.7583 39.1129H7.24219C6.13762 39.1129 5.24219 38.2175 5.24219 37.1129V5.62903C5.24219 4.52446 6.13762 3.62903 7.24219 3.62903Z" fill="#8E94A7"/>
<path d="M33.7021 44.8943V41.5322H37.936V44.9175C37.936 45.5023 37.2161 45.7807 36.8227 45.3479C36.3312 44.8072 35.4875 44.7872 34.9709 45.3038L34.8889 45.3858C34.4509 45.8238 33.7021 45.5136 33.7021 44.8943Z" fill="#8E94A7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.3071 16.729C11.8975 16.2308 10.8877 14.8866 10.8877 13.3065C10.8877 11.3022 12.5125 9.67743 14.5167 9.67743C16.521 9.67743 18.1458 11.3022 18.1458 13.3065C18.1458 14.7313 17.3246 15.9644 16.1296 16.5583V17.7419L14.92 18.5484L16.1296 19.3548V20.1613H15.3232V20.9678H16.1296V21.7742H15.3232V22.5807H16.1296V24.1936L14.7183 25.8065H13.3071V16.729ZM14.5167 16.129C15.4075 16.129 16.1296 15.4069 16.1296 14.5161C16.1296 13.6254 15.4075 12.9032 14.5167 12.9032C13.6259 12.9032 12.9038 13.6254 12.9038 14.5161C12.9038 15.4069 13.6259 16.129 14.5167 16.129Z" fill="white"/>
<path d="M33.468 15.7258H22.5809C22.1355 15.7258 21.7744 16.0869 21.7744 16.5323C21.7744 16.9777 22.1355 17.3387 22.5809 17.3387H33.468C33.9134 17.3387 34.2744 16.9777 34.2744 16.5323C34.2744 16.0869 33.9134 15.7258 33.468 15.7258Z" fill="white"/>
<path d="M40.3228 10.4839H22.9841C22.316 10.4839 21.7744 11.0255 21.7744 11.6936C21.7744 12.3617 22.316 12.9032 22.9841 12.9032H40.3228C40.9909 12.9032 41.5325 12.3617 41.5325 11.6936C41.5325 11.0255 40.9909 10.4839 40.3228 10.4839Z" fill="#EDEFF5"/>
<path d="M31.8551 18.9516H22.5809C22.1355 18.9516 21.7744 19.3127 21.7744 19.7581C21.7744 20.2034 22.1355 20.5645 22.5809 20.5645H31.8551C32.3005 20.5645 32.6615 20.2034 32.6615 19.7581C32.6615 19.3127 32.3004 18.9516 31.8551 18.9516Z" fill="white"/>
<path d="M37.097 21.7742H22.5809C22.1355 21.7742 21.7744 22.1352 21.7744 22.5806C21.7744 23.026 22.1355 23.3871 22.5809 23.3871H37.097C37.5424 23.3871 37.9034 23.026 37.9034 22.5806C37.9034 22.1352 37.5424 21.7742 37.097 21.7742Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M36.6802 27.3077C36.2307 26.6063 35.2058 26.6063 34.7564 27.3077C34.4381 27.8045 33.7938 27.9772 33.2697 27.7061C32.5297 27.3233 31.6421 27.8358 31.6036 28.668C31.5763 29.2574 31.1047 29.7291 30.5152 29.7563C29.6831 29.7948 29.1706 30.6824 29.5534 31.4224C29.8245 31.9465 29.6518 32.5908 29.155 32.9091C28.4535 33.3586 28.4535 34.3834 29.155 34.8329C29.6518 35.1512 29.8245 35.7955 29.5534 36.3196C29.1706 37.0596 29.6831 37.9472 30.5152 37.9857C31.1047 38.0129 31.5763 38.4846 31.6036 39.074C31.6421 39.9062 32.5297 40.4187 33.2697 40.0359C33.7938 39.7648 34.4381 39.9375 34.7564 40.4343C35.2058 41.1357 36.2307 41.1357 36.6802 40.4343C36.9985 39.9375 37.6428 39.7648 38.1669 40.0359C38.9069 40.4187 39.7945 39.9062 39.833 39.074C39.8602 38.4846 40.3319 38.0129 40.9213 37.9857C41.7535 37.9472 42.266 37.0596 41.8832 36.3196C41.6121 35.7955 41.7848 35.1512 42.2816 34.8329C42.983 34.3834 42.983 33.3586 42.2816 32.9091C41.7848 32.5908 41.6121 31.9465 41.8832 31.4224C42.266 30.6824 41.7535 29.7948 40.9213 29.7563C40.3319 29.7291 39.8602 29.2574 39.833 28.668C39.7945 27.8358 38.9069 27.3233 38.1669 27.7061C37.6428 27.9772 36.9985 27.8045 36.6802 27.3077ZM35.7183 37.9033C37.9452 37.9033 39.7505 36.098 39.7505 33.871C39.7505 31.644 37.9452 29.8387 35.7183 29.8387C33.4913 29.8387 31.686 31.644 31.686 33.871C31.686 36.098 33.4913 37.9033 35.7183 37.9033Z" fill="white"/>
<circle cx="35.7187" cy="33.871" r="4.43548" fill="#8E94A7"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,26 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 5.29608C34.6357 2.46737 29.7033 4.84209 22.4272 4.84209C14.6263 4.84209 8.5396 1.62925 3.95704 3.68967C-0.625506 5.75009 -0.870375 12.1409 1.40341 16.1919C3.67719 20.2429 5.77607 24.5034 3.95704 30.8592C2.13802 37.2151 3.60723 40.2533 8.04986 44.7583C12.4925 49.2633 26.7299 43.6757 36.1399 42.1391C45.5498 40.6026 48.2434 36.3071 48.3833 31.7323C48.5232 27.1575 44.7453 23.2112 43.6958 18.9856C42.6464 14.76 42.5414 8.12479 38.5885 5.29608Z" fill="#EDEFF5"/>
<g filter="url(#filter0_d_5571_69782)">
<path d="M7.25977 5.69311C7.25977 4.58855 8.1552 3.69312 9.25977 3.69312H28.4723C29.0011 3.69312 29.5084 3.90256 29.8832 4.27563L40.6026 14.9454C40.9796 15.3208 41.1916 15.8309 41.1916 16.3629V44.2285C41.1916 45.3331 40.2962 46.2285 39.1916 46.2285H9.25976C8.15519 46.2285 7.25977 45.3331 7.25977 44.2285V5.69311Z" fill="#1C01A9"/>
</g>
<rect x="12.7871" y="12.0046" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="16.5447" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="21.0845" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="25.6243" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.9043" y="39.5161" width="8.87097" height="0.403226" rx="0.201613" fill="white"/>
<path d="M13.3066 37.1322C13.9467 37.2943 16.1484 34.5312 16.5324 33.2662C17.0125 31.6848 15.7068 29.7588 15.1068 29.6371C14.5067 29.5155 14.3147 30.4435 14.3867 31.9483C14.446 33.1868 14.6267 38.8351 15.8268 38.2269C16.2067 38.0344 16.4989 37.772 16.7183 37.5C17.2514 36.8393 17.4156 36.2061 17.5405 35.6855C17.7068 34.9922 16.9514 34.4758 16.9357 35.8871C16.916 36.2264 16.9692 36.5036 17.118 36.8952C17.2715 37.299 17.8595 38.002 18.347 37.9032C19.547 37.6599 19.8302 36.0374 19.7102 35.3075C19.5902 34.5777 19.1102 34.6661 19.1102 35.5508C19.1102 36.2903 19.427 37.9836 20.5071 37.1322C21.5871 36.2807 21.9904 35.3075 21.9904 34.821C21.9904 34.3344 21.5534 34.1377 21.2703 34.821C20.9679 35.5508 20.7471 37.7404 22.0672 37.2538C23.1232 36.8645 23.3872 35.6319 23.3872 35.0643" stroke="white"/>
<path d="M29.2988 15.4619V3.69312L41.1575 15.4619H29.2988Z" fill="#2F80ED"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M41.3145 18.603C40.4472 17.9047 39.1781 18.0417 38.4798 18.909L36.9626 20.7935L40.1034 23.3222L41.6206 21.4377C42.3189 20.5704 42.1819 19.3013 41.3145 18.603ZM39.0919 24.5786L35.9511 22.0498L27.3534 32.7286L25.763 37.919L30.4943 35.2573L39.0919 24.5786Z" fill="#A8026B"/>
<defs>
<filter id="filter0_d_5571_69782" x="6.25977" y="2.69312" width="35.9316" height="44.5354" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5571_69782"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5571_69782" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,26 @@
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M38.5885 5.29608C34.6357 2.46737 29.7033 4.84209 22.4272 4.84209C14.6263 4.84209 8.5396 1.62925 3.95704 3.68967C-0.625506 5.75009 -0.870375 12.1409 1.40341 16.1919C3.67719 20.2429 5.77607 24.5034 3.95704 30.8592C2.13802 37.2151 3.60723 40.2533 8.04986 44.7583C12.4925 49.2633 26.7299 43.6757 36.1399 42.1391C45.5498 40.6026 48.2434 36.3071 48.3833 31.7323C48.5232 27.1575 44.7453 23.2112 43.6958 18.9856C42.6464 14.76 42.5414 8.12479 38.5885 5.29608Z" fill="#EDEFF5"/>
<g filter="url(#filter0_d_5416_94211)">
<path d="M7.25977 5.69324C7.25977 4.58867 8.1552 3.69324 9.25977 3.69324H28.4723C29.0011 3.69324 29.5084 3.90268 29.8832 4.27575L40.6026 14.9456C40.9796 15.3209 41.1916 15.831 41.1916 16.363V44.2286C41.1916 45.3332 40.2962 46.2286 39.1916 46.2286H9.25976C8.15519 46.2286 7.25977 45.3332 7.25977 44.2286V5.69324Z" fill="#8E94A7"/>
</g>
<rect x="12.7871" y="12.0046" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="16.5447" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="21.0845" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.7871" y="25.6243" width="22.9477" height="0.838136" rx="0.419068" fill="white"/>
<rect x="12.9033" y="39.5161" width="8.87097" height="0.403226" rx="0.201613" fill="white"/>
<path d="M13.3066 37.1322C13.9467 37.2943 16.1484 34.5312 16.5324 33.2662C17.0125 31.6848 15.7068 29.7588 15.1068 29.6371C14.5067 29.5155 14.3147 30.4435 14.3867 31.9483C14.446 33.1868 14.6267 38.8351 15.8268 38.2269C16.2067 38.0344 16.4989 37.772 16.7183 37.5C17.2514 36.8393 17.4156 36.2061 17.5405 35.6855C17.7068 34.9922 16.9514 34.4758 16.9357 35.8871C16.916 36.2264 16.9692 36.5036 17.118 36.8952C17.2715 37.299 17.8595 38.002 18.347 37.9032C19.547 37.6599 19.8302 36.0374 19.7102 35.3075C19.5902 34.5777 19.1102 34.6661 19.1102 35.5508C19.1102 36.2903 19.427 37.9836 20.5071 37.1322C21.5871 36.2807 21.9904 35.3075 21.9904 34.821C21.9904 34.3344 21.5534 34.1377 21.2703 34.821C20.9679 35.5508 20.7471 37.7404 22.0672 37.2538C23.1232 36.8645 23.3872 35.6319 23.3872 35.0643" stroke="white"/>
<path d="M29.2979 15.4621V3.69324L41.1565 15.4621H29.2979Z" fill="#8E94A7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M41.3155 18.603C40.4482 17.9048 39.179 18.0418 38.4808 18.9091L36.9635 20.7936L40.1043 23.3223L41.6216 21.4378C42.3199 20.5705 42.1828 19.3013 41.3155 18.603ZM39.0929 24.5786L35.952 22.0499L27.3544 32.7287L25.7639 37.919L30.4952 35.2574L39.0929 24.5786Z" fill="#8E94A7"/>
<defs>
<filter id="filter0_d_5416_94211" x="6.25977" y="2.69324" width="35.9316" height="44.5354" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5416_94211"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5416_94211" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

104
reducers/dealsReducer.js Normal file
View File

@ -0,0 +1,104 @@
import { HYDRATE } from 'next-redux-wrapper';
import * as actionTypes from '../constants/actionTypes';
import initialState from "./initialState";
const dealsReducer = (state = initialState.deals, action) =>
{
switch (action.type)
{
case actionTypes.DEALS_LOADED:
{
return {
...state,
loaded: action.data.loaded,
};
}
case actionTypes.DEALS_LIST:
{
return {
...state,
list: action.data.list,
};
}
case actionTypes.DEAL_LOADED:
{
return {
...state,
deal: { ...state.deal, ...{ loaded: action.data.loaded, } },
};
}
case actionTypes.DEAL_OFFERS_LIST:
{
return {
...state,
deal: { ...state.deal, ...{ offers: action.data.offers, } },
};
}
case actionTypes.DEAL_DOCUMENTS_LIST:
{
return {
...state,
deal: { ...state.deal, ...{ documents: action.data.documents, } },
};
}
case actionTypes.DEAL_CONTRACTS_LIST:
{
return {
...state,
deal: { ...state.deal, ...{ contracts: action.data.contracts, } },
};
}
case actionTypes.DEALS_RESET:
{
return {
loaded: false,
list: undefined,
deal: {
loaded: false,
offers: {
list: undefined,
filtered: undefined,
},
documents: {
list: undefined,
},
contracts: {
list: undefined,
},
},
};
}
case actionTypes.DEAL_RESET:
{
return {
deal: {
loaded: false,
offers: {
list: undefined,
filtered: undefined,
},
documents: {
list: undefined,
},
contracts: {
list: undefined,
},
},
};
}
default: {
return state;
}
}
};
export default dealsReducer;

View File

@ -232,6 +232,24 @@ export const defaultState = {
appeal: null,
request: null,
},
deals:
{
loaded: false,
list: undefined,
deal: {
loaded: false,
offers: {
list: undefined,
filtered: undefined,
},
documents: {
list: undefined,
},
contracts: {
list: undefined,
},
},
},
};
export default JSON.parse(JSON.stringify({ ...defaultState, ...{ questionnaire: questionnaire_template } }));

6
utils/index.js Normal file
View File

@ -0,0 +1,6 @@
const _checkStrValue = (value) =>
{
return value !== undefined && value !== null ? value.toString() : "";
}
export { _checkStrValue }

838
yarn.lock

File diff suppressed because it is too large Load Diff