This commit is contained in:
merelendor 2022-09-08 12:44:46 +03:00
commit 81ed694d48
13 changed files with 182 additions and 72 deletions

View File

@ -609,7 +609,7 @@ export const getContractGraphicChangeGetCurrent = ({ dispatch, number }) =>
{
console.log("ACTION", "getContractGraphicChangeGetCurrent", "response.data", response.data);
dispatch({ type: actionTypes.CONTRACT_CHANGE, data: { current: response.data.planpayments } });
dispatch({ type: actionTypes.CONTRACT_CHANGE, data: { current: { payments: response.data.planpayments, total: response.data.sum_total } } });
resolve();
})
.catch((error) =>
@ -636,7 +636,7 @@ export const getContractGraphicChangeGetCalculated = ({ dispatch, calculation })
{
console.log("ACTION", "getContractGraphicChangeGetCalculated", "response.data", response.data);
dispatch({ type: actionTypes.CONTRACT_CHANGE, data: { calculated: response.data.planpayments } });
dispatch({ type: actionTypes.CONTRACT_CHANGE, data: { calculated: { payments: response.data.planpayments, total: response.data.sum_total } } });
resolve();
})
.catch((error) =>

View File

@ -20,6 +20,21 @@ if(process.browser)
};
}
function _getMarks(query, content)
{
let new_content = content;
const search_array = query.split(" ");
for(let s in search_array)
{
const chunk = search_array[s];
const s_regex = new RegExp(chunk, 'gim');
new_content = new_content.replace(s_regex, `<mark>${ chunk }</mark>`)
}
return new_content;
}
export const setAppealsRead = ({ dispatch, appeals }) =>
{
return new Promise((resolve, reject) =>
@ -90,7 +105,32 @@ export const getSupportThemes = ({ dispatch, query, }) =>
console.log("getContractRules", "response.data", response.data);
if(query !== undefined)
{
dispatch({ type: actionTypes.SUPPORT_THEMES_FILTERED, data: { filtered: response.data.themes } });
const { themes } = response.data;
const themes_filtered = [];
for(let t in themes)
{
if(themes[t].questions.length > 0)
{
const _theme = {
_name: _getMarks(query, themes[t].name),
questions: [],
};
for(let q in themes[t].questions)
{
const _question = themes[t].questions[q];
_question._title = _getMarks(query, themes[t].questions[q].title);
_question._answer = _getMarks(query, themes[t].questions[q].answer);
_theme.questions.push(_question);
}
themes_filtered.push(_theme);
}
}
dispatch({ type: actionTypes.SUPPORT_THEMES_FILTERED, data: { filtered: themes_filtered } });
}
else
{

View File

@ -15,11 +15,12 @@ export default class NotificationsList extends React.Component
render()
{
const { events } = this.props;
const limit = window.innerWidth > 768 ? 5 : 3;
return (
<>
<ul className="list">
{ events !== undefined && events !== null && events.slice(0, 5).map((event, index) => <NotificationMessage event={ event } key={ index } { ...this.props }/>) }
{ events !== undefined && events !== null && events.slice(0, limit).map((event, index) => <NotificationMessage event={ event } key={ index } { ...this.props }/>) }
</ul>
<Link href="/events">
<a className="all">Все события</a>

View File

@ -73,10 +73,10 @@ export default class CalculationsList extends React.Component
<p className="item_desc">
{ calculation.date_offset_type_comment !== null && (<>{ `${ calculation.date_offset_type_comment.label }: ${ calculation.date_offset_type_comment.value }` }<br/></>) }
{ calculation.number_paydate_comment !== null && (<>{ `${ calculation.number_paydate_comment.label }: ${ calculation.number_paydate_comment.value }` }<br/></>) }
{ calculation.insurance_price_result_comment !== null && (<>{ calculation.insurance_price_result_comment.label }: <span style={{ whiteSpace: "nowrap"}}>{ numeral(calculation.insurance_price_result_comment.value).format(' ., ') } &nbsp;</span><br/></>) }
{ calculation.insurance_price_result_comment !== null && (<>{ calculation.insurance_price_result_comment.label }: <span>{ calculation.insurance_price_result_comment.value }</span><br/></>) }
{ calculation.fix_last_payment_available_comment !== null && (<>{ `${ calculation.fix_last_payment_available_comment.label }: ${ calculation.fix_last_payment_available_comment.value ? "да" : "нет" }` }<br/></>) }
{ calculation.period_new_comment !== null && (<>{ `${ calculation.period_new_comment.label }: ${ calculation.period_new_comment.value }` }<br/></>) }
{ calculation.sum_comment !== null && (<>{ calculation.sum_comment.label }: <span style={{ whiteSpace: "nowrap"}}>{ numeral(calculation.sum_comment.value).format(' ., ') }&nbsp;</span><br/></>) }
{ calculation.sum_comment !== null && (<>{ calculation.sum_comment.label }: <span>{ calculation.sum_comment.value }</span><br/></>) }
</p>
<a className="item_link interactive" onClick={ () => this._handle_onCalculation(calculation.addcontract_number) }>Подробнее</a>
</div>

View File

@ -48,11 +48,11 @@ export default class Comparison extends React.Component
}
const opened = [];
for(let i in current)
for(let i in current.payments)
{
if(moment(current[i].plandate) >= today)
if(moment(current.payments[i].plandate) >= today)
{
opened.push(current[i].name);
opened.push(current.payments[i].name);
break;
}
}
@ -134,13 +134,11 @@ export default class Comparison extends React.Component
if(current !== undefined && current !== null && calculated !== undefined && calculated !== null)
{
console.log("_renderMixedPayments", "current.length", current.length, "calculated.length", calculated.length);
if(current.length > calculated.length)
if(current.payments.length > calculated.payments.length)
{
return (
<>
{ current.map((payment, index) =>
{ current.payments.map((payment, index) =>
{
if(!show_previous && moment(payment.plandate) < today) { return null; }
else
@ -155,15 +153,26 @@ export default class Comparison extends React.Component
<div><span>Сумма досрочного выкупа</span> { numeral(payment.early_repayment_sum).format(' ., ') }&nbsp;</div>
</div>
<div className="table_cell">
<div><span>Новый график</span> { calculated[index] !== undefined ? moment(calculated[index].plandate, "YYYY.MM.DD").format("DD.MM.YYYY") : (`-`) }</div>
<div><span>На сумму</span> { calculated[index] !== undefined ? (<>{ numeral(calculated[index].sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
<div><span>Сумма досрочного выкупа</span> { calculated[index] !== undefined ? (<>{ numeral(calculated[index].early_repayment_sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
<div><span>Новый график</span> { calculated.payments[index] !== undefined ? moment(calculated.payments[index].plandate, "YYYY.MM.DD").format("DD.MM.YYYY") : (`-`) }</div>
<div><span>На сумму</span> { calculated.payments[index] !== undefined ? (<>{ numeral(calculated.payments[index].sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
<div><span>Сумма досрочного выкупа</span> { calculated.payments[index] !== undefined ? (<>{ numeral(calculated.payments[index].early_repayment_sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
</div>
</div>
</div>
)
}
}) }
<div key={ `mixed_total` } className={ `table_row ${ opened.indexOf("mixed_total") > -1 && "opened" }` } onClick={ () => this._handle_onMixedPayment("mixed_total") }>
<p className="row_title">Итого</p>
<div className="table_group">
<div className="table_cell">
<div><span>Текущий график</span> { numeral(current.total).format(' ., ') }&nbsp;</div>
</div>
<div className="table_cell">
<div><span>Новый график</span> { numeral(calculated.total).format(' ., ') }&nbsp;</div>
</div>
</div>
</div>
</>
)
}
@ -171,7 +180,7 @@ export default class Comparison extends React.Component
{
return (
<>
{ calculated.map((payment, index) =>
{ calculated.payments.map((payment, index) =>
{
if(!show_previous && moment(payment.plandate) < today) { return null; }
else
@ -181,9 +190,9 @@ export default class Comparison extends React.Component
<p className="row_title">Платеж { payment.name }</p>
<div className="table_group">
<div className="table_cell">
<div><span>Текущий график</span> { current[index] !== undefined ? moment(current[index].plandate, "YYYY.MM.DD").format("DD.MM.YYYY") : (`-`) }</div>
<div><span>На сумму</span> { current[index] !== undefined ? (<>{ numeral(current[index].sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
<div><span>Сумма досрочного выкупа</span> { current[index] !== undefined ? (<>{ numeral(current[index].early_repayment_sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
<div><span>Текущий график</span> { current.payments[index] !== undefined ? moment(current.payments[index].plandate, "YYYY.MM.DD").format("DD.MM.YYYY") : (`-`) }</div>
<div><span>На сумму</span> { current.payments[index] !== undefined ? (<>{ numeral(current.payments[index].sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
<div><span>Сумма досрочного выкупа</span> { current.payments[index] !== undefined ? (<>{ numeral(current.payments[index].early_repayment_sum).format(' ., ') }&nbsp;₽</>) : (`-`) }</div>
</div>
<div className="table_cell">
<div><span>Новый график</span> { moment(payment.plandate, "YYYY.MM.DD").format("DD.MM.YYYY") }</div>
@ -195,6 +204,17 @@ export default class Comparison extends React.Component
)
}
}) }
<div key={ `mixed_total` } className={ `table_row ${ opened.indexOf("mixed_total") > -1 && "opened" }` } onClick={ () => this._handle_onMixedPayment("mixed_total") }>
<p className="row_title">Итого</p>
<div className="table_group">
<div className="table_cell">
<div><span>Текущий график</span> { numeral(current.total).format(' ., ') }&nbsp;</div>
</div>
<div className="table_cell">
<div><span>Новый график</span> { numeral(calculated.total).format(' ., ') }&nbsp;</div>
</div>
</div>
</div>
</>
)
}
@ -213,18 +233,19 @@ export default class Comparison extends React.Component
<div className="compare_top">
<p>Выбранный(ые) варианты изменения графика</p>
<a className="interactive" onClick={ this._handle_onOptions }>Вернуться к параметрам изменения графика</a>
{/*}
<button className="button button-blue" onClick={ this._handle_onDownloadPDF }>Скачать PDF</button>
{*/}
</div>
<div className="compare_data">
{ calculation !== undefined && calculation !== null && calculation.fix_last_payment_available_comment !== null && (
<div className="form_field">
<input type="checkbox" hidden id="" name="" checked={ calculation.fix_last_payment_available_comment.value ? true : false } disabled style={ calculation.fix_last_payment_available_comment.value ? {} : { background: "unset"} } />
<label htmlFor="">{ calculation.fix_last_payment_available_comment.label }</label>
<p><span>{ calculation.fix_last_payment_available_comment.label }:</span> { calculation.fix_last_payment_available_comment.value ? "Да" : "Нет" }</p>
</div>
) }
{ calculation !== undefined && calculation !== null && calculation.date_offset_type_comment !== null && (
<div className="form_field">
<input type="checkbox" hidden id="" name="" checked={ calculation.date_offset_type_comment.value ? true : false } disabled style={ calculation.date_offset_type_comment.value ? {} : { background: "unset"} } />
<input type="checkbox" hidden id="" name="" checked={ calculation.date_offset_type_comment.value ? true : false } disabled={ true } style={ calculation.date_offset_type_comment.value ? {} : { background: "unset"} } />
<label htmlFor="">{ calculation.date_offset_type_comment.label }</label>
</div>
) }
@ -286,7 +307,7 @@ export default class Comparison extends React.Component
</button>
</div>
) }
{ current !== undefined && current !== null && current.map((payment, index) =>
{ current !== undefined && current !== null && current.payments.map((payment, index) =>
{
if(!show_previous && moment(payment.plandate) < today) { return null; }
@ -299,6 +320,14 @@ export default class Comparison extends React.Component
</div>
)
}) }
{ current !== undefined && current !== null && (
<div key={ `current_total` } className="table_row" >
<div></div>
<div><b>Итого</b></div>
<div><b>{ numeral(current.total).format(' ., ') }&nbsp;</b></div>
<div></div>
</div>
) }
</div>
</div>
<div className="compare_table">
@ -321,7 +350,7 @@ export default class Comparison extends React.Component
</button>
</div>
) }
{ calculated !== undefined && calculated !== null && calculated.map((payment, index) =>
{ calculated !== undefined && calculated !== null && calculated.payments.map((payment, index) =>
{
if(!show_previous && moment(payment.plandate) < today) { return null; }
@ -334,6 +363,14 @@ export default class Comparison extends React.Component
</div>
)
}) }
{ calculated !== undefined && calculated !== null && (
<div key={ `calculated_total` } className="table_row" >
<div></div>
<div><b>Итого</b></div>
<div><b>{ numeral(calculated.total).format(' ., ') }&nbsp;</b></div>
<div></div>
</div>
) }
</div>
</div>
<div className="compare_table touchable">

View File

@ -17,6 +17,7 @@ class PaymentDate extends React.Component
value: null,
min: null,
max: null,
help: false,
}
}
@ -44,6 +45,14 @@ class PaymentDate extends React.Component
});
}
_handle_onMobileHelp = () =>
{
if(window.innerWidth < 768)
{
this.setState({ help: this.state.help ? false : true });
}
}
render()
{
const { option } = this.props;
@ -74,6 +83,7 @@ class FixLastPayment extends React.Component
super(props);
this.state = {
value: false,
help: false,
};
}
@ -99,10 +109,18 @@ class FixLastPayment extends React.Component
});
}
_handle_onMobileHelp = () =>
{
if(window.innerWidth < 768)
{
this.setState({ help: this.state.help ? false : true });
}
}
render()
{
const { option } = this.props;
const { value } = this.state;
const { value, help } = this.state;
return (
<div className="form_field">
@ -112,19 +130,17 @@ class FixLastPayment extends React.Component
</label>
{ option.information !== undefined && option.information !== null && (
<div className="help_tooltip">
<div className="help_icon">
<div className="help_icon" onClick={ () => this._handle_onMobileHelp() }>
<svg width={ 24 } height={ 24 } fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z" stroke="#8E94A7" strokeWidth={ 2 } strokeLinecap="round" strokeLinejoin="round" />
<path d="M11.25 11.25H12v5.25h.75" stroke="#8E94A7" strokeWidth={ 2 } strokeLinecap="round" strokeLinejoin="round" />
<path d="M12 9a1.125 1.125 0 1 0 0-2.25A1.125 1.125 0 0 0 12 9Z" fill="#8E94A7" />
</svg>
</div>
<div className="help_content ">
{" "}
{/* opened */}
<div className={`help_content ${ help && "opened" }`}>
<div>
<p dangerouslySetInnerHTML={{ __html: option.information }}/>
<p className="button">Закрыть</p>
<p className="button" onClick={ () => this._handle_onMobileHelp() }>Закрыть</p>
</div>
</div>
</div>
@ -269,6 +285,7 @@ class SumSelector extends React.Component
value: "",
min: null,
max: null,
help: false,
}
}
@ -305,10 +322,18 @@ class SumSelector extends React.Component
}
}
_handle_onMobileHelp = () =>
{
if(window.innerWidth < 768)
{
this.setState({ help: this.state.help ? false : true });
}
}
render()
{
const { option } = this.props;
const { value, min, max } = this.state;
const { value, min, max, help } = this.state;
return (
<div className="form_field">
@ -320,19 +345,17 @@ class SumSelector extends React.Component
</div>
{ option.information !== undefined && option.information !== null && (
<div className="help_tooltip">
<div className="help_icon">
<div className="help_icon" onClick={ () => this._handle_onMobileHelp() }>
<svg width={ 24 } height={ 24 } fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z" stroke="#8E94A7" strokeWidth={ 2 } strokeLinecap="round" strokeLinejoin="round" />
<path d="M11.25 11.25H12v5.25h.75" stroke="#8E94A7" strokeWidth={ 2 } strokeLinecap="round" strokeLinejoin="round" />
<path d="M12 9a1.125 1.125 0 1 0 0-2.25A1.125 1.125 0 0 0 12 9Z" fill="#8E94A7" />
</svg>
</div>
<div className="help_content ">
{" "}
{/* opened */}
<div className={`help_content ${ help && "opened" }`}>
<div>
<p dangerouslySetInnerHTML={{ __html: option.information }}/>
<p className="button">Закрыть</p>
<p className="button" onClick={ () => this._handle_onMobileHelp() }>Закрыть</p>
</div>
</div>
</div>
@ -351,6 +374,7 @@ class InsurancePriceSelector extends React.Component
value: "",
min: null,
max: null,
help: false,
}
}
@ -395,10 +419,18 @@ class InsurancePriceSelector extends React.Component
//}
}
_handle_onMobileHelp = () =>
{
if(window.innerWidth < 768)
{
this.setState({ help: this.state.help ? false : true });
}
}
render()
{
const { option } = this.props;
const { value, min, max } = this.state;
const { value, min, max, help } = this.state;
return (
<div className="form_field">
@ -416,19 +448,17 @@ class InsurancePriceSelector extends React.Component
</div>
{ option.information !== undefined && option.information !== null && (
<div className="help_tooltip">
<div className="help_icon">
<div className="help_icon" onClick={ () => this._handle_onMobileHelp() }>
<svg width={ 24 } height={ 24 } fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z" stroke="#8E94A7" strokeWidth={ 2 } strokeLinecap="round" strokeLinejoin="round" />
<path d="M11.25 11.25H12v5.25h.75" stroke="#8E94A7" strokeWidth={ 2 } strokeLinecap="round" strokeLinejoin="round" />
<path d="M12 9a1.125 1.125 0 1 0 0-2.25A1.125 1.125 0 0 0 12 9Z" fill="#8E94A7" />
</svg>
</div>
<div className="help_content ">
{" "}
{/* opened */}
<div className={`help_content ${ help && "opened" }`}>
<div>
<p dangerouslySetInnerHTML={{ __html: option.information }}/>
<p className="button">Закрыть</p>
<p className="button" onClick={ () => this._handle_onMobileHelp() }>Закрыть</p>
</div>
</div>
</div>
@ -593,7 +623,7 @@ export default class Options extends React.Component
{
this.setState({ sending: false, }, () =>
{
alert("К сожаление при расчете возникла ошибка.");
alert("К сожалению при расчете возникла ошибка.");
});
});
});

View File

@ -68,19 +68,21 @@ export default class VariantsList extends React.Component
_handle_onMobileHelp = (index) =>
{
console.log("_handle_onMobileHelp", index);
const opened = [ ...this.state.opened ];
if(window.innerWidth < 768)
{
const opened = [ ...this.state.opened ];
if (opened.indexOf(index) === -1)
{
opened.push(index);
}
else
{
opened.splice(opened.indexOf(index), 1);
if (opened.indexOf(index) === -1)
{
opened.push(index);
}
else
{
opened.splice(opened.indexOf(index), 1);
}
this.setState({ opened: opened });
}
this.setState({ opened: opened });
}
render()

View File

@ -227,7 +227,7 @@ class ChangeGraphicPage extends React.Component
{
this.setState({ loading: false, }, () =>
{
alert("К сожаление при формировании документа возникла ошибка.");
alert("К сожалению при формировании документа возникла ошибка.");
});
});
});

View File

@ -64,7 +64,7 @@ export default class InnerMenu extends React.Component
render()
{
const { user, observer } = this.props;
const { menu, menuOpened, } = this.state;
const { menuOpened, } = this.state;
return (
<aside>

View File

@ -156,26 +156,26 @@ class SupportAppealsPage extends React.Component
{ appeal.client_request !== null && appeal.client_request !== "" && (
<>
<p><b>Текст запроса</b></p>
<p>{ appeal.client_request }</p>
<p dangerouslySetInnerHTML={{ __html: appeal.client_request.replace("\\n", "<br/>") }}></p>
</>
) }
{ appeal.documents.length > 0 && (
<div className="dosc_list medium-icon">
{ appeal.documents.map((file, index) => {
if(file.doc_direction !== "incoming") { return null; }
return (<RequestFile key={ `template_${ index }` } id={ file.doc_url } filename={ `${ file.doc_name }.${ file.doc_extension }` } extension={ file.doc_extension } title="Скачать документ"/>)
return (<RequestFile key={ `template_${ index }` } file={ file }/>)
}) }
</div>
) }
</div>
<div className="item_text">
<p><b>Ответ службы клиентского сервиса</b></p>
<p>{ appeal.answer === "" ? "Без ответа" : appeal.answer }</p>
<p dangerouslySetInnerHTML={{ __html: appeal.answer === null || appeal.answer === "" ? "Без ответа" : appeal.answer.replace("\\n", "<br/>") }}></p>
{ appeal.documents.length > 0 && (
<div className="dosc_list medium-icon">
{ appeal.documents.map((file, index) => {
if(file.doc_direction !== "outgoing") { return null; }
return (<RequestFile key={ `template_${ index }` } id={ file.doc_url } filename={ `${ file.doc_name }.${ file.doc_extension }` } extension={ file.doc_extension } title="Скачать документ"/>)
return (<RequestFile key={ `template_${ index }` } file={ file }/>)
}) }
</div>
) }

View File

@ -15,14 +15,14 @@ export default class RequestFile extends React.Component
_handle_onDownloadFile = () =>
{
const { id, filename } = this.props;
const { file } = this.props;
const { downloading } = this.state;
if(!downloading)
{
this.setState({ downloading: true }, () =>
{
getFile({ id, filename })
getFile({ id: file.doc_url, filename: `${ file.doc_name }.${ file.doc_extension }` })
.then(() => { this.setState({ downloading: false }); })
.catch(() => { this.setState({ downloading: false }); });
});
@ -31,15 +31,15 @@ export default class RequestFile extends React.Component
render()
{
const { filename, extension, title } = this.props;
const { file } = this.props;
const { downloading } = this.state;
return (
<div className="row interactive" onClick={ this._handle_onDownloadFile }>
<p className="doc_name i-pdf extension" data-format={ extension } style={{ flexDirection: "column", display: "flex", alignItems: "flex-start", }}>
{ filename }
<p className="doc_name i-pdf extension" data-format={ file.doc_extension } style={{ flexDirection: "column", display: "flex", alignItems: "flex-start", }}>
{ file.doc_name }
<span style={{ position: "relative", color: downloading ? "#8e94a780" : "#8e94a7", }}>
{ title ? title : "Скачать шаблон" } { downloading ? (<SpinnerCircular size={ 20 } thickness={ 100 } speed={ 100 } color="rgba(236, 239, 244, 1)" secondaryColor="rgba(28, 1, 169, 1)" style={{ position: "absolute", right: 0, marginRight: "-26px", top: 0, }} />) : null }
Скачать документ { downloading ? (<SpinnerCircular size={ 20 } thickness={ 100 } speed={ 100 } color="rgba(236, 239, 244, 1)" secondaryColor="rgba(28, 1, 169, 1)" style={{ position: "absolute", right: 0, marginRight: "-26px", top: 0, }} />) : null }
</span>
</p>
</div>

View File

@ -20,7 +20,7 @@ import {
resetFilteredThemes,
} from "../../actions";
class ContractPage extends React.Component
class SupportPage extends React.Component
{
constructor(props)
{
@ -248,8 +248,8 @@ class ContractPage extends React.Component
(
<div className="search_list" key={ `searched_${ question.id }` }>
<div className="search_item">
<p className="item_title" dangerouslySetInnerHTML={{ __html: this._getMarks(`${ theme.name } / ${ question.title }`) }}></p>
<p dangerouslySetInnerHTML={{ __html: this._getMarks(`${ theme.name } / ${ question.answer }`) }}/>
<p className="item_title" dangerouslySetInnerHTML={{ __html: `${ theme._name } / ${ question._title }` }}></p>
<p dangerouslySetInnerHTML={{ __html: question._answer }}/>
{/*}
<p>К каждой теме свободное <mark>html поле для миниинструкции</mark> (со ссылками на формы документов и документы). Привязка к теме обращения в CRM</p>
{*/}
@ -343,4 +343,4 @@ export const getServerSideProps = reduxWrapper.getServerSideProps(
}
);
export default withRouter(connect(mapStateToProps)(ContractPage));
export default withRouter(connect(mapStateToProps)(SupportPage));

View File

@ -43,7 +43,7 @@ const makeStore = (context) =>
const storage = require('redux-persist/lib/storage').default;
const persistConfig = {
key: 'nextjs',
key: 'lkevoleasing',
whitelist: [ 'auth', 'user', 'company', 'companies', 'contracts_info', 'contract_events' ],
storage
};