updates
This commit is contained in:
parent
1305e6d9c4
commit
a6b3ae25e0
61
actions/authActions.js
Normal file
61
actions/authActions.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
import { Cookies } from 'react-cookie';
|
||||||
|
import Router from 'next/router';
|
||||||
|
import moment from 'moment';
|
||||||
|
|
||||||
|
import * as actionTypes from '../constants/actionTypes';
|
||||||
|
import * as currentState from '../reducers/initialState';
|
||||||
|
|
||||||
|
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 sendLoginForm = (fields) =>
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) =>
|
||||||
|
{
|
||||||
|
if(fields.username === "test@test.com" && fields.password === "test")
|
||||||
|
{
|
||||||
|
const cookies = new Cookies();
|
||||||
|
cookies.set('jwt', 1, new Date(moment().add(1, 'day').toDate()));
|
||||||
|
}
|
||||||
|
Router.push('/');
|
||||||
|
|
||||||
|
/*
|
||||||
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/forms/terms/`, fields)
|
||||||
|
.then((response) =>
|
||||||
|
{
|
||||||
|
console.log("sendTermsForm RESPONSE");
|
||||||
|
console.log(response.data);
|
||||||
|
|
||||||
|
if(response.data.status)
|
||||||
|
{
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reject();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error) =>
|
||||||
|
{
|
||||||
|
console.log("error");
|
||||||
|
console.error(error);
|
||||||
|
|
||||||
|
reject();
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
});
|
||||||
|
}
|
||||||
1
actions/index.js
Normal file
1
actions/index.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './authActions';
|
||||||
3
constants/actionTypes.js
Normal file
3
constants/actionTypes.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export const AUTH = 'AUTH';
|
||||||
|
export const COMPANY = 'COMPANY';
|
||||||
|
export const CONTRACTS = 'CONTRACTS';
|
||||||
@ -1,3 +1,11 @@
|
|||||||
|
hr {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background: #EDEFF5;
|
||||||
|
border: 0;
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
button,
|
button,
|
||||||
.button {
|
.button {
|
||||||
border: 0;
|
border: 0;
|
||||||
@ -35,14 +43,14 @@ button,
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
.button.button-blue.icon:before {
|
.button.button-blue.icon:before {
|
||||||
background: url("/images/icons/btn_icon_white.svg") no-repeat center;
|
background: url("/assets/images/icons/btn_icon_white.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
.button.button-blue.transparent {
|
.button.button-blue.transparent {
|
||||||
color: var(--blue);
|
color: var(--blue);
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
.button.button-blue.transparent.icon:before {
|
.button.button-blue.transparent.icon:before {
|
||||||
background: url("/images/icons/btn_icon_blue.svg") no-repeat center;
|
background: url("/assets/images/icons/btn_icon_blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
.button.button-gray {
|
.button.button-gray {
|
||||||
color: var(--gray);
|
color: var(--gray);
|
||||||
@ -53,7 +61,7 @@ button,
|
|||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
.button.button-gray.icon:before {
|
.button.button-gray.icon:before {
|
||||||
background: url("/images/icons/btn_icon_gray.svg") no-repeat center;
|
background: url("/assets/images/icons/btn_icon_gray.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
.button.button-compact {
|
.button.button-compact {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
@ -85,11 +93,11 @@ input[type="checkbox"] + label:before {
|
|||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
}
|
}
|
||||||
input[type="checkbox"]:checked + label:before {
|
input[type="checkbox"]:checked + label:before {
|
||||||
background: url("/images/icons/checkbox_white.svg") no-repeat center var(--primary);
|
background: url("/assets/images/icons/checkbox_white.svg") no-repeat center var(--primary);
|
||||||
border-color: var(--primary);
|
border-color: var(--primary);
|
||||||
}
|
}
|
||||||
input[type="checkbox"]:disabled + label:before {
|
input[type="checkbox"]:disabled + label:before {
|
||||||
background: url("/images/icons/checkbox_gray.svg") no-repeat center var(--gray-light);
|
background: url("/assets/images/icons/checkbox_gray.svg") no-repeat center var(--gray-light);
|
||||||
cursor: none;
|
cursor: none;
|
||||||
}
|
}
|
||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
@ -134,7 +142,7 @@ input[type="radio"]:disabled + label:before {
|
|||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
width: 28px;
|
width: 28px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
background: url("/images/icons/delete_gray.svg") no-repeat center;
|
background: url("/assets/images/icons/delete_gray.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
.list-column {
|
.list-column {
|
||||||
column-gap: 20px;
|
column-gap: 20px;
|
||||||
@ -159,7 +167,7 @@ input[type="radio"]:disabled + label:before {
|
|||||||
right: 0;
|
right: 0;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background: url("/images/icons/delete_black.svg") no-repeat center;
|
background: url("/assets/images/icons/delete_black.svg") no-repeat center;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
.form_field input,
|
.form_field input,
|
||||||
@ -193,7 +201,7 @@ input[type="radio"]:disabled + label:before {
|
|||||||
.form_field textarea[type="search"],
|
.form_field textarea[type="search"],
|
||||||
.form_field select[type="search"] {
|
.form_field select[type="search"] {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background-image: url("/images/icons/icon-search.svg");
|
background-image: url("/assets/images/icons/icon-search.svg");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: 8px 50%;
|
background-position: 8px 50%;
|
||||||
}
|
}
|
||||||
@ -204,7 +212,7 @@ input[type="radio"]:disabled + label:before {
|
|||||||
.form_field textarea.date_input,
|
.form_field textarea.date_input,
|
||||||
.form_field select.date_input {
|
.form_field select.date_input {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background-image: url("/images/icons/icon-date.svg");
|
background-image: url("/assets/images/icons/icon-date.svg");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: 8px 50%;
|
background-position: 8px 50%;
|
||||||
}
|
}
|
||||||
@ -224,7 +232,7 @@ input[type="radio"]:disabled + label:before {
|
|||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
}
|
}
|
||||||
.form_field select {
|
.form_field select {
|
||||||
background-image: url("/images/icons/icon-select.svg");
|
background-image: url("/assets/images/icons/icon-select.svg");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: calc(100% - 16px) 50%;
|
background-position: calc(100% - 16px) 50%;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
{"version":3,"sources":["style.less"],"names":[],"mappings":"AACA,OACA,QACE,QAAA,CACA,sBAAA,CACA,eAAA,CACA,eAAA,CACA,cAAA,CACA,qBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,iBAGF,QACE,MAAO,WAAP,CACA,gBAGA,OAAC,UACC,WAAA,CACA,eAIA,OADD,KACE,QACC,QAAS,EAAT,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,kBAIJ,OAAC,aACC,WAAY,WAAZ,CACA,WAEA,OAJD,YAIE,KAAK,QACJ,eAAgB,qDAGlB,OARD,YAQE,aACC,MAAO,WAAP,CACA,uBAEA,OAZH,YAQE,YAIE,KAAK,QACJ,eAAgB,oDAKtB,OAAC,aACC,MAAO,WAAP,CACA,WAAY,kBAEZ,OAJD,YAIE,aACC,MAAO,WAAP,CACA,uBAGF,OATD,YASE,KAAK,QACJ,eAAgB,oDAIpB,OAAC,gBACC,UAAA,CACA,WAAA,CACA,mBAAA,CACA,gBAEA,OAND,eAME,KAAK,QACJ,eAMN,KAAK,kBACH,YAAA,CACA,kBAEA,KAJG,iBAID,OACA,YAAA,CACA,kBAAA,CACA,eAGA,KAVC,iBAID,MAMC,QACC,QAAS,EAAT,CACA,aAAA,CACA,UAAA,CACA,cAAA,CACA,WAAA,CACA,mCAAA,CACA,qBAAA,CACA,iBAAA,CACA,kBAKF,KAxBC,iBAuBF,QAAS,MACP,QACC,eAAgB,0DAA0D,cAA1E,CACA,aAAc,eAIhB,KA9BC,iBA6BF,SAAU,MACR,QACC,eAAgB,yDAAyD,iBAAzE,CACA,YAKN,KAAK,eACH,YAAA,CACA,kBAEA,KAJG,cAID,OACA,aAAA,CACA,iBAAA,CACA,eAEA,KATC,cAID,MAKC,QACC,QAAS,EAAT,CACA,aAAA,CACA,mCAAA,CACA,qBAAA,CACA,mBAKF,KAnBC,cAkBF,QAAS,MACP,QACC,gBAIF,KAxBC,cAuBF,SAAU,MACR,QACC,WAAa,WAAb,CACA,YAMN,eACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAY,iBAAZ,CACA,qBAAA,CACA,cANF,cAQE,KACE,UAAA,CACA,WAAA,CACA,gBAAA,CACA,sBAAA,CACA,iBAbJ,cAgBE,SACE,eAAA,CACA,UAAA,CACA,WAAA,CACA,eAAgB,uDAKpB,aACE,eAAA,CACA,eAAA,CACA,wBAHF,YAKE,IACE,iBAGF,YAAC,kBACC,eAGF,YAAC,kBACC,eAKJ,YACE,kBADF,WAGE,QACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,eAAgB,uDAAhB,CACA,UAVJ,WAaE,OAbF,WAaS,UAbT,WAamB,QACf,mCAAA,CACA,qBAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,YAAA,CACA,eAEA,WAVF,MAUG,OAAD,WAVK,SAUJ,OAAD,WAVe,OAUd,OACC,aAAc,WAGhB,WAdF,MAcG,QAAD,WAdK,SAcJ,QAAD,WAde,OAcd,QACC,gCAGF,WAlBF,MAkBG,UAAD,WAlBK,SAkBJ,UAAD,WAlBe,OAkBd,UACC,WAAY,kBAGd,WAtBF,MAsBG,gBAAD,WAtBK,SAsBJ,gBAAD,WAtBe,OAsBd,gBACC,iBAAA,CACA,qBAAsB,qCAAtB,CACA,2BAAA,CACA,4BAGF,WA7BF,MA6BG,cAAD,WA7BK,SA6BJ,cAAD,WA7Be,OA6Bd,cACD,WA9BF,MA8BG,YAAD,WA9BK,SA8BJ,YAAD,WA9Be,OA8Bd,YACC,iBAAA,CACA,qBAAsB,mCAAtB,CACA,2BAAA,CACA,4BAEA,WApCJ,MA6BG,aAOE,4BAAD,WApCG,SA6BJ,aAOE,4BAAD,WApCa,OA6Bd,aAOE,4BAAD,WApCJ,MA8BG,WAME,4BAAD,WApCG,SA8BJ,WAME,4BAAD,WApCa,OA8Bd,WAME,4BACD,WArCJ,MA6BG,aAQE,oCAAD,WArCG,SA6BJ,aAQE,oCAAD,WArCa,OA6Bd,aAQE,oCAAD,WArCJ,MA8BG,WAOE,oCAAD,WArCG,SA8BJ,WAOE,oCAAD,WArCa,OA8Bd,WAOE,oCACC,YAAA,CACA,wBApDR,WAyDE,QACE,qBAAsB,qCAAtB,CACA,2BAAA,CACA,oBAAqB,qBAArB,CACA,uBAAA,CACA,qBAEA,WAPF,OAOG,aACC,aAjEN,WAqEE,UACE,gBAAA,CACA,YAIJ,YACE,YAAA,CACA,8BAKF,SACE,aADF,QAGE,GACE,aAAA,CACA,UAAA,CACA,WAAA,CACA,qBAEA,QANF,EAMG,IAAI,cACH,kBAMN,MACE,aADF,KAGE,MACE,gBAAA,CACA,gBAAA,CACA,cAAA,CACA,eAEA,KANF,KAMG,QACC,WAAY,WAAZ,CACA,UAAA,CACA,eAAA,CACA,eAMN,YACE,gBADF,WAGE,IACE,YAAA,CACA,oBAAA,CACA,yBANJ,WAGE,GAKE,IACE,cAAA,CACA,gBAAA,CACA,MAAO,YAXb,WAGE,GAKE,GAKE,GACE,aAAA,CACA,cAOR,YACE,UAAA,CACA,kBAAA,CACA,YAAA,CACA,WAAY,kBAJd,WAME,KACE,UAAA,CACA,WAAA,CACA,iBAKJ,EAAE,aACA,eAAA,CACA,UAFF,EAAE,YAIA,IACE,iBAAA,CACA,kBAEA,EARF,YAIA,GAIG,QACC,QAAS,EAAT,CACA,aAAA,CACA,iBAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CACA,iBAAA,CACA,OAAA,CACA"}
|
{"version":3,"sources":["style.less"],"names":[],"mappings":"AACA,GACE,aAAA,CACA,UAAA,CACA,UAAA,CACA,kBAAA,CACA,QAAA,CACA,cAIF,OACA,QACE,QAAA,CACA,sBAAA,CACA,eAAA,CACA,eAAA,CACA,cAAA,CACA,qBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,iBAGF,QACE,MAAO,WAAP,CACA,gBAGA,OAAC,UACC,WAAA,CACA,eAIA,OADD,KACE,QACC,QAAS,EAAT,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,kBAIJ,OAAC,aACC,WAAY,WAAZ,CACA,WAEA,OAJD,YAIE,KAAK,QACJ,eAAgB,qDAGlB,OARD,YAQE,aACC,MAAO,WAAP,CACA,uBAEA,OAZH,YAQE,YAIE,KAAK,QACJ,eAAgB,oDAKtB,OAAC,aACC,MAAO,WAAP,CACA,WAAY,kBAEZ,OAJD,YAIE,aACC,MAAO,WAAP,CACA,uBAGF,OATD,YASE,KAAK,QACJ,eAAgB,oDAIpB,OAAC,gBACC,UAAA,CACA,WAAA,CACA,mBAAA,CACA,gBAEA,OAND,eAME,KAAK,QACJ,eAMN,KAAK,kBACH,YAAA,CACA,kBAEA,KAJG,iBAID,OACA,YAAA,CACA,kBAAA,CACA,eAGA,KAVC,iBAID,MAMC,QACC,QAAS,EAAT,CACA,aAAA,CACA,UAAA,CACA,cAAA,CACA,WAAA,CACA,mCAAA,CACA,qBAAA,CACA,iBAAA,CACA,kBAKF,KAxBC,iBAuBF,QAAS,MACP,QACC,eAAgB,0DAA0D,cAA1E,CACA,aAAc,eAIhB,KA9BC,iBA6BF,SAAU,MACR,QACC,eAAgB,yDAAyD,iBAAzE,CACA,YAKN,KAAK,eACH,YAAA,CACA,kBAEA,KAJG,cAID,OACA,aAAA,CACA,iBAAA,CACA,eAEA,KATC,cAID,MAKC,QACC,QAAS,EAAT,CACA,aAAA,CACA,mCAAA,CACA,qBAAA,CACA,mBAKF,KAnBC,cAkBF,QAAS,MACP,QACC,gBAIF,KAxBC,cAuBF,SAAU,MACR,QACC,WAAa,WAAb,CACA,YAMN,eACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAY,iBAAZ,CACA,qBAAA,CACA,cANF,cAQE,KACE,UAAA,CACA,WAAA,CACA,gBAAA,CACA,sBAAA,CACA,iBAbJ,cAgBE,SACE,eAAA,CACA,UAAA,CACA,WAAA,CACA,eAAgB,uDAKpB,aACE,eAAA,CACA,eAAA,CACA,wBAHF,YAKE,IACE,iBAGF,YAAC,kBACC,eAGF,YAAC,kBACC,eAKJ,YACE,kBADF,WAGE,QACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,eAAgB,uDAAhB,CACA,UAVJ,WAaE,OAbF,WAaS,UAbT,WAamB,QACf,mCAAA,CACA,qBAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,YAAA,CACA,eAEA,WAVF,MAUG,OAAD,WAVK,SAUJ,OAAD,WAVe,OAUd,OACC,aAAc,WAGhB,WAdF,MAcG,QAAD,WAdK,SAcJ,QAAD,WAde,OAcd,QACC,gCAGF,WAlBF,MAkBG,UAAD,WAlBK,SAkBJ,UAAD,WAlBe,OAkBd,UACC,WAAY,kBAGd,WAtBF,MAsBG,gBAAD,WAtBK,SAsBJ,gBAAD,WAtBe,OAsBd,gBACC,iBAAA,CACA,qBAAsB,qCAAtB,CACA,2BAAA,CACA,4BAGF,WA7BF,MA6BG,cAAD,WA7BK,SA6BJ,cAAD,WA7Be,OA6Bd,cACD,WA9BF,MA8BG,YAAD,WA9BK,SA8BJ,YAAD,WA9Be,OA8Bd,YACC,iBAAA,CACA,qBAAsB,mCAAtB,CACA,2BAAA,CACA,4BAEA,WApCJ,MA6BG,aAOE,4BAAD,WApCG,SA6BJ,aAOE,4BAAD,WApCa,OA6Bd,aAOE,4BAAD,WApCJ,MA8BG,WAME,4BAAD,WApCG,SA8BJ,WAME,4BAAD,WApCa,OA8Bd,WAME,4BACD,WArCJ,MA6BG,aAQE,oCAAD,WArCG,SA6BJ,aAQE,oCAAD,WArCa,OA6Bd,aAQE,oCAAD,WArCJ,MA8BG,WAOE,oCAAD,WArCG,SA8BJ,WAOE,oCAAD,WArCa,OA8Bd,WAOE,oCACC,YAAA,CACA,wBApDR,WAyDE,QACE,qBAAsB,qCAAtB,CACA,2BAAA,CACA,oBAAqB,qBAArB,CACA,uBAAA,CACA,qBAEA,WAPF,OAOG,aACC,aAjEN,WAqEE,UACE,gBAAA,CACA,YAIJ,YACE,YAAA,CACA,8BAKF,SACE,aADF,QAGE,GACE,aAAA,CACA,UAAA,CACA,WAAA,CACA,qBAEA,QANF,EAMG,IAAI,cACH,kBAMN,MACE,aADF,KAGE,MACE,gBAAA,CACA,gBAAA,CACA,cAAA,CACA,eAEA,KANF,KAMG,QACC,WAAY,WAAZ,CACA,UAAA,CACA,eAAA,CACA,eAMN,YACE,gBADF,WAGE,IACE,YAAA,CACA,oBAAA,CACA,yBANJ,WAGE,GAKE,IACE,cAAA,CACA,gBAAA,CACA,MAAO,YAXb,WAGE,GAKE,GAKE,GACE,aAAA,CACA,cAOR,YACE,UAAA,CACA,kBAAA,CACA,YAAA,CACA,WAAY,kBAJd,WAME,KACE,UAAA,CACA,WAAA,CACA,iBAKJ,EAAE,aACA,eAAA,CACA,UAFF,EAAE,YAIA,IACE,iBAAA,CACA,kBAEA,EARF,YAIA,GAIG,QACC,QAAS,EAAT,CACA,aAAA,CACA,iBAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CACA,iBAAA,CACA,OAAA,CACA"}
|
||||||
@ -1,3 +1,13 @@
|
|||||||
|
// Line
|
||||||
|
hr {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background: #EDEFF5;
|
||||||
|
border: 0;
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
button,
|
button,
|
||||||
.button {
|
.button {
|
||||||
@ -42,7 +52,7 @@ button,
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
&.icon:before {
|
&.icon:before {
|
||||||
background: url("/images/icons/btn_icon_white.svg") no-repeat center;
|
background: url("/assets/images/icons/btn_icon_white.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.transparent {
|
&.transparent {
|
||||||
@ -50,7 +60,7 @@ button,
|
|||||||
background: transparent;
|
background: transparent;
|
||||||
|
|
||||||
&.icon:before {
|
&.icon:before {
|
||||||
background: url("/images/icons/btn_icon_blue.svg") no-repeat center;
|
background: url("/assets/images/icons/btn_icon_blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -65,7 +75,7 @@ button,
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.icon:before {
|
&.icon:before {
|
||||||
background: url("/images/icons/btn_icon_gray.svg") no-repeat center;
|
background: url("/assets/images/icons/btn_icon_gray.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,13 +117,13 @@ input[type="checkbox"] {
|
|||||||
|
|
||||||
&:checked + label {
|
&:checked + label {
|
||||||
&:before {
|
&:before {
|
||||||
background: url("/images/icons/checkbox_white.svg") no-repeat center var(--primary);
|
background: url("/assets/images/icons/checkbox_white.svg") no-repeat center var(--primary);
|
||||||
border-color: var(--primary);
|
border-color: var(--primary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&:disabled + label {
|
&:disabled + label {
|
||||||
&:before {
|
&:before {
|
||||||
background: url("/images/icons/checkbox_gray.svg") no-repeat center var(--gray-light);
|
background: url("/assets/images/icons/checkbox_gray.svg") no-repeat center var(--gray-light);
|
||||||
cursor: none;
|
cursor: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -171,7 +181,7 @@ input[type="radio"] {
|
|||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
width: 28px;
|
width: 28px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
background: url("/images/icons/delete_gray.svg") no-repeat center;
|
background: url("/assets/images/icons/delete_gray.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -204,7 +214,7 @@ input[type="radio"] {
|
|||||||
right: 0;
|
right: 0;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background: url("/images/icons/delete_black.svg") no-repeat center;
|
background: url("/assets/images/icons/delete_black.svg") no-repeat center;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,7 +242,7 @@ input[type="radio"] {
|
|||||||
|
|
||||||
&[type="search"] {
|
&[type="search"] {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background-image: url("/images/icons/icon-search.svg");
|
background-image: url("/assets/images/icons/icon-search.svg");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: 8px 50%;
|
background-position: 8px 50%;
|
||||||
}
|
}
|
||||||
@ -240,7 +250,7 @@ input[type="radio"] {
|
|||||||
&[type="date"],
|
&[type="date"],
|
||||||
&.date_input {
|
&.date_input {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background-image: url("/images/icons/icon-date.svg");
|
background-image: url("/assets/images/icons/icon-date.svg");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: 8px 50%;
|
background-position: 8px 50%;
|
||||||
|
|
||||||
@ -253,7 +263,7 @@ input[type="radio"] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
background-image: url("/images/icons/icon-select.svg");
|
background-image: url("/assets/images/icons/icon-select.svg");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: calc(100% - 16px) 50%;
|
background-position: calc(100% - 16px) 50%;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
|
|||||||
@ -28,7 +28,7 @@ footer .column a[href^="tel"] {
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
color: #000;
|
color: #000;
|
||||||
padding-left: 40px;
|
padding-left: 40px;
|
||||||
background: url("/images/icons/icon-phone.svg") no-repeat left center;
|
background: url("/assets/images/icons/icon-phone.svg") no-repeat left center;
|
||||||
}
|
}
|
||||||
footer .column a[href^="mailto"] {
|
footer .column a[href^="mailto"] {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -36,7 +36,7 @@ footer .column a[href^="mailto"] {
|
|||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
color: #000;
|
color: #000;
|
||||||
padding-left: 40px;
|
padding-left: 40px;
|
||||||
background: url("/images/icons/icon-mail.svg") no-repeat left center;
|
background: url("/assets/images/icons/icon-mail.svg") no-repeat left center;
|
||||||
}
|
}
|
||||||
footer .column div:nth-child(1),
|
footer .column div:nth-child(1),
|
||||||
footer .column div:nth-child(2),
|
footer .column div:nth-child(2),
|
||||||
|
|||||||
@ -36,7 +36,7 @@ footer {
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
color: #000;
|
color: #000;
|
||||||
padding-left: 40px;
|
padding-left: 40px;
|
||||||
background: url("/images/icons/icon-phone.svg") no-repeat left center;
|
background: url("/assets/images/icons/icon-phone.svg") no-repeat left center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&[href^="mailto"] {
|
&[href^="mailto"] {
|
||||||
@ -45,7 +45,7 @@ footer {
|
|||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
color: #000;
|
color: #000;
|
||||||
padding-left: 40px;
|
padding-left: 40px;
|
||||||
background: url("/images/icons/icon-mail.svg") no-repeat left center;
|
background: url("/assets/images/icons/icon-mail.svg") no-repeat left center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -103,7 +103,7 @@
|
|||||||
}
|
}
|
||||||
#order .order_form form .policy input:checked + label:before {
|
#order .order_form form .policy input:checked + label:before {
|
||||||
border-color: #fff;
|
border-color: #fff;
|
||||||
background: url("/images/icons/checkbox_blue.svg") no-repeat center #fff;
|
background: url("/assets/images/icons/checkbox_blue.svg") no-repeat center #fff;
|
||||||
}
|
}
|
||||||
#order .order_form form .button {
|
#order .order_form form .button {
|
||||||
display: inherit;
|
display: inherit;
|
||||||
@ -117,11 +117,11 @@
|
|||||||
}
|
}
|
||||||
.login input[name="login"] {
|
.login input[name="login"] {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background: url("/images/icons/icon-login.svg") no-repeat 8px 50%;
|
background: url("/assets/images/icons/icon-login.svg") no-repeat 8px 50%;
|
||||||
}
|
}
|
||||||
.login input[name="pass"] {
|
.login input[name="pass"] {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background: url("/images/icons/icon-pass.svg") no-repeat 8px 50%;
|
background: url("/assets/images/icons/icon-pass.svg") no-repeat 8px 50%;
|
||||||
}
|
}
|
||||||
.login .button {
|
.login .button {
|
||||||
width: 90px;
|
width: 90px;
|
||||||
@ -146,7 +146,55 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
|
.contract_search form .form_field.single {
|
||||||
|
width: 100%;
|
||||||
|
margin-right: 80px;
|
||||||
|
}
|
||||||
.contract_search form .form_field .button {
|
.contract_search form .form_field .button {
|
||||||
width: 158px;
|
width: 158px;
|
||||||
min-width: 158px;
|
min-width: 158px;
|
||||||
}
|
}
|
||||||
|
.reconciliation_form.small {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
max-width: 420px;
|
||||||
|
}
|
||||||
|
.reconciliation_form.small .form_field {
|
||||||
|
width: calc(50% - 8px);
|
||||||
|
}
|
||||||
|
.reconciliation_form.small button {
|
||||||
|
margin-top: 35px;
|
||||||
|
width: calc(45% - 8px);
|
||||||
|
}
|
||||||
|
.reconciliation_form.small button:last-child {
|
||||||
|
width: calc(55% - 8px);
|
||||||
|
}
|
||||||
|
.fade {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 99999;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.fade:not(.opened) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.fade .modal {
|
||||||
|
max-width: 640px;
|
||||||
|
width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
margin: 100px auto;
|
||||||
|
padding: 45px 80px;
|
||||||
|
}
|
||||||
|
.fade .modal .modal_footer {
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
.fade .modal .modal_footer .button {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
{"version":3,"sources":["style.less"],"names":[],"mappings":"AAGQ,OAAC,kBAAkB,IAAI,WACnB,aAGJ,OAAC,kBACG,YACI,aAAA,CACA,gBAAA,CACA,mBAVZ,OAcI,gBACI,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,mBAlBR,OAcI,eAMI,SACI,MAAO,qBArBnB,OAyBI,cACI,YAAA,CACA,cAAA,CACA,8BA5BR,OAyBI,aAKI,aACI,MAAO,oBAAP,CACA,mBAhCZ,OAyBI,aAUI,aACI,MAAO,qBApCnB,OAyBI,aAUI,YAGI,aACI,MAAO,iBAO3B,sBACI,mBAEA,qBAAC,QACG,aAJR,qBAOI,cACI,YAAA,CACA,yBATR,qBAOI,aAII,QACI,iBAAA,CACA,YAbZ,qBAOI,aASI,QACI,YAMZ,MAEI,aACI,iBAAA,CACA,eAJR,MAEI,YAII,cACI,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,SAAA,CACA,kBAAA,CACA,YAAA,CACA,MAAA,CACA,OAAA,CACA,KAAA,CACA,QAAA,CACA,YAjBZ,MAEI,YAII,aAaI,GACI,WAAA,CACA,cAAA,CACA,gBAAA,CACA,eAvBhB,MAEI,YAyBI,MACI,WAAA,CACA,WAAY,WAAZ,CACA,qBAAA,CACA,iBAAA,CACA,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,UAnCZ,MAEI,YAyBI,KAUI,OACI,kBAAA,CACA,gCAAA,CACA,WAEA,MAxCZ,YAyBI,KAUI,MAKK,cACG,WA3CpB,MAEI,YAyBI,KAoBI,SACI,iBAAA,CACA,SAAA,CACA,4BAlDhB,MAEI,YAyBI,KAoBI,QAKI,OACI,UAAA,CACA,gBAEA,MAtDhB,YAyBI,KAoBI,QAKI,MAIK,QACG,eAAA,CACA,gBA1DxB,MAEI,YAyBI,KAoBI,QAeI,MAAK,QAAS,MAAO,QACjB,iBAAA,CACA,eAAgB,8DAhEpC,MAEI,YAyBI,KAyCI,SACI,eAAA,CACA,iBAOhB,OACI,gBADJ,MAGI,aACI,mBAJR,MAOI,MAAK,eACD,iBAAA,CACA,eAAgB,uDATxB,MAYI,MAAK,cACD,iBAAA,CACA,eAAgB,sDAdxB,MAiBI,SACI,UAAA,CACA,aAAA,CACA,iBAMR,iBACI,mBADJ,gBAEI,MACI,YAAA,CACA,kBAAA,CACA,8BAGI,gBANR,KAKI,YACK,aACG,MAAO,gBAAP,CACA,UAAW,gBAAX,CACA,kBAGJ,gBAZR,KAKI,YAOK,UAAU,IACX,gBAbR,KAKI,YAQK,UAAU,IACP,UAAA,CACA,kBAjBhB,gBAEI,KAKI,YAaI,SACI,WAAA,CACA"}
|
{"version":3,"sources":["style.less"],"names":[],"mappings":"AAGQ,OAAC,kBAAkB,IAAI,WACnB,aAGJ,OAAC,kBACG,YACI,aAAA,CACA,gBAAA,CACA,mBAVZ,OAcI,gBACI,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,mBAlBR,OAcI,eAMI,SACI,MAAO,qBArBnB,OAyBI,cACI,YAAA,CACA,cAAA,CACA,8BA5BR,OAyBI,aAKI,aACI,MAAO,oBAAP,CACA,mBAhCZ,OAyBI,aAUI,aACI,MAAO,qBApCnB,OAyBI,aAUI,YAGI,aACI,MAAO,iBAO3B,sBACI,mBAEA,qBAAC,QACG,aAJR,qBAOI,cACI,YAAA,CACA,yBATR,qBAOI,aAII,QACI,iBAAA,CACA,YAbZ,qBAOI,aASI,QACI,YAMZ,MAEI,aACI,iBAAA,CACA,eAJR,MAEI,YAII,cACI,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,SAAA,CACA,kBAAA,CACA,YAAA,CACA,MAAA,CACA,OAAA,CACA,KAAA,CACA,QAAA,CACA,YAjBZ,MAEI,YAII,aAaI,GACI,WAAA,CACA,cAAA,CACA,gBAAA,CACA,eAvBhB,MAEI,YAyBI,MACI,WAAA,CACA,WAAY,WAAZ,CACA,qBAAA,CACA,iBAAA,CACA,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,UAnCZ,MAEI,YAyBI,KAUI,OACI,kBAAA,CACA,gCAAA,CACA,WAEA,MAxCZ,YAyBI,KAUI,MAKK,cACG,WA3CpB,MAEI,YAyBI,KAoBI,SACI,iBAAA,CACA,SAAA,CACA,4BAlDhB,MAEI,YAyBI,KAoBI,QAKI,OACI,UAAA,CACA,gBAEA,MAtDhB,YAyBI,KAoBI,QAKI,MAIK,QACG,eAAA,CACA,gBA1DxB,MAEI,YAyBI,KAoBI,QAeI,MAAK,QAAS,MAAO,QACjB,iBAAA,CACA,eAAgB,8DAhEpC,MAEI,YAyBI,KAyCI,SACI,eAAA,CACA,iBAOhB,OACI,gBADJ,MAGI,aACI,mBAJR,MAOI,MAAK,eACD,iBAAA,CACA,eAAgB,uDATxB,MAYI,MAAK,cACD,iBAAA,CACA,eAAgB,sDAdxB,MAiBI,SACI,UAAA,CACA,aAAA,CACA,iBAMR,iBACI,mBADJ,gBAEI,MACI,YAAA,CACA,kBAAA,CACA,8BAGI,gBANR,KAKI,YACK,aACG,MAAO,gBAAP,CACA,UAAW,gBAAX,CACA,kBAGJ,gBAZR,KAKI,YAOK,UAAU,IACX,gBAbR,KAKI,YAQK,UAAU,IACP,UAAA,CACA,kBAGJ,gBAlBR,KAKI,YAaK,QACE,UAAA,CACA,kBAtBf,gBAEI,KAKI,YAkBI,SACI,WAAA,CACA,gBASZ,oBAAC,OACG,YAAA,CACA,cAAA,CACA,6BAAA,CACA,gBAJJ,oBAAC,MAMG,aACI,sBAPR,oBAAC,MAUG,QACI,eAAA,CACA,sBAEA,oBAdP,MAUG,OAIK,YACG,sBAUhB,MACI,cAAA,CACA,aAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,aAAA,CACA,0BAAA,CACA,cAEA,KAAC,IAAI,UACD,aAZR,KAeI,QACI,eAAA,CACA,UAAA,CACA,eAAA,CACA,iBAAA,CACA,kBApBR,KAeI,OAOI,eACI,gBAAA,CACA,gBAxBZ,KAeI,OAOI,cAII,SACI"}
|
||||||
@ -132,7 +132,7 @@
|
|||||||
|
|
||||||
input:checked + label:before {
|
input:checked + label:before {
|
||||||
border-color: #fff;
|
border-color: #fff;
|
||||||
background: url("/images/icons/checkbox_blue.svg") no-repeat center #fff;
|
background: url("/assets/images/icons/checkbox_blue.svg") no-repeat center #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,12 +154,12 @@
|
|||||||
|
|
||||||
input[name="login"] {
|
input[name="login"] {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background: url("/images/icons/icon-login.svg") no-repeat 8px 50%;
|
background: url("/assets/images/icons/icon-login.svg") no-repeat 8px 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[name="pass"] {
|
input[name="pass"] {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
background: url("/images/icons/icon-pass.svg") no-repeat 8px 50%;
|
background: url("/assets/images/icons/icon-pass.svg") no-repeat 8px 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
@ -191,10 +191,76 @@
|
|||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.single {
|
||||||
|
width: 100%;
|
||||||
|
margin-right: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
width: 158px;
|
width: 158px;
|
||||||
min-width: 158px;
|
min-width: 158px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Акты сверок
|
||||||
|
.reconciliation_form {
|
||||||
|
|
||||||
|
&.small {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
max-width: 420px;
|
||||||
|
|
||||||
|
.form_field {
|
||||||
|
width: ~"calc(50% - 8px)";
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
margin-top: 35px;
|
||||||
|
width: ~"calc(45% - 8px)";
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
width: ~"calc(55% - 8px)";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Модаль
|
||||||
|
|
||||||
|
.fade {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 99999;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
background: rgba(0,0,0,0.5);
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
&:not(.opened) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal {
|
||||||
|
max-width: 640px;
|
||||||
|
width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
margin: 100px auto;
|
||||||
|
padding: 45px 80px;
|
||||||
|
|
||||||
|
.modal_footer {
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 30px;
|
||||||
|
|
||||||
|
.button {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -38,6 +38,11 @@ header .header_menu {
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
header .header_menu:last-child {
|
||||||
|
border-right: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
header .header_menu nav ul {
|
header .header_menu nav ul {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
@ -57,5 +62,5 @@ header .lk {
|
|||||||
min-width: 32px;
|
min-width: 32px;
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
background: url("/images/icons/icon-lk.svg") no-repeat center;
|
background: url("/assets/images/icons/icon-lk.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
{"version":3,"sources":["style.less"],"names":[],"mappings":"AAAA,OACI,eAAA,CACA,cAAA,CACA,UAAA,CACA,MAAA,CACA,OAAA,CAEA,YAAA,CACA,cAAA,CACA,gBAAA,CACA,mDAVJ,MAYI,YACI,cAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,SAAA,CACA,gBAEA,MARJ,WAQK,OACG,aArBZ,MAyBI,GACI,oBAAA,CACA,WAEA,MAJJ,EAIK,MACG,UAAW,gBA9BvB,MAkCI,cACI,aAAA,CACA,cAAA,CACA,6BAAA,CACA,8BAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,WAAA,CACA,WA3CR,MAkCI,aAWI,IACI,IACI,aAGI,MAhBhB,aAWI,IACI,GAGI,GACK,IAAI,cACD,kBAGJ,MApBhB,aAWI,IACI,GAGI,GAKK,YACG,kBAIA,MAzBpB,aAWI,IACI,GAGI,GASI,EACK,QACG,MAAO,WAAP,CACA,gBA7D5B,MAqEI,KACI,aAAA,CACA,oBAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,eAAgB"}
|
{"version":3,"sources":["style.less"],"names":[],"mappings":"AAAA,OACI,eAAA,CACA,cAAA,CACA,UAAA,CACA,MAAA,CACA,OAAA,CAEA,YAAA,CACA,cAAA,CACA,gBAAA,CACA,mDAVJ,MAYI,YACI,cAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,SAAA,CACA,gBAEA,MARJ,WAQK,OACG,aArBZ,MAyBI,GACI,oBAAA,CACA,WAEA,MAJJ,EAIK,MACG,UAAW,gBA9BvB,MAkCI,cACI,aAAA,CACA,cAAA,CACA,6BAAA,CACA,8BAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,WAAA,CACA,WAEA,MAXJ,aAWK,YACG,cAAA,CACA,eAAA,CACA,eAhDZ,MAkCI,aAiBI,IACI,IACI,aAGI,MAtBhB,aAiBI,IACI,GAGI,GACK,IAAI,cACD,kBAGJ,MA1BhB,aAiBI,IACI,GAGI,GAKK,YACG,kBAIA,MA/BpB,aAiBI,IACI,GAGI,GASI,EACK,QACG,MAAO,WAAP,CACA,gBAnE5B,MA2EI,KACI,aAAA,CACA,oBAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,eAAgB"}
|
||||||
@ -43,6 +43,12 @@ header {
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-right: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
ul {
|
ul {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -73,6 +79,6 @@ header {
|
|||||||
min-width: 32px;
|
min-width: 32px;
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
background: url("/images/icons/icon-lk.svg") no-repeat center;
|
background: url("/assets/images/icons/icon-lk.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -111,7 +111,7 @@ main #main_slider .slider_list .slider_item .item_name:after {
|
|||||||
width: 22px;
|
width: 22px;
|
||||||
min-width: 22px;
|
min-width: 22px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
background: url("/images/icons/slider_arrow.svg") no-repeat center;
|
background: url("/assets/images/icons/slider_arrow.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
main #main_slider .slider_list .slider_item a {
|
main #main_slider .slider_list .slider_item a {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -132,7 +132,7 @@ main #main_slider .slider_list .slider_item.active a {
|
|||||||
}
|
}
|
||||||
main #main_slider .slider_list .slider_item.active .item_name:after {
|
main #main_slider .slider_list .slider_item.active .item_name:after {
|
||||||
width: 44px;
|
width: 44px;
|
||||||
background: url("/images/icons/slider_arrow-hover.svg") no-repeat center;
|
background: url("/assets/images/icons/slider_arrow-hover.svg") no-repeat center;
|
||||||
transform: rotate(-90deg) translate(15px, 15px);
|
transform: rotate(-90deg) translate(15px, 15px);
|
||||||
}
|
}
|
||||||
main #main_slider .slider_list .slider_item:hover .item_name,
|
main #main_slider .slider_list .slider_item:hover .item_name,
|
||||||
@ -167,17 +167,17 @@ main #main_slider .slider_list .slider_navto a:after {
|
|||||||
min-width: 22px;
|
min-width: 22px;
|
||||||
height: 86px;
|
height: 86px;
|
||||||
transition: 175ms all cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
transition: 175ms all cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||||
background: url("/images/icons/slider_arrow-blue.svg") no-repeat center;
|
background: url("/assets/images/icons/slider_arrow-blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
main #main_slider .slider_list .slider_navto a:hover {
|
main #main_slider .slider_list .slider_navto a:hover {
|
||||||
background: #04a8a4;
|
background: #04a8a4;
|
||||||
}
|
}
|
||||||
main #main_slider .slider_list .slider_navto a:hover:after {
|
main #main_slider .slider_list .slider_navto a:hover:after {
|
||||||
width: 90px;
|
width: 90px;
|
||||||
background: url("/images/icons/arrow-navto.svg") no-repeat center;
|
background: url("/assets/images/icons/arrow-navto.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
main #calc .container {
|
main #calc .container {
|
||||||
background: url("/images/calc-bg.jpg") no-repeat right center #EDEFF5;
|
background: url("/assets/images/calc-bg.jpg") no-repeat right center #EDEFF5;
|
||||||
padding: 70px 25px;
|
padding: 70px 25px;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
@ -940,13 +940,30 @@ main .dropdown_blocks_list .dropdown_block .block_header button {
|
|||||||
height: 22px;
|
height: 22px;
|
||||||
min-width: 22px;
|
min-width: 22px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: url("/images/icons/dropdown-blue.svg") no-repeat center;
|
background: url("/assets/images/icons/dropdown-blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
main .dropdown_blocks_list .dropdown_block .block_body {
|
main .dropdown_blocks_list .dropdown_block .block_body {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .company {
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .company .title {
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .company ul {
|
||||||
|
margin-left: 80px;
|
||||||
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .company ul li {
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
main .dropdown_blocks_list .dropdown_block.open .block_header button {
|
main .dropdown_blocks_list .dropdown_block.open .block_header button {
|
||||||
background: url("/images/icons/close-blue.svg") no-repeat center;
|
background: url("/assets/images/icons/close-blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
main .dropdown_blocks_list .dropdown_block.open .block_body {
|
main .dropdown_blocks_list .dropdown_block.open .block_body {
|
||||||
display: block;
|
display: block;
|
||||||
@ -959,9 +976,6 @@ main .dropdown_blocks_list.filled .dropdown_block.open .block_header {
|
|||||||
background: var(--inactive);
|
background: var(--inactive);
|
||||||
color: var(--blue);
|
color: var(--blue);
|
||||||
}
|
}
|
||||||
main .dropdown_blocks_list.filled .dropdown_block .block_body {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
main aside .aside_nav {
|
main aside .aside_nav {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -1193,7 +1207,7 @@ main #order .container {
|
|||||||
height: 24px;
|
height: 24px;
|
||||||
font-size: 0;
|
font-size: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: url("/images/icons/close-white.svg") no-repeat center;
|
background: url("/assets/images/icons/close-white.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
.popover p {
|
.popover p {
|
||||||
margin: 5px 0;
|
margin: 5px 0;
|
||||||
@ -1206,7 +1220,7 @@ main #order .container {
|
|||||||
margin: auto;
|
margin: auto;
|
||||||
width: 43px;
|
width: 43px;
|
||||||
height: 54px;
|
height: 54px;
|
||||||
background: url("/images/pin-open.svg") no-repeat center;
|
background: url("/assets/images/pin-open.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
.offices_list {
|
.offices_list {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -1245,6 +1259,12 @@ main #order .container {
|
|||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
max-width: 50%;
|
max-width: 50%;
|
||||||
}
|
}
|
||||||
|
.dosc_list .row .doc_name a {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
.dosc_list .row .doc_name a:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
.dosc_list .row .doc_name span {
|
.dosc_list .row .doc_name span {
|
||||||
display: block;
|
display: block;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -1258,6 +1278,35 @@ main #order .container {
|
|||||||
.dosc_list .row .button {
|
.dosc_list .row .button {
|
||||||
width: 104px;
|
width: 104px;
|
||||||
}
|
}
|
||||||
|
.dosc_list.medium-icon .row {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.dosc_list.medium-icon .doc_name {
|
||||||
|
min-height: 32px;
|
||||||
|
background-size: 32px;
|
||||||
|
padding-left: 48px;
|
||||||
|
}
|
||||||
|
.dosc_list.acts_list-checkbox .row {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.dosc_list.acts_list-checkbox .row .doc_name {
|
||||||
|
background-size: 32px;
|
||||||
|
padding-left: 0;
|
||||||
|
background-position: 30px 50%;
|
||||||
|
min-height: 32px;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
.dosc_list.acts_list-checkbox .row .doc_name input[type="checkbox"] + label:before {
|
||||||
|
margin-right: 56px;
|
||||||
|
}
|
||||||
|
.dosc_list.acts_list-checkbox .row .doc_name:not(.i-pdf) {
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
.dosc_list.acts_list-checkbox .row .doc_name:not(.i-pdf) input[type="checkbox"] + label:before {
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
.contract_table {
|
.contract_table {
|
||||||
margin-bottom: 80px;
|
margin-bottom: 80px;
|
||||||
}
|
}
|
||||||
@ -1303,7 +1352,7 @@ main #order .container {
|
|||||||
min-width: 16px;
|
min-width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
margin-left: 6px;
|
margin-left: 6px;
|
||||||
background: url("/images/icons/icon-select.svg") no-repeat center;
|
background: url("/assets/images/icons/icon-select.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
.contract_table.schedule .show_more {
|
.contract_table.schedule .show_more {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -1387,10 +1436,10 @@ main #order .container {
|
|||||||
color: var(--blue);
|
color: var(--blue);
|
||||||
}
|
}
|
||||||
.catalog_sort .sort_container button.i-filter {
|
.catalog_sort .sort_container button.i-filter {
|
||||||
background: url("/images/icons/icon-filter.svg") no-repeat 20px 50%;
|
background: url("/assets/images/icons/icon-filter.svg") no-repeat 20px 50%;
|
||||||
}
|
}
|
||||||
.catalog_sort .sort_container button.i-sort {
|
.catalog_sort .sort_container button.i-sort {
|
||||||
background: url("/images/icons/icon-sort.svg") no-repeat 20px 50%;
|
background: url("/assets/images/icons/icon-sort.svg") no-repeat 20px 50%;
|
||||||
}
|
}
|
||||||
.news_cotnainer {
|
.news_cotnainer {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -1431,3 +1480,137 @@ main #order .container {
|
|||||||
.news_cotnainer .right ol {
|
.news_cotnainer .right ol {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
.calendar_wrapper #calendar_month {
|
||||||
|
margin-left: auto;
|
||||||
|
max-width: 235px;
|
||||||
|
padding-left: 32px;
|
||||||
|
display: block;
|
||||||
|
background: url("/assets/images/lk/calendar.svg") no-repeat 8px 50%;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_header {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_header .grid_cell {
|
||||||
|
padding: 15px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 23px;
|
||||||
|
color: #0C0C0C;
|
||||||
|
width: 14.2%;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
border: 1px solid #E0E0E0;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell {
|
||||||
|
padding: 15px;
|
||||||
|
width: 14.287%;
|
||||||
|
height: 150px;
|
||||||
|
border: 1px solid #E0E0E0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: stretch;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header {
|
||||||
|
color: #87878E;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header span {
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #000;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body {
|
||||||
|
align-self: flex-end;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p span {
|
||||||
|
display: block;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell.disabled {
|
||||||
|
background: #EDEFF5;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell.current {
|
||||||
|
background: var(--blue);
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_header {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_header span {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_body p {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.calendar_payment {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.calendar_payment .day {
|
||||||
|
color: #87878E;
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-right: 50px;
|
||||||
|
}
|
||||||
|
.calendar_payment .day span {
|
||||||
|
display: block;
|
||||||
|
font-size: 50px;
|
||||||
|
line-height: 1;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
.calendar_payment .payment_table {
|
||||||
|
display: table;
|
||||||
|
margin-top: 12px;
|
||||||
|
}
|
||||||
|
.calendar_payment .payment_table .table_row {
|
||||||
|
display: table-row;
|
||||||
|
}
|
||||||
|
.calendar_payment .payment_table .table_row .table_cell {
|
||||||
|
display: table-cell;
|
||||||
|
padding: 2px 10px;
|
||||||
|
}
|
||||||
|
.calendar_payment .payment_table .table_row .table_cell a {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.calendar_payment .payment_table .table_row.table_header .table_cell {
|
||||||
|
color: #87878E;
|
||||||
|
padding: 12px 10px;
|
||||||
|
}
|
||||||
|
.acts_wrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
.acts_wrapper .acts_list-checkbox,
|
||||||
|
.acts_wrapper .reconciliation_form {
|
||||||
|
width: calc(50% - 10px);
|
||||||
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail {
|
||||||
|
margin: 30px 0;
|
||||||
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail p {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail ul {
|
||||||
|
max-width: 60%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail ul li {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
.dropdown_block + .dosc_list {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -126,7 +126,7 @@ main {
|
|||||||
width: 22px;
|
width: 22px;
|
||||||
min-width: 22px;
|
min-width: 22px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
background: url("/images/icons/slider_arrow.svg") no-repeat center;
|
background: url("/assets/images/icons/slider_arrow.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ main {
|
|||||||
|
|
||||||
.item_name:after {
|
.item_name:after {
|
||||||
width: 44px;
|
width: 44px;
|
||||||
background: url("/images/icons/slider_arrow-hover.svg") no-repeat center;
|
background: url("/assets/images/icons/slider_arrow-hover.svg") no-repeat center;
|
||||||
transform: rotate(-90deg) translate(15px, 15px);
|
transform: rotate(-90deg) translate(15px, 15px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -196,7 +196,7 @@ main {
|
|||||||
min-width: 22px;
|
min-width: 22px;
|
||||||
height: 86px;
|
height: 86px;
|
||||||
transition: 175ms all cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
transition: 175ms all cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||||
background: url("/images/icons/slider_arrow-blue.svg") no-repeat center;
|
background: url("/assets/images/icons/slider_arrow-blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@ -204,7 +204,7 @@ main {
|
|||||||
|
|
||||||
&:after {
|
&:after {
|
||||||
width: 90px;
|
width: 90px;
|
||||||
background: url("/images/icons/arrow-navto.svg") no-repeat center;
|
background: url("/assets/images/icons/arrow-navto.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -215,7 +215,7 @@ main {
|
|||||||
// Калькулятор
|
// Калькулятор
|
||||||
#calc {
|
#calc {
|
||||||
.container {
|
.container {
|
||||||
background: url("/images/calc-bg.jpg") no-repeat right center #EDEFF5;
|
background: url("/assets/images/calc-bg.jpg") no-repeat right center #EDEFF5;
|
||||||
padding: 70px 25px;
|
padding: 70px 25px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
@ -1034,18 +1034,39 @@ main {
|
|||||||
height: 22px;
|
height: 22px;
|
||||||
min-width: 22px;
|
min-width: 22px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: url("/images/icons/dropdown-blue.svg") no-repeat center;
|
background: url("/assets/images/icons/dropdown-blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.block_body {
|
.block_body {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
||||||
|
.company {
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
margin-left: 80px;
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.open {
|
&.open {
|
||||||
.block_header {
|
.block_header {
|
||||||
button {
|
button {
|
||||||
background: url("/images/icons/close-blue.svg") no-repeat center;
|
background: url("/assets/images/icons/close-blue.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1071,7 +1092,7 @@ main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.block_body {
|
.block_body {
|
||||||
margin-top: 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1373,7 +1394,7 @@ main {
|
|||||||
height: 24px;
|
height: 24px;
|
||||||
font-size: 0;
|
font-size: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: url("/images/icons/close-white.svg") no-repeat center;
|
background: url("/assets/images/icons/close-white.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popover p {
|
.popover p {
|
||||||
@ -1388,7 +1409,7 @@ main {
|
|||||||
margin: auto;
|
margin: auto;
|
||||||
width: 43px;
|
width: 43px;
|
||||||
height: 54px;
|
height: 54px;
|
||||||
background: url("/images/pin-open.svg") no-repeat center;
|
background: url("/assets/images/pin-open.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.offices_list {
|
.offices_list {
|
||||||
@ -1440,6 +1461,14 @@ main {
|
|||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
max-width: 50%;
|
max-width: 50%;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: underline;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
display: block;
|
display: block;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -1458,9 +1487,51 @@ main {
|
|||||||
width: 104px;
|
width: 104px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.medium-icon {
|
||||||
|
.row {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.doc_name {
|
||||||
|
min-height: 32px;
|
||||||
|
background-size: 32px;
|
||||||
|
padding-left: 48px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.acts_list-checkbox {
|
||||||
|
.row {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.doc_name {
|
||||||
|
background-size: 32px;
|
||||||
|
padding-left: 0;
|
||||||
|
background-position: 30px 50%;
|
||||||
|
min-height: 32px;
|
||||||
|
max-width: none;
|
||||||
|
|
||||||
|
input[type="checkbox"]+label:before {
|
||||||
|
margin-right: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(.i-pdf) {
|
||||||
|
min-height: 0;
|
||||||
|
|
||||||
|
input[type="checkbox"]+label:before {
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Таблица договоров в лк
|
// Таблица договоров в лк
|
||||||
.contract_table {
|
.contract_table {
|
||||||
margin-bottom: 80px;
|
margin-bottom: 80px;
|
||||||
@ -1514,7 +1585,7 @@ main {
|
|||||||
min-width: 16px;
|
min-width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
margin-left: 6px;
|
margin-left: 6px;
|
||||||
background: url("/images/icons/icon-select.svg") no-repeat center;
|
background: url("/assets/images/icons/icon-select.svg") no-repeat center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1628,11 +1699,11 @@ main {
|
|||||||
color: var(--blue);
|
color: var(--blue);
|
||||||
|
|
||||||
&.i-filter {
|
&.i-filter {
|
||||||
background: url("/images/icons/icon-filter.svg") no-repeat 20px 50%;
|
background: url("/assets/images/icons/icon-filter.svg") no-repeat 20px 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.i-sort {
|
&.i-sort {
|
||||||
background: url("/images/icons/icon-sort.svg") no-repeat 20px 50%;
|
background: url("/assets/images/icons/icon-sort.svg") no-repeat 20px 50%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1685,4 +1756,176 @@ main {
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Личный кабинет - Календарь
|
||||||
|
.calendar_wrapper {
|
||||||
|
#calendar_month {
|
||||||
|
margin-left: auto;
|
||||||
|
max-width: 235px;
|
||||||
|
padding-left: 32px;
|
||||||
|
display: block;
|
||||||
|
background: url("/assets/images/lk/calendar.svg") no-repeat 8px 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar_grid {
|
||||||
|
margin-top: 30px;
|
||||||
|
|
||||||
|
.grid_header {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
.grid_cell {
|
||||||
|
padding: 15px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 23px;
|
||||||
|
color: #0C0C0C;
|
||||||
|
width: 14.2%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid_body {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
border: 1px solid #E0E0E0;
|
||||||
|
|
||||||
|
.grid_cell {
|
||||||
|
padding: 15px;
|
||||||
|
width: 14.287%;
|
||||||
|
height: 150px;
|
||||||
|
border: 1px solid #E0E0E0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: stretch;
|
||||||
|
|
||||||
|
.cell_header {
|
||||||
|
color: #87878E;
|
||||||
|
align-self: flex-start;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #000;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell_body {
|
||||||
|
align-self: flex-end;
|
||||||
|
p {
|
||||||
|
color: #000;
|
||||||
|
span {
|
||||||
|
display: block;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
&.disabled {
|
||||||
|
background: #EDEFF5;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.current {
|
||||||
|
background: var(--blue);
|
||||||
|
|
||||||
|
.cell_header {
|
||||||
|
color: #fff;
|
||||||
|
|
||||||
|
span {color: inherit;}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell_body p {color: #fff;}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar_payment {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.day {
|
||||||
|
color: #87878E;
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-right: 50px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
font-size: 50px;
|
||||||
|
line-height: 1;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.payment_table {
|
||||||
|
display: table;
|
||||||
|
margin-top: 12px;
|
||||||
|
|
||||||
|
.table_row {
|
||||||
|
display: table-row;
|
||||||
|
|
||||||
|
.table_cell {
|
||||||
|
display: table-cell;
|
||||||
|
padding: 2px 10px;
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.table_header {
|
||||||
|
|
||||||
|
.table_cell {
|
||||||
|
color: #87878E;
|
||||||
|
padding: 12px 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Личный кабинет - Акты
|
||||||
|
.acts_wrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.acts_list-checkbox, .reconciliation_form {
|
||||||
|
width: ~"calc(50% - 10px)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main .dropdown_blocks_list .dropdown_block .block_body {
|
||||||
|
.transaction_detail {
|
||||||
|
margin: 30px 0;
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
max-width: 60%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
li {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.dropdown_block + .dosc_list {
|
||||||
|
margin-top: 30px;
|
||||||
}
|
}
|
||||||
16
css/var.css
16
css/var.css
@ -169,21 +169,27 @@ div {
|
|||||||
}
|
}
|
||||||
.i-phone {
|
.i-phone {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-phone-hot.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-phone-hot.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
.i-phone-secondary {
|
.i-phone-secondary {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-phone-secondary.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-phone-secondary.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
.i-address {
|
.i-address {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-address.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-address.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
.i-worktime {
|
.i-worktime {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-worktime.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-worktime.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
.i-pdf {
|
.i-pdf {
|
||||||
padding-left: 80px;
|
padding-left: 80px;
|
||||||
background: url("/images/icons/icon-pdf.svg") no-repeat left center;
|
background: url("/assets/images/icons/icon-pdf.svg") no-repeat left center;
|
||||||
|
}
|
||||||
|
.success {
|
||||||
|
color: var(--green);
|
||||||
|
}
|
||||||
|
.danger {
|
||||||
|
color: var(--red);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
{"version":3,"sources":["var.less"],"names":[],"mappings":"AAAA,MACE,cAAA,CACA,wBAAA,CACA,cAAA,CACA,+BAAA,CACA,iBAAA,CACA,kCAAA,CACA,aAAA,CACA,kBAAA,CACA,eAAA,CACA,0BAGF,WACE,YAAa,yBAAb,CACA,QAAS,sCAAsC,OAAO,OAAtD,CACA,kBAAA,CACA,kBAGF,KACE,cAAA,CACA,gBAAA,CACA,aAAA,CACA,YAAa,uBAAb,CACA,gBAGF,WACE,gBAAA,CACA,mBAAA,CACA,UAAA,CACA,gBAAA,CACA,WAAA,CACA,kBAEA,UAAC,OACC,QAAS,EAAT,CACA,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,QAAA,CACA,WAaF,UAAC,MACC,gBAAA,CACA,iBAAA,CACA,mBAIJ,iBACE,YAAA,CACA,8BAFF,gBAIE,OACE,YALJ,gBAQE,SACE,MAAO,mBAEP,gBAHF,QAGG,YACC,WAZN,gBAQE,QAOE,cACE,iBAAA,CACA,YAAA,CACA,cAAA,CACA,6BAAA,CACA,gCApBN,gBAQE,QAOE,aAOE,KACE,MAAO,iBAKb,gBAAC,MACC,OACE,YAFJ,gBAAC,MAKC,SACE,MAAO,mBAKb,eACE,cAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,mBAEA,cAAC,WACC,gBAIJ,GACE,cAAA,CACA,iBAGF,GACE,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,mBAEA,EAAC,OACC,cAAA,CACA,gBAAA,CACA,MAAO,sBAAP,CACA,YAAA,CACA,gBAGF,EAAC,aACC,aAIJ,GACE,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,mBAEA,EAAC,aACC,aAIJ,GACE,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,mBAEA,EAAC,aACC,aAIJ,WACE,cAAA,CACA,iBAEA,UAAC,YACC,cAIJ,EACA,OACE,gBAIA,CAAC,SACC,MAAO,YAIX,EACE,oBAAA,CACA,MAAO,YAGT,IACE,sBAGF,OACE,UAAA,CACA,aAGF,gBAAkC,iBAChC,GACE,cAAA,CACA,iBAGF,GACE,cAAA,CACA,kBAIJ,SACE,iBAAA,CACA,eAAgB,sDAElB,mBACE,iBAAA,CACA,eAAgB,4DAElB,WACE,iBAAA,CACA,eAAgB,oDAElB,YACE,iBAAA,CACA,eAAgB,qDAGlB,OACE,iBAAA,CACA,eAAgB"}
|
{"version":3,"sources":["var.less"],"names":[],"mappings":"AAAA,MACE,cAAA,CACA,wBAAA,CACA,cAAA,CACA,+BAAA,CACA,iBAAA,CACA,kCAAA,CACA,aAAA,CACA,kBAAA,CACA,eAAA,CACA,0BAGF,WACE,YAAa,yBAAb,CACA,QAAS,sCAAsC,OAAO,OAAtD,CACA,kBAAA,CACA,kBAGF,KACE,cAAA,CACA,gBAAA,CACA,aAAA,CACA,YAAa,uBAAb,CACA,gBAGF,WACE,gBAAA,CACA,mBAAA,CACA,UAAA,CACA,gBAAA,CACA,WAAA,CACA,kBAEA,UAAC,OACC,QAAS,EAAT,CACA,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,QAAA,CACA,WAaF,UAAC,MACC,gBAAA,CACA,iBAAA,CACA,mBAIJ,iBACE,YAAA,CACA,8BAFF,gBAIE,OACE,YALJ,gBAQE,SACE,MAAO,mBAEP,gBAHF,QAGG,YACC,WAZN,gBAQE,QAOE,cACE,iBAAA,CACA,YAAA,CACA,cAAA,CACA,6BAAA,CACA,gCApBN,gBAQE,QAOE,aAOE,KACE,MAAO,iBAKb,gBAAC,MACC,OACE,YAFJ,gBAAC,MAKC,SACE,MAAO,mBAKb,eACE,cAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,mBAEA,cAAC,WACC,gBAIJ,GACE,cAAA,CACA,iBAGF,GACE,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,mBAEA,EAAC,OACC,cAAA,CACA,gBAAA,CACA,MAAO,sBAAP,CACA,YAAA,CACA,gBAGF,EAAC,aACC,aAIJ,GACE,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,mBAEA,EAAC,aACC,aAIJ,GACE,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,mBAEA,EAAC,aACC,aAIJ,WACE,cAAA,CACA,iBAEA,UAAC,YACC,cAIJ,EACA,OACE,gBAIA,CAAC,SACC,MAAO,YAIX,EACE,oBAAA,CACA,MAAO,YAGT,IACE,sBAGF,OACE,UAAA,CACA,aAGF,gBAAkC,iBAChC,GACE,cAAA,CACA,iBAGF,GACE,cAAA,CACA,kBAIJ,SACE,iBAAA,CACA,eAAgB,sDAElB,mBACE,iBAAA,CACA,eAAgB,4DAElB,WACE,iBAAA,CACA,eAAgB,oDAElB,YACE,iBAAA,CACA,eAAgB,qDAGlB,OACE,iBAAA,CACA,eAAgB,sDAGlB,SACE,MAAO,aAGT,QACE,MAAO"}
|
||||||
18
css/var.less
18
css/var.less
@ -207,22 +207,30 @@ div {
|
|||||||
|
|
||||||
.i-phone {
|
.i-phone {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-phone-hot.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-phone-hot.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
.i-phone-secondary {
|
.i-phone-secondary {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-phone-secondary.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-phone-secondary.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
.i-address {
|
.i-address {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-address.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-address.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
.i-worktime {
|
.i-worktime {
|
||||||
padding-left: 28px;
|
padding-left: 28px;
|
||||||
background: url("/images/icons/icon-worktime.svg") no-repeat 0 2px;
|
background: url("/assets/images/icons/icon-worktime.svg") no-repeat 0 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.i-pdf {
|
.i-pdf {
|
||||||
padding-left: 80px;
|
padding-left: 80px;
|
||||||
background: url("/images/icons/icon-pdf.svg") no-repeat left center;
|
background: url("/assets/images/icons/icon-pdf.svg") no-repeat left center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.success {
|
||||||
|
color: var(--green);
|
||||||
|
}
|
||||||
|
|
||||||
|
.danger {
|
||||||
|
color: var(--red)
|
||||||
}
|
}
|
||||||
@ -21,6 +21,22 @@ module.exports = withImages(withFonts(withLess({
|
|||||||
{
|
{
|
||||||
return {
|
return {
|
||||||
afterFiles: [
|
afterFiles: [
|
||||||
|
{
|
||||||
|
source: "/contract/:number/payments",
|
||||||
|
destination: "/contract",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: "/contract/:number/agreement",
|
||||||
|
destination: "/contract/agreement",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: "/contract/:number/services",
|
||||||
|
destination: "/contract/services",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: "/contract/:number/documents",
|
||||||
|
destination: "/contract/documents",
|
||||||
|
}
|
||||||
//{
|
//{
|
||||||
//source: "/about/reviews/:page(\\d{1,})",
|
//source: "/about/reviews/:page(\\d{1,})",
|
||||||
//destination: "/about/reviews",
|
//destination: "/about/reviews",
|
||||||
|
|||||||
11
package.json
11
package.json
@ -9,12 +9,21 @@
|
|||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"axios": "^0.24.0",
|
||||||
|
"cookie": "^0.4.1",
|
||||||
|
"moment": "^2.29.1",
|
||||||
"next": "11.1.2",
|
"next": "11.1.2",
|
||||||
"next-fonts": "^1.5.1",
|
"next-fonts": "^1.5.1",
|
||||||
"next-images": "^1.8.1",
|
"next-images": "^1.8.1",
|
||||||
|
"next-redux-wrapper": "^7.0.5",
|
||||||
"next-with-less": "^1.0.1",
|
"next-with-less": "^1.0.1",
|
||||||
|
"numeral": "^2.0.6",
|
||||||
"react": "17.0.2",
|
"react": "17.0.2",
|
||||||
"react-dom": "17.0.2"
|
"react-cookie": "^4.1.1",
|
||||||
|
"react-dom": "17.0.2",
|
||||||
|
"react-redux": "^7.2.6",
|
||||||
|
"redux": "^4.1.2",
|
||||||
|
"redux-persist": "^6.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "8.0.0",
|
"eslint": "8.0.0",
|
||||||
|
|||||||
@ -1,8 +1,30 @@
|
|||||||
import '../css/style.css'
|
import { reduxWrapper } from '../store'
|
||||||
|
import numeral from 'numeral';
|
||||||
|
import '../css/style.css';
|
||||||
|
|
||||||
function MyApp({ Component, pageProps })
|
const m = Math.random();
|
||||||
|
numeral.register('locale', `locale_${ m }`, {
|
||||||
|
delimiters: {
|
||||||
|
thousands: ' ',
|
||||||
|
decimal: ','
|
||||||
|
},
|
||||||
|
abbreviations: {
|
||||||
|
thousand: 'k',
|
||||||
|
million: 'm',
|
||||||
|
billion: 'b',
|
||||||
|
trillion: 't'
|
||||||
|
},
|
||||||
|
currency: {
|
||||||
|
symbol: '₽'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
numeral.locale(`locale_${ m }`);
|
||||||
|
|
||||||
|
const WrappedApp = ({ Component, pageProps }) =>
|
||||||
{
|
{
|
||||||
return <Component {...pageProps} />
|
return (
|
||||||
|
<Component {...pageProps} />
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default MyApp;
|
export default reduxWrapper.withRedux(WrappedApp);
|
||||||
@ -11,11 +11,11 @@ class Doc extends Document
|
|||||||
<meta name="description" content="" />
|
<meta name="description" content="" />
|
||||||
<meta name="keywords" content="" />
|
<meta name="keywords" content="" />
|
||||||
|
|
||||||
<meta charset="utf-8" />
|
<meta charSet="utf-8" />
|
||||||
<meta name="msapplication-TileColor" content="#1C01A9" />
|
<meta name="msapplication-TileColor" content="#1C01A9" />
|
||||||
<meta name="msapplication-TileImage" content="/favicon/favicon_144.png" />
|
<meta name="msapplication-TileImage" content="/favicon/favicon_144.png" />
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="true"/>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap" rel="stylesheet"/>
|
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap" rel="stylesheet"/>
|
||||||
|
|
||||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
|
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
|
||||||
|
|||||||
42
pages/components/Company/index.js
Normal file
42
pages/components/Company/index.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import React from "react";
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
|
||||||
|
class Company extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
company: {},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static getDerivedStateFromProps(nextProps, prevState)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: nextProps.company,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
const { company } = this.state;
|
||||||
|
return (
|
||||||
|
<div className="right">
|
||||||
|
<p align="right">
|
||||||
|
<b>{ company.title }</b><br/>
|
||||||
|
ИНН: { company.inn } КПП: { company.kpp }
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: state.company,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(mapStateToProps)(Company);
|
||||||
@ -1,3 +1,5 @@
|
|||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
export default function Footer()
|
export default function Footer()
|
||||||
{
|
{
|
||||||
return (
|
return (
|
||||||
@ -6,87 +8,124 @@ export default function Footer()
|
|||||||
<ul className="column">
|
<ul className="column">
|
||||||
<li><b>Программы</b></li>
|
<li><b>Программы</b></li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Лизинг для ЮЛ и ИП</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/lizing_dlja_ul_i_ip`}>
|
||||||
|
<a>Лизинг для ЮЛ и ИП</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Легковые автомобили</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/legkovye_avtomobili`}>
|
||||||
|
<a>Легковые автомобили</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Легкий коммерческий транспорт</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/legkij_kommercheskij_transport`}>
|
||||||
|
<a>Легкий коммерческий транспорт</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Грузовой транспорт</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/gruzovoj_transport`}>
|
||||||
|
<a>Грузовой транспорт</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Спецтехника</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/spectehnika`}>
|
||||||
|
<a>Спецтехника</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Лизинг такси</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/lizing_taksi`}>
|
||||||
|
<a>Лизинг такси</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Лизинг авто с пробегом</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/lizing_avto_s_probegomja`}>
|
||||||
|
<a>Лизинг авто с пробегом</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul className="column">
|
<ul className="column">
|
||||||
<li><b>Каталог техники</b></li>
|
<li><b>Каталог техники</b></li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Легковые</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/catalog/legkovye`}>
|
||||||
|
<a>Легковые</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Легкий коммерческий транспорт</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/catalog/legkij_kommercheskij_transport`}>
|
||||||
|
<a>Легкий коммерческий транспорт</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul className="column">
|
<ul className="column">
|
||||||
<li><b>О компании</b></li>
|
<li><b>О компании</b></li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Новости</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/about/news`}>
|
||||||
|
<a>Новости</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Карьера</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/about/career`}>
|
||||||
|
<a>Карьера</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Контакты</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/about/contacts`}>
|
||||||
|
<a>Контакты</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Реквизиты</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/about/requisites`}>
|
||||||
|
<a>Реквизиты</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Общие условия лизинга</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/about/rules`}>
|
||||||
|
<a>Общие условия лизинга</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Отзыв доверенности</a>
|
<Link href={`${ process.env.NEXT_PUBLIC_MAIN_SITE }/about/retmination`}>
|
||||||
|
<a>Отзыв доверенности</a>
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div className="column">
|
<div className="column">
|
||||||
<div>
|
<div>
|
||||||
<a href="mailto:">mail@mail.com</a>
|
<a href="mailto:">info@evoleasing.ru</a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a href="tel:">8 800 333 75 75</a>
|
<a href="tel:">8 800 333 75 75</a>
|
||||||
</div>
|
</div>
|
||||||
<div className="socials">
|
<div className="socials">
|
||||||
<a href="#">
|
<Link href="#">
|
||||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<a>
|
||||||
<path
|
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
d="M16.0003 4.36377C12.8401 4.36377 12.4435 4.37759 11.2023 4.43407C9.9636 4.4908 9.11805 4.68692 8.37819 4.97468C7.61288 5.27189 6.96369 5.66947 6.31692 6.3165C5.66967 6.96328 5.2721 7.6125 4.97393 8.37759C4.68545 9.11771 4.4891 9.96353 4.43334 11.2018C4.37783 12.443 4.36328 12.8399 4.36328 16.0001C4.36328 19.1604 4.37734 19.5558 4.43358 20.797C4.49055 22.0358 4.68667 22.8813 4.97417 23.6212C5.27162 24.3866 5.66918 25.0358 6.31619 25.6826C6.96272 26.3298 7.61191 26.7284 8.37673 27.0256C9.11708 27.3133 9.96287 27.5095 11.2014 27.5662C12.4426 27.6227 12.8389 27.6365 15.9988 27.6365C19.1592 27.6365 19.5546 27.6227 20.7958 27.5662C22.0345 27.5095 22.881 27.3133 23.6214 27.0256C24.3864 26.7284 25.0347 26.3298 25.6812 25.6826C26.3284 25.0358 26.726 24.3866 27.0242 23.6215C27.3102 22.8813 27.5066 22.0355 27.5648 20.7972C27.6205 19.556 27.6351 19.1604 27.6351 16.0001C27.6351 12.8399 27.6205 12.4433 27.5648 11.2021C27.5066 9.96328 27.3102 9.11771 27.0242 8.37783C26.726 7.6125 26.3284 6.96328 25.6812 6.3165C25.0339 5.66922 24.3867 5.27165 23.6206 4.97468C22.8788 4.68692 22.0328 4.4908 20.7941 4.43407C19.5529 4.37759 19.1577 4.36377 15.9966 4.36377H16.0003ZM14.9564 6.46074C15.2662 6.46025 15.6119 6.46074 16.0003 6.46074C19.1071 6.46074 19.4753 6.47189 20.7022 6.52765C21.8367 6.57953 22.4524 6.7691 22.8626 6.92838C23.4056 7.13928 23.7928 7.39141 24.1998 7.79868C24.607 8.20595 24.8591 8.59383 25.0705 9.13686C25.2298 9.54656 25.4196 10.1623 25.4712 11.2969C25.527 12.5235 25.5391 12.892 25.5391 15.9975C25.5391 19.1029 25.527 19.4714 25.4712 20.6981C25.4194 21.8326 25.2298 22.4484 25.0705 22.8581C24.8596 23.4011 24.607 23.7878 24.1998 24.1948C23.7925 24.6021 23.4059 24.8542 22.8626 25.0651C22.4529 25.2251 21.8367 25.4142 20.7022 25.4661C19.4755 25.5218 19.1071 25.5339 16.0003 25.5339C12.8932 25.5339 12.525 25.5218 11.2983 25.4661C10.1638 25.4137 9.54809 25.2241 9.13768 25.0649C8.59467 24.8539 8.2068 24.6018 7.79954 24.1946C7.39228 23.7873 7.14017 23.4004 6.92878 22.8571C6.76951 22.4474 6.5797 21.8316 6.52806 20.6971C6.47231 19.4704 6.46116 19.1019 6.46116 15.9946C6.46116 12.8872 6.47231 12.5206 6.52806 11.294C6.57994 10.1594 6.76951 9.54365 6.92878 9.13347C7.13968 8.59044 7.39228 8.20256 7.79954 7.79528C8.2068 7.38801 8.59467 7.13589 9.13768 6.9245C9.54785 6.7645 10.1638 6.57541 11.2983 6.52328C12.3718 6.4748 12.7878 6.46025 14.9564 6.45783V6.46074ZM22.2115 8.39286C21.4406 8.39286 20.8151 9.01759 20.8151 9.78874C20.8151 10.5596 21.4406 11.1851 22.2115 11.1851C22.9824 11.1851 23.6078 10.5596 23.6078 9.78874C23.6078 9.01783 22.9824 8.39237 22.2115 8.39237V8.39286ZM16.0003 10.0244C12.7002 10.0244 10.0247 12.7 10.0247 16.0001C10.0247 19.3003 12.7002 21.9747 16.0003 21.9747C19.3003 21.9747 21.9749 19.3003 21.9749 16.0001C21.9749 12.7 19.3 10.0244 16 10.0244H16.0003ZM16.0003 12.1213C18.1423 12.1213 19.8789 13.8578 19.8789 16.0001C19.8789 18.1422 18.1423 19.8789 16.0003 19.8789C13.858 19.8789 12.1216 18.1422 12.1216 16.0001C12.1216 13.8578 13.858 12.1213 16.0003 12.1213Z"
|
<path
|
||||||
fill="#8E94A7" />
|
d="M16.0003 4.36377C12.8401 4.36377 12.4435 4.37759 11.2023 4.43407C9.9636 4.4908 9.11805 4.68692 8.37819 4.97468C7.61288 5.27189 6.96369 5.66947 6.31692 6.3165C5.66967 6.96328 5.2721 7.6125 4.97393 8.37759C4.68545 9.11771 4.4891 9.96353 4.43334 11.2018C4.37783 12.443 4.36328 12.8399 4.36328 16.0001C4.36328 19.1604 4.37734 19.5558 4.43358 20.797C4.49055 22.0358 4.68667 22.8813 4.97417 23.6212C5.27162 24.3866 5.66918 25.0358 6.31619 25.6826C6.96272 26.3298 7.61191 26.7284 8.37673 27.0256C9.11708 27.3133 9.96287 27.5095 11.2014 27.5662C12.4426 27.6227 12.8389 27.6365 15.9988 27.6365C19.1592 27.6365 19.5546 27.6227 20.7958 27.5662C22.0345 27.5095 22.881 27.3133 23.6214 27.0256C24.3864 26.7284 25.0347 26.3298 25.6812 25.6826C26.3284 25.0358 26.726 24.3866 27.0242 23.6215C27.3102 22.8813 27.5066 22.0355 27.5648 20.7972C27.6205 19.556 27.6351 19.1604 27.6351 16.0001C27.6351 12.8399 27.6205 12.4433 27.5648 11.2021C27.5066 9.96328 27.3102 9.11771 27.0242 8.37783C26.726 7.6125 26.3284 6.96328 25.6812 6.3165C25.0339 5.66922 24.3867 5.27165 23.6206 4.97468C22.8788 4.68692 22.0328 4.4908 20.7941 4.43407C19.5529 4.37759 19.1577 4.36377 15.9966 4.36377H16.0003ZM14.9564 6.46074C15.2662 6.46025 15.6119 6.46074 16.0003 6.46074C19.1071 6.46074 19.4753 6.47189 20.7022 6.52765C21.8367 6.57953 22.4524 6.7691 22.8626 6.92838C23.4056 7.13928 23.7928 7.39141 24.1998 7.79868C24.607 8.20595 24.8591 8.59383 25.0705 9.13686C25.2298 9.54656 25.4196 10.1623 25.4712 11.2969C25.527 12.5235 25.5391 12.892 25.5391 15.9975C25.5391 19.1029 25.527 19.4714 25.4712 20.6981C25.4194 21.8326 25.2298 22.4484 25.0705 22.8581C24.8596 23.4011 24.607 23.7878 24.1998 24.1948C23.7925 24.6021 23.4059 24.8542 22.8626 25.0651C22.4529 25.2251 21.8367 25.4142 20.7022 25.4661C19.4755 25.5218 19.1071 25.5339 16.0003 25.5339C12.8932 25.5339 12.525 25.5218 11.2983 25.4661C10.1638 25.4137 9.54809 25.2241 9.13768 25.0649C8.59467 24.8539 8.2068 24.6018 7.79954 24.1946C7.39228 23.7873 7.14017 23.4004 6.92878 22.8571C6.76951 22.4474 6.5797 21.8316 6.52806 20.6971C6.47231 19.4704 6.46116 19.1019 6.46116 15.9946C6.46116 12.8872 6.47231 12.5206 6.52806 11.294C6.57994 10.1594 6.76951 9.54365 6.92878 9.13347C7.13968 8.59044 7.39228 8.20256 7.79954 7.79528C8.2068 7.38801 8.59467 7.13589 9.13768 6.9245C9.54785 6.7645 10.1638 6.57541 11.2983 6.52328C12.3718 6.4748 12.7878 6.46025 14.9564 6.45783V6.46074ZM22.2115 8.39286C21.4406 8.39286 20.8151 9.01759 20.8151 9.78874C20.8151 10.5596 21.4406 11.1851 22.2115 11.1851C22.9824 11.1851 23.6078 10.5596 23.6078 9.78874C23.6078 9.01783 22.9824 8.39237 22.2115 8.39237V8.39286ZM16.0003 10.0244C12.7002 10.0244 10.0247 12.7 10.0247 16.0001C10.0247 19.3003 12.7002 21.9747 16.0003 21.9747C19.3003 21.9747 21.9749 19.3003 21.9749 16.0001C21.9749 12.7 19.3 10.0244 16 10.0244H16.0003ZM16.0003 12.1213C18.1423 12.1213 19.8789 13.8578 19.8789 16.0001C19.8789 18.1422 18.1423 19.8789 16.0003 19.8789C13.858 19.8789 12.1216 18.1422 12.1216 16.0001C12.1216 13.8578 13.858 12.1213 16.0003 12.1213Z"
|
||||||
</svg>
|
fill="#8E94A7" />
|
||||||
</a>
|
</svg>
|
||||||
<a href="#">
|
</a>
|
||||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
</Link>
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
<Link href="#">
|
||||||
d="M4 16C4 21.9333 8.33333 26.8667 14 27.8667L14.0669 27.8132C14.0446 27.8088 14.0223 27.8045 14 27.8V19.3333H11V16H14V13.3333C14 10.3333 15.9333 8.66667 18.6667 8.66667C19.5333 8.66667 20.4667 8.8 21.3333 8.93333V12H19.8C18.3333 12 18 12.7333 18 13.6667V16H21.2L20.6667 19.3333H18V27.8C17.9777 27.8045 17.9554 27.8088 17.9331 27.8132L18 27.8667C23.6667 26.8667 28 21.9333 28 16C28 9.4 22.6 4 16 4C9.4 4 4 9.4 4 16Z"
|
<a>
|
||||||
fill="#8E94A7" />
|
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
</svg>
|
<path fillRule="evenodd" clipRule="evenodd"
|
||||||
|
d="M4 16C4 21.9333 8.33333 26.8667 14 27.8667L14.0669 27.8132C14.0446 27.8088 14.0223 27.8045 14 27.8V19.3333H11V16H14V13.3333C14 10.3333 15.9333 8.66667 18.6667 8.66667C19.5333 8.66667 20.4667 8.8 21.3333 8.93333V12H19.8C18.3333 12 18 12.7333 18 13.6667V16H21.2L20.6667 19.3333H18V27.8C17.9777 27.8045 17.9554 27.8088 17.9331 27.8132L18 27.8667C23.6667 26.8667 28 21.9333 28 16C28 9.4 22.6 4 16 4C9.4 4 4 9.4 4 16Z"
|
||||||
</a>
|
fill="#8E94A7" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<p>© ООО "ЛК Эволюция"</p>
|
<p>© ООО "ЛК Эволюция"</p>
|
||||||
<div>
|
<div>
|
||||||
<a href="#">Обработка персональных данных</a>
|
<Link href="#">
|
||||||
|
<a>Обработка персональных данных</a>
|
||||||
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a href="#">Общие условия договора лизинга</a>
|
<Link href="#">
|
||||||
|
<a>Общие условия договора лизинга</a>
|
||||||
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
44
pages/components/FormRequest/index.js
Normal file
44
pages/components/FormRequest/index.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default class FormRequest extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<section id="order">
|
||||||
|
<div class="container wide">
|
||||||
|
<h2 class="section_title">Купить в лизинг?</h2>
|
||||||
|
<div class="order_form">
|
||||||
|
<div class="order_email">
|
||||||
|
<p>Напишите на <a href="mailto:">info@evoleasing.ru</a> или заполните форму</p>
|
||||||
|
</div>
|
||||||
|
<form>
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="text" value="" placeholder="Имя" />
|
||||||
|
</div>
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="tel" value="" placeholder="Телефон" />
|
||||||
|
</div>
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="email" value="" placeholder="E-mail" />
|
||||||
|
</div>
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="text" value="" placeholder="Организация" />
|
||||||
|
</div>
|
||||||
|
<div class="policy">
|
||||||
|
<input type="checkbox" name="policy" id="policy" hidden checked />
|
||||||
|
<label for="policy">Даю свое согласие на обработку моих персональных данных</label>
|
||||||
|
</div>
|
||||||
|
<button class="button">Отправить</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,35 +1,51 @@
|
|||||||
export default function Header()
|
import React from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default class Header extends React.Component
|
||||||
{
|
{
|
||||||
return (
|
constructor(props)
|
||||||
<header>
|
{
|
||||||
<div className="container">
|
super(props);
|
||||||
<a href="#" className="logo">
|
}
|
||||||
<img src="/assets/images/logo.svg" alt="" width="217px" height="32px" />
|
|
||||||
</a>
|
render()
|
||||||
<div className="header_menu">
|
{
|
||||||
<nav>
|
console.log("Header", "this.props", this.props);
|
||||||
<ul>
|
return (
|
||||||
<li>
|
<header>
|
||||||
<a href="#">Программы</a>
|
<div className="container">
|
||||||
</li>
|
<a href="/" className="logo">
|
||||||
<li>
|
<img src="/assets/images/logo.svg" alt="" width="217px" height="32px" />
|
||||||
<a href="#">Спецпредложения</a>
|
</a>
|
||||||
</li>
|
<div className="header_menu">
|
||||||
<li>
|
<nav>
|
||||||
<a href="#">Сервисы</a>
|
<ul>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
<Link href="/">
|
||||||
<a href="#">Каталог автомобилей</a>
|
<a className={ this.props.router && this.props.router.route === "/" ? "active" : "" }>Договоры</a>
|
||||||
</li>
|
</Link>
|
||||||
<li>
|
</li>
|
||||||
<a href="#" className="active">О компании</a>
|
<li>
|
||||||
</li>
|
<Link href="/documents/schedule/">
|
||||||
</ul>
|
<a className={ this.props.router && this.props.router.route.indexOf("/documents/") === 0 ? "active" : "" }>Взаиморасчеты и закрывающие документы</a>
|
||||||
</nav>
|
</Link>
|
||||||
<a href="tel:+74950000000">+7 495 000 00 00</a>
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/settings/">
|
||||||
|
<a className={ this.props.router && this.props.router.route === "/settings" ? "active" : "" }>Настройки</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={ process.env.NEXT_PUBLIC_MAIN_SITE }>
|
||||||
|
<a>Основной сайт</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<a href="tel:88003337575">8 800 333 75 75</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="#" className="lk" title="Личный кабинет"></a>
|
</header>
|
||||||
</div>
|
)
|
||||||
</header>
|
}
|
||||||
)
|
|
||||||
}
|
}
|
||||||
56
pages/components/MainHeader/index.js
Normal file
56
pages/components/MainHeader/index.js
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default class MainHeader extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
console.log("Header", "this.props", this.props);
|
||||||
|
return (
|
||||||
|
<header>
|
||||||
|
<div className="container">
|
||||||
|
<a href="/" className="logo">
|
||||||
|
<img src="/assets/images/logo.svg" alt="" width="217px" height="32px" />
|
||||||
|
</a>
|
||||||
|
<div className="header_menu">
|
||||||
|
<nav>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<Link href={ `${ process.env.NEXT_PUBLIC_MAIN_SITE }/programs/` }>
|
||||||
|
<a>Программы</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={ `${ process.env.NEXT_PUBLIC_MAIN_SITE }/special/` }>
|
||||||
|
<a>Спецпредложения</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={ `${ process.env.NEXT_PUBLIC_MAIN_SITE }/services/` }>
|
||||||
|
<a>Сервисы</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={ `${ process.env.NEXT_PUBLIC_MAIN_SITE }/catalog/` }>
|
||||||
|
<a>Каталог автомобилей</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={ `${ process.env.NEXT_PUBLIC_MAIN_SITE }/about/news/` }>
|
||||||
|
<a>О компании</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<a href="tel:88003337575">8 800 333 75 75</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
112
pages/contract/agreement.js
Normal file
112
pages/contract/agreement.js
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Head from 'next/head';
|
||||||
|
import Image from 'next/image';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
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 InnerMenu from "./components/InnerMenu";
|
||||||
|
|
||||||
|
class ContractPage extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Header { ...this.props }/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div class="clear"></div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<div class="left">
|
||||||
|
<h1 class="section_title">Договор №1234/2021 от 10.01.2021</h1>
|
||||||
|
</div>
|
||||||
|
<Company/>
|
||||||
|
</div>
|
||||||
|
<div class="aside_container about">
|
||||||
|
<InnerMenu number={ "1234-2021" } { ...this.props }/>
|
||||||
|
<article>
|
||||||
|
<div class="dosc_list">
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Договор
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Договор цессии
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Дополнительное соглашение №1
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Дополнительное соглашение №2
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Выкупные документы
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: state.company,
|
||||||
|
schedule: state.payments,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(ContractPage));
|
||||||
43
pages/contract/components/InnerMenu/index.js
Normal file
43
pages/contract/components/InnerMenu/index.js
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default class InnerMenu extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
const { number } = this.props;
|
||||||
|
console.log("this.props", this.props);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<aside>
|
||||||
|
<ul className="aside_nav">
|
||||||
|
<li>
|
||||||
|
<Link href={`/contract/${ number }/payments`}>
|
||||||
|
<a className={ this.props.router && this.props.router.asPath.indexOf("payments") > -1 ? "active" : "" }>График платежей</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={`/contract/${ number }/services`}>
|
||||||
|
<a className={ this.props.router && this.props.router.asPath.indexOf("services") > -1 ? "active" : "" }>Дополнительные услуги</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={`/contract/${ number }/agreement`}>
|
||||||
|
<a className={ this.props.router && this.props.router.asPath.indexOf("agreement") > -1 ? "active" : "" }>Договор</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href={`/contract/${ number }/documents`}>
|
||||||
|
<a className={ this.props.router && this.props.router.asPath.indexOf("documents") > -1 ? "active" : "" }>Документы по сделке</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</aside>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
121
pages/contract/documents.js
Normal file
121
pages/contract/documents.js
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Head from 'next/head';
|
||||||
|
import Image from 'next/image';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
import { withRouter } from 'next/router';
|
||||||
|
import { reduxWrapper } from '../../store';
|
||||||
|
|
||||||
|
import Header from '../components/Header';
|
||||||
|
import Footer from '../components/Footer';
|
||||||
|
import InnerMenu from "./components/InnerMenu";
|
||||||
|
import Company from "../components/Company";
|
||||||
|
|
||||||
|
class ContractDocumentsPage extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Header { ...this.props }/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div class="clear"></div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<div class="left">
|
||||||
|
<h1 class="section_title">Договор №1234/2021 от 10.01.2021</h1>
|
||||||
|
</div>
|
||||||
|
<Company/>
|
||||||
|
</div>
|
||||||
|
<div class="aside_container about">
|
||||||
|
<InnerMenu number={ "1234-2021" } { ...this.props }/>
|
||||||
|
<article>
|
||||||
|
<div class="dropdown_blocks_list">
|
||||||
|
<div class="dropdown_block">
|
||||||
|
<div class="block_header">
|
||||||
|
<p>
|
||||||
|
УПД по очередным платежам
|
||||||
|
</p>
|
||||||
|
<button class="block_toggle"></button>
|
||||||
|
</div>
|
||||||
|
<div class="block_body">
|
||||||
|
<div class="transaction_detail">
|
||||||
|
<p>№ постановления: <b>3432434242334</b></p>
|
||||||
|
<ul>
|
||||||
|
<li>Сумма: <b>3 000,00 р.</b></li>
|
||||||
|
<li>Дата: <b>01/01/2020</b></li>
|
||||||
|
<li>Статус: <b class="success">Оплачен</b></li>
|
||||||
|
<li>Штраф: п. 1.15 - Несоблюдение правил парковки </li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dosc_list medium-icon">
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf i-medium">
|
||||||
|
Дополнительное соглашение №1
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf i-medium">
|
||||||
|
Дополнительное соглашение №2
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf i-medium">
|
||||||
|
Выкупные документы
|
||||||
|
</p>
|
||||||
|
<a href="#" class="button button-blue">Скачать</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
<div class="dropdown_block">
|
||||||
|
<div class="block_header">
|
||||||
|
<p>
|
||||||
|
УПД по доп.услугам
|
||||||
|
</p>
|
||||||
|
<button class="block_toggle"></button>
|
||||||
|
</div>
|
||||||
|
<div class="block_body"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: state.company,
|
||||||
|
schedule: state.payments,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(ContractDocumentsPage));
|
||||||
114
pages/contract/index.js
Normal file
114
pages/contract/index.js
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Head from 'next/head';
|
||||||
|
import Image from 'next/image';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
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 InnerMenu from "./components/InnerMenu";
|
||||||
|
|
||||||
|
class ContractSchedulePage extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Header { ...this.props }/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div className="clear"></div>
|
||||||
|
<div className="container">
|
||||||
|
<div className="title_wrapper">
|
||||||
|
<div className="left">
|
||||||
|
<h1 className="section_title">Договор №1234/2021 от 10.01.2021</h1>
|
||||||
|
</div>
|
||||||
|
<Company/>
|
||||||
|
</div>
|
||||||
|
<div className="aside_container about">
|
||||||
|
<InnerMenu number={ "1234-2021" } { ...this.props }/>
|
||||||
|
<article>
|
||||||
|
<div className="contract_table schedule">
|
||||||
|
<div className="table_row table_header">
|
||||||
|
<div className="table_cell caret">№ платежа</div>
|
||||||
|
<div className="table_cell caret">Дата лизингового платежа</div>
|
||||||
|
<div className="table_cell caret">Лизинговый платеж с НДС (рубли)</div>
|
||||||
|
<div className="table_cell caret">НДС, 20% (рубли)</div>
|
||||||
|
<div className="table_cell">Статус платежа</div>
|
||||||
|
<div className="table_cell">Платежное поручение</div>
|
||||||
|
</div>
|
||||||
|
<button className="show_more primary">Показать прошедшие платежи</button>
|
||||||
|
<div className="table_row" data-status="overpayment-2">
|
||||||
|
<div className="table_cell">11</div>
|
||||||
|
<div className="table_cell">21.02.2021</div>
|
||||||
|
<div className="table_cell">239 724,05</div>
|
||||||
|
<div className="table_cell">43 079,18</div>
|
||||||
|
<div className="table_cell">Переплата 15 000,00 ₽</div>
|
||||||
|
<div className="table_cell">№18432 от 20/01/2021 на сумму 255 000,00 ₽</div>
|
||||||
|
</div>
|
||||||
|
<div className="table_row" data-status="overpayment-1">
|
||||||
|
<div className="table_cell">12</div>
|
||||||
|
<div className="table_cell">21.02.2021</div>
|
||||||
|
<div className="table_cell">239 724,05</div>
|
||||||
|
<div className="table_cell">43 079,18</div>
|
||||||
|
<div className="table_cell">Переплата 10 000,00 ₽</div>
|
||||||
|
<div className="table_cell">№34223 от 21/02/2021 на сумму 229 724,05 ₽</div>
|
||||||
|
</div>
|
||||||
|
<div className="table_row" data-status="paid">
|
||||||
|
<div className="table_cell">13</div>
|
||||||
|
<div className="table_cell">21.02.2021</div>
|
||||||
|
<div className="table_cell">239 724,05</div>
|
||||||
|
<div className="table_cell">43 079,18</div>
|
||||||
|
<div className="table_cell">Оплачено </div>
|
||||||
|
<div className="table_cell">№44911 от 10/03/2021 на сумму 100 000,00 ₽
|
||||||
|
№49877 от 21/03/2021 на сумму 139 724,05 ₽</div>
|
||||||
|
</div>
|
||||||
|
<div className="table_row">
|
||||||
|
<div className="table_cell">14</div>
|
||||||
|
<div className="table_cell">21.02.2021</div>
|
||||||
|
<div className="table_cell">239 724,05</div>
|
||||||
|
<div className="table_cell">43 079,18</div>
|
||||||
|
<div className="table_cell">Не оплачено </div>
|
||||||
|
<div className="table_cell">-</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: state.company,
|
||||||
|
schedule: state.payments,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(ContractSchedulePage));
|
||||||
140
pages/contract/services.js
Normal file
140
pages/contract/services.js
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Head from 'next/head';
|
||||||
|
import Image from 'next/image';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
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 InnerMenu from "./components/InnerMenu";
|
||||||
|
|
||||||
|
class ContractServicesPage extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Header { ...this.props }/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div className="clear"></div>
|
||||||
|
<div className="container">
|
||||||
|
<div className="title_wrapper">
|
||||||
|
<div className="left">
|
||||||
|
<h1 className="section_title">Договор №1234/2021 от 10.01.2021</h1>
|
||||||
|
</div>
|
||||||
|
<Company/>
|
||||||
|
</div>
|
||||||
|
<div className="aside_container about">
|
||||||
|
<InnerMenu number={ "1234-2021" } { ...this.props }/>
|
||||||
|
<article>
|
||||||
|
<div class="dropdown_blocks_list filled">
|
||||||
|
<div class="dropdown_block">
|
||||||
|
<div class="block_header">
|
||||||
|
<p class="with-icon">
|
||||||
|
<img src="/assets/images/lk/additional-1.svg" alt="Карта РАТ" width="32px" height="32px" />
|
||||||
|
Карта РАТ
|
||||||
|
</p>
|
||||||
|
<button class="block_toggle"></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="block_body">
|
||||||
|
<div class="company">
|
||||||
|
<p class="title">Каско</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Страховая компания: <b>Согласие</b></li>
|
||||||
|
<li>Сайт: <b>www.sog.ru</b></li>
|
||||||
|
<li>Телефон: <b>+74951112233</b></li>
|
||||||
|
<li>Номер полиса: <b>34234324324324</b></li>
|
||||||
|
<li>Период действия: <b>01/01/2020 - 01/01/2025</b></li>
|
||||||
|
<li>Страховая сумма: <b>3 400 000,00 р.</b></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент Текстовый контент</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="dropdown_block">
|
||||||
|
<div class="block_header">
|
||||||
|
<p class="with-icon">
|
||||||
|
<img src="/assets/images/lk/additional-2.svg" alt="Страхование" width="32px" height="32px" />
|
||||||
|
Страхование
|
||||||
|
</p>
|
||||||
|
<button class="block_toggle"></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="block_body">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="dropdown_block">
|
||||||
|
<div class="block_header">
|
||||||
|
<p class="with-icon">
|
||||||
|
<img src="/assets/images/lk/additional-3.svg" alt="Регистрация" width="32px" height="32px" />
|
||||||
|
Регистрация
|
||||||
|
</p>
|
||||||
|
<button class="block_toggle"></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="block_body">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="dropdown_block">
|
||||||
|
<div class="block_header">
|
||||||
|
<p class="with-icon">
|
||||||
|
<img src="/assets/images/lk/additional-4.svg" alt="Телематика" width="32px" height="32px" />
|
||||||
|
Телематика
|
||||||
|
</p>
|
||||||
|
<button class="block_toggle"></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="block_body">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: state.company,
|
||||||
|
schedule: state.payments,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(ContractServicesPage));
|
||||||
35
pages/documents/components/InnerMenu/index.js
Normal file
35
pages/documents/components/InnerMenu/index.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default class InnerMenu extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<aside>
|
||||||
|
<ul className="aside_nav">
|
||||||
|
<li>
|
||||||
|
<Link href="/documents/schedule/">
|
||||||
|
<a className={ this.props.router && this.props.router.route === "/documents/schedule" ? "active" : "" }>Календарь оплат</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/documents/reconciliations/">
|
||||||
|
<a className={ this.props.router && this.props.router.route === "/documents/reconciliations" ? "active" : "" }>Акты сверок</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/documents/finals/">
|
||||||
|
<a className={ this.props.router && this.props.router.route === "/documents/finals" ? "active" : "" }>Закрывающие документы</a>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</aside>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
114
pages/documents/finals.js
Normal file
114
pages/documents/finals.js
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Head from 'next/head';
|
||||||
|
import Image from 'next/image';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
import { withRouter } from 'next/router';
|
||||||
|
import { reduxWrapper } from '../../store';
|
||||||
|
|
||||||
|
import Header from '../components/Header';
|
||||||
|
import Footer from '../components/Footer';
|
||||||
|
import InnerMenu from "./components/InnerMenu";
|
||||||
|
import Company from "../components/Company";
|
||||||
|
|
||||||
|
class FinalsPage extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Header { ...this.props }/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div class="clear"></div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<div class="left">
|
||||||
|
<h1 class="section_title">Закрывающие документы</h1>
|
||||||
|
</div>
|
||||||
|
<Company/>
|
||||||
|
</div>
|
||||||
|
<div class="aside_container about">
|
||||||
|
<InnerMenu { ...this.props }/>
|
||||||
|
<article>
|
||||||
|
<div class="contract_search">
|
||||||
|
<form>
|
||||||
|
<div class="form_field single">
|
||||||
|
<input type="search" value="" placeholder="Поиск по номеру договора, марке и модели транспорта, VIN и госномеру ТС"/>
|
||||||
|
</div>
|
||||||
|
<button class="button" disabled="">Поиск</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="dosc_list">
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
<a href="#">Договор</a>
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Договор цессии
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Дополнительное соглашение №1
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Дополнительное соглашение №2
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
Выкупные документы
|
||||||
|
<span>Краткое описание. Может быть много-много строк.
|
||||||
|
Столько строк, сколько есть в описании</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
schedule: state.payments,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(FinalsPage));
|
||||||
102
pages/documents/reconciliations.js
Normal file
102
pages/documents/reconciliations.js
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Head from 'next/head';
|
||||||
|
import Image from 'next/image';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
import { withRouter } from 'next/router';
|
||||||
|
import { reduxWrapper } from '../../store';
|
||||||
|
|
||||||
|
import Header from '../components/Header';
|
||||||
|
import Footer from '../components/Footer';
|
||||||
|
import InnerMenu from "./components/InnerMenu";
|
||||||
|
import Company from "../components/Company";
|
||||||
|
|
||||||
|
class ReconciliationsPage extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Header { ...this.props }/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div class="clear"></div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<div class="left">
|
||||||
|
<h1 class="section_title">Акты сверок</h1>
|
||||||
|
</div>
|
||||||
|
<Company/>
|
||||||
|
</div>
|
||||||
|
<div class="aside_container about">
|
||||||
|
<InnerMenu { ...this.props }/>
|
||||||
|
<article>
|
||||||
|
<div class="acts_wrapper">
|
||||||
|
<div class="dosc_list acts_list-checkbox">
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name">
|
||||||
|
<input type="checkbox" name="name" id="name" />
|
||||||
|
<label for="name">Все договоры</label>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
<input type="checkbox" name="name" id="name" />
|
||||||
|
<label for="name">№1234567 от 21.01.2021</label>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<p class="doc_name i-pdf">
|
||||||
|
<input type="checkbox" name="name" id="name" />
|
||||||
|
<label for="name">№1234567 от 21.01.2021</label>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="reconciliation_form small">
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="text" class="date_input" value="" placeholder="Дата начала договора" onFocus={ () => {/*(this.type='date')*/} } onBlur={ () => {/*(this.value == '' ? this.type='text' : this.type='date')*/} } />
|
||||||
|
</div>
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="text" class="date_input" value="" placeholder="Дата окончания договора" onFocus={ () => { /*(this.type='date')*/} } onBlur={ () => {/*(this.value == '' ? this.type='text' : this.type='date')*/} } />
|
||||||
|
</div>
|
||||||
|
<button class="button button-blue">Скачать</button>
|
||||||
|
<button class="button button-blue">Отправить в ЭДО</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: state.company,
|
||||||
|
schedule: state.payments,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(ReconciliationsPage));
|
||||||
283
pages/documents/schedule.js
Normal file
283
pages/documents/schedule.js
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Head from 'next/head';
|
||||||
|
import Image from 'next/image';
|
||||||
|
import moment from 'moment';
|
||||||
|
import 'moment/locale/ru';
|
||||||
|
import numeral from "numeral";
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
import { withRouter } from 'next/router';
|
||||||
|
import { reduxWrapper } from '../../store';
|
||||||
|
|
||||||
|
import Header from '../components/Header';
|
||||||
|
import Footer from '../components/Footer';
|
||||||
|
import InnerMenu from "./components/InnerMenu";
|
||||||
|
import Company from "../components/Company";
|
||||||
|
|
||||||
|
class SchedulePage extends React.Component
|
||||||
|
{
|
||||||
|
constructor(props)
|
||||||
|
{
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
payments: [{
|
||||||
|
date: "2021-11-15",
|
||||||
|
total: 128000.22,
|
||||||
|
}, {
|
||||||
|
date: "2021-11-25",
|
||||||
|
total: 239400.88,
|
||||||
|
}]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
getPayments = (date) =>
|
||||||
|
{
|
||||||
|
const { payments } = this.state;
|
||||||
|
|
||||||
|
for(let i in payments)
|
||||||
|
{
|
||||||
|
if(payments[i].date === date)
|
||||||
|
{
|
||||||
|
return payments[i].total;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
render()
|
||||||
|
{
|
||||||
|
let month = 10;
|
||||||
|
|
||||||
|
const dates = [];
|
||||||
|
const date_sm = moment().month(month).startOf("month");
|
||||||
|
const date_em = moment().month(month).endOf("month");
|
||||||
|
|
||||||
|
console.log("date_sm", date_sm.format("YYYY-MM-DD"));
|
||||||
|
console.log("date_em", date_em.format("YYYY-MM-DD"));
|
||||||
|
console.log("date_sm.day()", date_sm.day());
|
||||||
|
console.log("date_em.day()", date_em.day());
|
||||||
|
|
||||||
|
let date_s = null;
|
||||||
|
if(date_sm.day() !== 1)
|
||||||
|
{ date_s = date_sm.subtract(date_sm.day() - 1, "days"); }
|
||||||
|
else
|
||||||
|
{ date_s = date_sm; }
|
||||||
|
|
||||||
|
let date_e = null;
|
||||||
|
if(date_em.day() !== 0)
|
||||||
|
{ date_e = date_em.add(7 - date_em.day(), "days"); }
|
||||||
|
else
|
||||||
|
{ date_e = date_em; }
|
||||||
|
|
||||||
|
const date = moment();
|
||||||
|
console.log(date_sm.format("YYYY-MM-DD"));
|
||||||
|
console.log(date_sm.day());
|
||||||
|
console.log("date_s", date_s.format("YYYY-MM-DD"))
|
||||||
|
console.log("date_e", date_e.format("YYYY-MM-DD"))
|
||||||
|
|
||||||
|
let d = date_s;
|
||||||
|
dates.push({
|
||||||
|
date: date_s.clone(),
|
||||||
|
payment: this.getPayments(date_s.format("YYYY-MM-DD")),
|
||||||
|
});
|
||||||
|
|
||||||
|
while(d.add(1, 'days').diff(date_e) < 0)
|
||||||
|
{
|
||||||
|
//console.log(d.toDate());
|
||||||
|
dates.push({
|
||||||
|
date: d.clone(),
|
||||||
|
payment: this.getPayments(d.format("YYYY-MM-DD")),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const dow = date.day();
|
||||||
|
console.log(dow);
|
||||||
|
console.log("date.month())", date.month());
|
||||||
|
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Header { ...this.props }/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div className="clear"></div>
|
||||||
|
<div className="container">
|
||||||
|
<div className="title_wrapper">
|
||||||
|
<div className="left">
|
||||||
|
<h1 className="section_title">Календарь оплат</h1>
|
||||||
|
</div>
|
||||||
|
<Company/>
|
||||||
|
</div>
|
||||||
|
<div className="aside_container about">
|
||||||
|
<InnerMenu { ...this.props }/>
|
||||||
|
<article>
|
||||||
|
<div className="calendar_wrapper">
|
||||||
|
<div className="form_field">
|
||||||
|
<select id="calendar_month">
|
||||||
|
<option selected>{ moment().month(month).format('MMMM') }</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div className="calendar_grid">
|
||||||
|
<div className="grid_header">
|
||||||
|
<div className="grid_cell">Пн</div>
|
||||||
|
<div className="grid_cell">Вт</div>
|
||||||
|
<div className="grid_cell">Ср</div>
|
||||||
|
<div className="grid_cell">Чт</div>
|
||||||
|
<div className="grid_cell">Пт</div>
|
||||||
|
<div className="grid_cell">Сб</div>
|
||||||
|
<div className="grid_cell">Вс</div>
|
||||||
|
</div>
|
||||||
|
<div className="grid_body">
|
||||||
|
{ dates.map((day, index) => {
|
||||||
|
return (
|
||||||
|
<div key={ index } className={`grid_cell ${ day.date.month() !== month ? 'disabled' : '' }`}>
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>{ day.date.format("DD") }</span> { day.date.format("MMM").toLocaleLowerCase() }</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body">{ day.payment && (
|
||||||
|
<p>
|
||||||
|
Общий платеж
|
||||||
|
<span>{ numeral(day.payment).format('') } р.</span>
|
||||||
|
</p>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}) }
|
||||||
|
{/*}
|
||||||
|
<div className="grid_cell disabled">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>30</span> мая</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell disabled">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>31</span> мая</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>01</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>02</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell current">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>03</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>04</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>05</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>30</span> мая</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>31</span> мая</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body">
|
||||||
|
<p>
|
||||||
|
Общий платеж
|
||||||
|
<span>239 400,00 р.</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>01</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>02</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>03</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>04</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid_cell">
|
||||||
|
<div className="cell_header">
|
||||||
|
<p><span>05</span> июня</p>
|
||||||
|
</div>
|
||||||
|
<div className="cell_body"></div>
|
||||||
|
</div>
|
||||||
|
{*/}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
company: state.company,
|
||||||
|
schedule: state.payments,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(SchedulePage));
|
||||||
315
pages/index.js
315
pages/index.js
@ -1,160 +1,187 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
|
import Link from "next/link";
|
||||||
|
import cookie from 'cookie';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
import { withRouter } from 'next/router';
|
||||||
|
import { reduxWrapper } from '../store';
|
||||||
|
|
||||||
import Header from './components/Header';
|
import Header from './components/Header';
|
||||||
import Footer from './components/Footer';
|
import Footer from './components/Footer';
|
||||||
|
|
||||||
export default function IndexPage()
|
|
||||||
|
class IndexPage extends React.Component
|
||||||
{
|
{
|
||||||
return (
|
constructor(props)
|
||||||
<React.Fragment>
|
{
|
||||||
<Head>
|
super(props);
|
||||||
<title>ЛК Эволюция автолизинга</title>
|
}
|
||||||
<meta
|
|
||||||
name="description"
|
|
||||||
content="ЛК Эволюция автолизинга"
|
|
||||||
/>
|
|
||||||
</Head>
|
|
||||||
<Header/>
|
|
||||||
<main>
|
|
||||||
<section>
|
|
||||||
<div className="clear"></div>
|
|
||||||
<div className="container">
|
|
||||||
<h1 className="section_title">Личный кабинет</h1>
|
|
||||||
|
|
||||||
<div className="contract_search">
|
render()
|
||||||
<form>
|
{
|
||||||
<div className="form_field">
|
return (
|
||||||
<input type="search" value="" placeholder="Поиск" />
|
<React.Fragment>
|
||||||
</div>
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
<div className="form_field">
|
<meta
|
||||||
<input type="text" className="date_input" value="" placeholder="Дата начала договора" onfocus="(this.type='date')" onblur="(this.value == '' ? this.type='text' : this.type='date')" />
|
name="description"
|
||||||
</div>
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
<div className="form_field">
|
</Head>
|
||||||
<input type="text" className="date_input" value="" placeholder="Дата окончания договора" onfocus="(this.type='date')" onblur="(this.value == '' ? this.type='text' : this.type='date')" />
|
<Header { ...this.props }/>
|
||||||
</div>
|
<main>
|
||||||
|
<section>
|
||||||
<button className="button" disabled>Поиск</button>
|
<div className="clear"></div>
|
||||||
</form>
|
<div className="container">
|
||||||
</div>
|
<h1 className="section_title">Личный кабинет</h1>
|
||||||
<div className="contract_table">
|
<div className="contract_search">
|
||||||
<div className="table_row table_header">
|
<form>
|
||||||
<div className="table_cell caret">Номер договора</div>
|
<div className="form_field">
|
||||||
<div className="table_cell caret">Дата договора</div>
|
<input type="search" value="" placeholder="Поиск" onChange={ () => {} }/>
|
||||||
<div className="table_cell">Автомобиль</div>
|
</div>
|
||||||
<div className="table_cell">Гос.номер</div>
|
<div className="form_field">
|
||||||
<div className="table_cell">Vin</div>
|
<input type="text" className="date_input" value="" placeholder="Дата начала договора" onFocus={ () => { /*(this.type='date')*/ } } onBlur={ () => { /*(this.value == '' ? this.type='text' : this.type='date')*/ } } onChange={ () => {} }/>
|
||||||
<div className="table_cell caret">Статус</div>
|
</div>
|
||||||
<div className="table_cell">Следующий платеж</div>
|
<div className="form_field">
|
||||||
|
<input type="text" className="date_input" value="" placeholder="Дата окончания договора" onFocus={ () => { /*(this.type='date')*/ } } onBlur={ () => { /*(this.value == '' ? this.type='text' : this.type='date')*/ } } onChange={ () => {} }/>
|
||||||
|
</div>
|
||||||
|
<button className="button" disabled>Поиск</button>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div className="table_row">
|
<div className="contract_table">
|
||||||
<div className="table_cell">Договор № 1243230</div>
|
<div className="table_row table_header">
|
||||||
<div className="table_cell">21.02.2021</div>
|
<div className="table_cell caret">Номер договора</div>
|
||||||
<div className="table_cell">Lada Granta седан Standard 1.6 87hp 5MT</div>
|
<div className="table_cell caret">Дата договора</div>
|
||||||
<div className="table_cell">Х 123 АМ 777</div>
|
<div className="table_cell">Автомобиль</div>
|
||||||
<div className="table_cell">4USBT53544LT26841</div>
|
<div className="table_cell">Гос.номер</div>
|
||||||
<div className="table_cell">
|
<div className="table_cell">Vin</div>
|
||||||
<p className="closed">Закрыт</p>
|
<div className="table_cell caret">Статус</div>
|
||||||
|
<div className="table_cell">Следующий платеж</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="table_cell">
|
<div className="table_row">
|
||||||
20/01/2021
|
<div className="table_cell"><Link href={`/contract/${ "1234-2021" }/payments`}>Договор № 1234-2021</Link></div>
|
||||||
<b className="price">45,000 р.</b>
|
<div className="table_cell">21.02.2021</div>
|
||||||
|
<div className="table_cell">Lada Granta седан Standard 1.6 87hp 5MT</div>
|
||||||
|
<div className="table_cell">Х 123 АМ 777</div>
|
||||||
|
<div className="table_cell">4USBT53544LT26841</div>
|
||||||
|
<div className="table_cell">
|
||||||
|
<p className="closed">Закрыт</p>
|
||||||
|
</div>
|
||||||
|
<div className="table_cell">
|
||||||
|
20/01/2021
|
||||||
|
<b className="price">45,000 р.</b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="table_row">
|
||||||
|
<div className="table_cell"><Link href={`/contract/${ "1234-2022" }/payments`}>Договор № 1234-2022</Link></div>
|
||||||
|
<div className="table_cell">21.02.2021</div>
|
||||||
|
<div className="table_cell">Lada Granta седан Standard 1.6 87hp 5MT</div>
|
||||||
|
<div className="table_cell">Х 123 АМ 777</div>
|
||||||
|
<div className="table_cell">4USBT53544LT26841</div>
|
||||||
|
<div className="table_cell">
|
||||||
|
<p className="opened">Действующий</p>
|
||||||
|
</div>
|
||||||
|
<div className="table_cell">
|
||||||
|
20/01/2021
|
||||||
|
<b className="price">45,000 р.</b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="table_row">
|
||||||
|
<div className="table_cell"><Link href={`/contract/${ "1234-2023" }/payments`}>Договор № 1234-2023</Link></div>
|
||||||
|
<div className="table_cell">21.02.2021</div>
|
||||||
|
<div className="table_cell">Lada Granta седан Standard 1.6 87hp 5MT</div>
|
||||||
|
<div className="table_cell">Х 123 АМ 777</div>
|
||||||
|
<div className="table_cell">4USBT53544LT26841</div>
|
||||||
|
<div className="table_cell">
|
||||||
|
<p className="closed">Закрыт</p>
|
||||||
|
</div>
|
||||||
|
<div className="table_cell">
|
||||||
|
20/01/2021
|
||||||
|
<b className="price">45,000 р.</b>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="table_row">
|
<div className="pagination">
|
||||||
<div className="table_cell">Договор № 1243230</div>
|
<ul>
|
||||||
<div className="table_cell">21.02.2021</div>
|
<li>
|
||||||
<div className="table_cell">Lada Granta седан Standard 1.6 87hp 5MT</div>
|
<a href="#">1</a>
|
||||||
<div className="table_cell">Х 123 АМ 777</div>
|
</li>
|
||||||
<div className="table_cell">4USBT53544LT26841</div>
|
<li>
|
||||||
<div className="table_cell">
|
<a href="#">2</a>
|
||||||
<p className="opened">Действующий</p>
|
</li>
|
||||||
</div>
|
<li>
|
||||||
<div className="table_cell">
|
<a href="#">3</a>
|
||||||
20/01/2021
|
</li>
|
||||||
<b className="price">45,000 р.</b>
|
<li>
|
||||||
</div>
|
<a href="#">4</a>
|
||||||
</div>
|
</li>
|
||||||
<div className="table_row">
|
<li>
|
||||||
<div className="table_cell">Договор № 1243230</div>
|
<a href="#">5</a>
|
||||||
<div className="table_cell">21.02.2021</div>
|
</li>
|
||||||
<div className="table_cell">Lada Granta седан Standard 1.6 87hp 5MT</div>
|
<li>
|
||||||
<div className="table_cell">Х 123 АМ 777</div>
|
<a href="#">6</a>
|
||||||
<div className="table_cell">4USBT53544LT26841</div>
|
</li>
|
||||||
<div className="table_cell">
|
<li>........</li>
|
||||||
<p className="closed">Закрыт</p>
|
<li>
|
||||||
</div>
|
<a href="#">123</a>
|
||||||
<div className="table_cell">
|
</li>
|
||||||
20/01/2021
|
<li>
|
||||||
<b className="price">45,000 р.</b>
|
<a href="#">{`>`}</a>
|
||||||
</div>
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="pagination">
|
</section>
|
||||||
<ul>
|
</main>
|
||||||
<li>
|
<Footer/>
|
||||||
<a href="#">1</a>
|
</React.Fragment>
|
||||||
</li>
|
)
|
||||||
<li>
|
}
|
||||||
<a href="#">2</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">3</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">4</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">5</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">6</a>
|
|
||||||
</li>
|
|
||||||
<li>........</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">123</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">{`>`}</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<section id="order">
|
|
||||||
<div className="container wide">
|
|
||||||
<h2 className="section_title">Купить в лизинг?</h2>
|
|
||||||
<div className="order_form">
|
|
||||||
<div className="order_email">
|
|
||||||
<p>Напишите на <a href="mailto:">buy@domain.ru</a> или заполните форму</p>
|
|
||||||
</div>
|
|
||||||
<form>
|
|
||||||
<div className="form_field">
|
|
||||||
<input type="text" value="" placeholder="Имя" />
|
|
||||||
</div>
|
|
||||||
<div className="form_field">
|
|
||||||
<input type="tel" value="" placeholder="Телефон" />
|
|
||||||
</div>
|
|
||||||
<div className="form_field">
|
|
||||||
<input type="email" value="" placeholder="E-mail" />
|
|
||||||
</div>
|
|
||||||
<div className="form_field">
|
|
||||||
<input type="text" value="" placeholder="Организация" />
|
|
||||||
</div>
|
|
||||||
<div className="policy">
|
|
||||||
<input type="checkbox" name="policy" id="policy" hidden checked />
|
|
||||||
<label for="policy">Даю свое согласие на обработку моих персональных данных</label>
|
|
||||||
</div>
|
|
||||||
<button className="button">Отправить</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</main>
|
|
||||||
<Footer/>
|
|
||||||
</React.Fragment>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
contracts: state.contracts.list,
|
||||||
|
page: state.contracts.page,
|
||||||
|
pages: state.contracts.pages,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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(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`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
res.statusCode = 302;
|
||||||
|
res.setHeader('Location', `/login`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return { props: props };
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(IndexPage));
|
||||||
146
pages/login.js
146
pages/login.js
@ -1,79 +1,89 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
|
import { connect } from "react-redux";
|
||||||
|
import { withRouter } from 'next/router';
|
||||||
|
import { reduxWrapper } from '../store';
|
||||||
|
|
||||||
import Header from './components/Header';
|
import Header from './components/Header';
|
||||||
import Footer from './components/Footer';
|
import Footer from './components/Footer';
|
||||||
|
import MainHeader from "./components/MainHeader";
|
||||||
|
import FormRequest from "./components/FormRequest";
|
||||||
|
|
||||||
export default function IndexPage()
|
import { sendLoginForm } from '../actions';
|
||||||
|
|
||||||
|
class LoginPage extends React.Component
|
||||||
{
|
{
|
||||||
return (
|
constructor(props)
|
||||||
<React.Fragment>
|
{
|
||||||
<Head>
|
super(props);
|
||||||
<title>ЛК Эволюция автолизинга</title>
|
this.state = {
|
||||||
<meta
|
username: "",
|
||||||
name="description"
|
password: "",
|
||||||
content="ЛК Эволюция автолизинга"
|
};
|
||||||
/>
|
}
|
||||||
</Head>
|
|
||||||
<Header/>
|
_handle_onSubmit = (event) =>
|
||||||
<main>
|
{
|
||||||
<section>
|
event.preventDefault();
|
||||||
<div class="clear"></div>
|
|
||||||
<div class="container">
|
const { username, password } = this.state;
|
||||||
<h1 class="section_title">Личный кабинет</h1>
|
sendLoginForm({ username, password });
|
||||||
<div class="login">
|
}
|
||||||
<form>
|
|
||||||
<div class="form_field">
|
render()
|
||||||
<input type="text" name="login" value="" placeholder="Введите логин"/>
|
{
|
||||||
|
const { username, password } = this.state;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Head>
|
||||||
|
<title>ЛК Эволюция автолизинга</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="ЛК Эволюция автолизинга"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<MainHeader/>
|
||||||
|
<main>
|
||||||
|
<section>
|
||||||
|
<div class="clear"></div>
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="section_title">Личный кабинет</h1>
|
||||||
|
<div class="login">
|
||||||
|
<form onSubmit={ this._handle_onSubmit }>
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="text" name="username" value={ username } placeholder="Введите логин" onChange={ (event) => this.setState({ username: event.target.value }) }/>
|
||||||
|
</div>
|
||||||
|
<div class="form_field">
|
||||||
|
<input type="password" name="password" value={ password } placeholder="Введите пароль" onChange={ (event) => this.setState({ password: event.target.value }) }/>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="button button-blue">Войти</button>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form_field">
|
|
||||||
<input type="password" name="pass" value="" placeholder="Введите пароль"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<button type="submit" class="button button-blue">Войти</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
|
</section>
|
||||||
</div>
|
<FormRequest/>
|
||||||
</section>
|
</main>
|
||||||
|
<Footer/>
|
||||||
|
</React.Fragment>
|
||||||
|
);
|
||||||
<section id="order">
|
}
|
||||||
<div class="container wide">
|
|
||||||
<h2 class="section_title">Купить в лизинг?</h2>
|
|
||||||
|
|
||||||
<div class="order_form">
|
|
||||||
<div class="order_email">
|
|
||||||
<p>Напишите на <a href="mailto:">buy@domain.ru</a> или заполните форму</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<div class="form_field">
|
|
||||||
<input type="text" value="" placeholder="Имя" />
|
|
||||||
</div>
|
|
||||||
<div class="form_field">
|
|
||||||
<input type="tel" value="" placeholder="Телефон" />
|
|
||||||
</div>
|
|
||||||
<div class="form_field">
|
|
||||||
<input type="email" value="" placeholder="E-mail" />
|
|
||||||
</div>
|
|
||||||
<div class="form_field">
|
|
||||||
<input type="text" value="" placeholder="Организация" />
|
|
||||||
</div>
|
|
||||||
<div class="policy">
|
|
||||||
<input type="checkbox" name="policy" id="policy" hidden checked />
|
|
||||||
<label for="policy">Даю свое согласие на обработку моих персональных данных</label>
|
|
||||||
</div>
|
|
||||||
<button class="button">Отправить</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</main>
|
|
||||||
<Footer/>
|
|
||||||
</React.Fragment>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mapStateToProps(state, ownProps)
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
contracts: state.contracts.list,
|
||||||
|
page: state.contracts.page,
|
||||||
|
pages: state.contracts.pages,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
|
||||||
|
async ({ req, res, query }) =>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default withRouter(connect(mapStateToProps)(LoginPage));
|
||||||
4
public/assets/images/lk/calendar.svg
Normal file
4
public/assets/images/lk/calendar.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 1.5C11.5 1.22386 11.2761 1 11 1C10.7239 1 10.5 1.22386 10.5 1.5V2H5.5V1.5C5.5 1.22386 5.27614 1 5 1C4.72386 1 4.5 1.22386 4.5 1.5V2H3C2.44772 2 2 2.44772 2 3V5.5V13C2 13.5523 2.44772 14 3 14H13C13.5523 14 14 13.5523 14 13V5.5V3C14 2.44772 13.5523 2 13 2H11.5V1.5ZM13 5V3H11.5V3.5C11.5 3.77614 11.2761 4 11 4C10.7239 4 10.5 3.77614 10.5 3.5V3H5.5V3.5C5.5 3.77614 5.27614 4 5 4C4.72386 4 4.5 3.77614 4.5 3.5V3H3V5H13ZM3 6H13V13H3V6Z" fill="black"/>
|
||||||
|
<path d="M10.5 2V2.25C10.6381 2.25 10.75 2.13807 10.75 2H10.5ZM5.5 2H5.25C5.25 2.13807 5.36193 2.25 5.5 2.25V2ZM4.5 2V2.25C4.63807 2.25 4.75 2.13807 4.75 2H4.5ZM11.5 2H11.25C11.25 2.13807 11.3619 2.25 11.5 2.25V2ZM13 3H13.25C13.25 2.86193 13.1381 2.75 13 2.75V3ZM13 5V5.25C13.1381 5.25 13.25 5.13807 13.25 5H13ZM11.5 3V2.75C11.3619 2.75 11.25 2.86193 11.25 3H11.5ZM10.5 3H10.75C10.75 2.86193 10.6381 2.75 10.5 2.75V3ZM5.5 3V2.75C5.36193 2.75 5.25 2.86193 5.25 3H5.5ZM4.5 3H4.75C4.75 2.86193 4.63807 2.75 4.5 2.75V3ZM3 3V2.75C2.86193 2.75 2.75 2.86193 2.75 3H3ZM3 5H2.75C2.75 5.13807 2.86193 5.25 3 5.25V5ZM13 6H13.25C13.25 5.86193 13.1381 5.75 13 5.75V6ZM3 6V5.75C2.86193 5.75 2.75 5.86193 2.75 6H3ZM13 13V13.25C13.1381 13.25 13.25 13.1381 13.25 13H13ZM3 13H2.75C2.75 13.1381 2.86193 13.25 3 13.25V13ZM11 1.25C11.1381 1.25 11.25 1.36193 11.25 1.5H11.75C11.75 1.08579 11.4142 0.75 11 0.75V1.25ZM10.75 1.5C10.75 1.36193 10.8619 1.25 11 1.25V0.75C10.5858 0.75 10.25 1.08579 10.25 1.5H10.75ZM10.75 2V1.5H10.25V2H10.75ZM5.5 2.25H10.5V1.75H5.5V2.25ZM5.25 1.5V2H5.75V1.5H5.25ZM5 1.25C5.13807 1.25 5.25 1.36193 5.25 1.5H5.75C5.75 1.08579 5.41421 0.75 5 0.75V1.25ZM4.75 1.5C4.75 1.36193 4.86193 1.25 5 1.25V0.75C4.58579 0.75 4.25 1.08579 4.25 1.5H4.75ZM4.75 2V1.5H4.25V2H4.75ZM3 2.25H4.5V1.75H3V2.25ZM2.25 3C2.25 2.58579 2.58579 2.25 3 2.25V1.75C2.30964 1.75 1.75 2.30964 1.75 3H2.25ZM2.25 5.5V3H1.75V5.5H2.25ZM2.25 13V5.5H1.75V13H2.25ZM3 13.75C2.58579 13.75 2.25 13.4142 2.25 13H1.75C1.75 13.6904 2.30964 14.25 3 14.25V13.75ZM13 13.75H3V14.25H13V13.75ZM13.75 13C13.75 13.4142 13.4142 13.75 13 13.75V14.25C13.6904 14.25 14.25 13.6904 14.25 13H13.75ZM13.75 5.5V13H14.25V5.5H13.75ZM13.75 3V5.5H14.25V3H13.75ZM13 2.25C13.4142 2.25 13.75 2.58579 13.75 3H14.25C14.25 2.30964 13.6904 1.75 13 1.75V2.25ZM11.5 2.25H13V1.75H11.5V2.25ZM11.25 1.5V2H11.75V1.5H11.25ZM12.75 3V5H13.25V3H12.75ZM11.5 3.25H13V2.75H11.5V3.25ZM11.75 3.5V3H11.25V3.5H11.75ZM11 4.25C11.4142 4.25 11.75 3.91421 11.75 3.5H11.25C11.25 3.63807 11.1381 3.75 11 3.75V4.25ZM10.25 3.5C10.25 3.91421 10.5858 4.25 11 4.25V3.75C10.8619 3.75 10.75 3.63807 10.75 3.5H10.25ZM10.25 3V3.5H10.75V3H10.25ZM5.5 3.25H10.5V2.75H5.5V3.25ZM5.75 3.5V3H5.25V3.5H5.75ZM5 4.25C5.41421 4.25 5.75 3.91421 5.75 3.5H5.25C5.25 3.63807 5.13807 3.75 5 3.75V4.25ZM4.25 3.5C4.25 3.91421 4.58579 4.25 5 4.25V3.75C4.86193 3.75 4.75 3.63807 4.75 3.5H4.25ZM4.25 3V3.5H4.75V3H4.25ZM3 3.25H4.5V2.75H3V3.25ZM3.25 5V3H2.75V5H3.25ZM3 5.25H13V4.75H3V5.25ZM13 5.75H3V6.25H13V5.75ZM12.75 6V13H13.25V6H12.75ZM13 12.75H3V13.25H13V12.75ZM3.25 13V6H2.75V13H3.25Z" fill="#0C0C0C"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.1 KiB |
24
reducers/authReducer.js
Normal file
24
reducers/authReducer.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { HYDRATE } from 'next-redux-wrapper';
|
||||||
|
|
||||||
|
import * as actionTypes from '../constants/actionTypes';
|
||||||
|
import initialState from "./initialState";
|
||||||
|
|
||||||
|
const authReducer = (state = initialState.auth, action) =>
|
||||||
|
{
|
||||||
|
switch (action.type)
|
||||||
|
{
|
||||||
|
case actionTypes.AUTH:
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
...action.data,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
default: {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default authReducer;
|
||||||
32
reducers/companyReducer.js
Normal file
32
reducers/companyReducer.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import { HYDRATE } from 'next-redux-wrapper';
|
||||||
|
|
||||||
|
import * as actionTypes from '../constants/actionTypes';
|
||||||
|
import initialState from "./initialState";
|
||||||
|
|
||||||
|
const companyReducer = (state = initialState.company, action) =>
|
||||||
|
{
|
||||||
|
switch (action.type)
|
||||||
|
{
|
||||||
|
case HYDRATE:
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
...action.payload.company,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
case actionTypes.COMPANY:
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
...action.data,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
default: {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default companyReducer;
|
||||||
32
reducers/contractsReducer.js
Normal file
32
reducers/contractsReducer.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import { HYDRATE } from 'next-redux-wrapper';
|
||||||
|
|
||||||
|
import * as actionTypes from '../constants/actionTypes';
|
||||||
|
import initialState from "./initialState";
|
||||||
|
|
||||||
|
const contractsReducer = (state = initialState.contracts, action) =>
|
||||||
|
{
|
||||||
|
switch (action.type)
|
||||||
|
{
|
||||||
|
case HYDRATE:
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
...action.payload.contracts,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
case actionTypes.CONTRACTS:
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
...action.data,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
default: {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default contractsReducer;
|
||||||
34
reducers/initialState.js
Normal file
34
reducers/initialState.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
export const defaultState = {
|
||||||
|
auth: {
|
||||||
|
logged: false,
|
||||||
|
},
|
||||||
|
company: {
|
||||||
|
title: "ООО \"Тест\"",
|
||||||
|
inn: 770011223344,
|
||||||
|
kpp: 200301001
|
||||||
|
},
|
||||||
|
contracts:
|
||||||
|
{
|
||||||
|
list: null,
|
||||||
|
page: null,
|
||||||
|
pages: false,
|
||||||
|
},
|
||||||
|
schedule:
|
||||||
|
{
|
||||||
|
peyments: null,
|
||||||
|
},
|
||||||
|
finals:
|
||||||
|
{
|
||||||
|
list: null,
|
||||||
|
page: null,
|
||||||
|
pages: false,
|
||||||
|
},
|
||||||
|
reconciliations:
|
||||||
|
{
|
||||||
|
list: null,
|
||||||
|
page: null,
|
||||||
|
pages: false,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default JSON.parse(JSON.stringify(defaultState));
|
||||||
43
store/index.js
Normal file
43
store/index.js
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import { createStore, combineReducers } from 'redux';
|
||||||
|
import { createWrapper } from 'next-redux-wrapper';
|
||||||
|
|
||||||
|
import authReducer from '../reducers/authReducer';
|
||||||
|
import companyReducer from '../reducers/companyReducer';
|
||||||
|
import contractsReducer from '../reducers/contractsReducer';
|
||||||
|
|
||||||
|
const combinedReducer = combineReducers({
|
||||||
|
auth: authReducer,
|
||||||
|
company: companyReducer,
|
||||||
|
contracts: contractsReducer,
|
||||||
|
});
|
||||||
|
|
||||||
|
const makeStore = (context) =>
|
||||||
|
{
|
||||||
|
const isServer = typeof window === 'undefined';
|
||||||
|
|
||||||
|
if(isServer)
|
||||||
|
{
|
||||||
|
return createStore(combinedReducer);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const { persistStore, persistReducer } = require('redux-persist');
|
||||||
|
const storage = require('redux-persist/lib/storage').default;
|
||||||
|
|
||||||
|
const persistConfig = {
|
||||||
|
key: 'nextjs',
|
||||||
|
whitelist: [ 'auth', 'company', ],
|
||||||
|
storage
|
||||||
|
};
|
||||||
|
|
||||||
|
const persistedReducer = persistReducer(persistConfig, combinedReducer);
|
||||||
|
const store = createStore(persistedReducer);
|
||||||
|
|
||||||
|
store.__persistor = persistStore(store);
|
||||||
|
window.store = store;
|
||||||
|
|
||||||
|
return store;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const reduxWrapper = createWrapper(makeStore);
|
||||||
138
yarn.lock
138
yarn.lock
@ -57,6 +57,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
regenerator-runtime "^0.13.4"
|
regenerator-runtime "^0.13.4"
|
||||||
|
|
||||||
|
"@babel/runtime@^7.15.4", "@babel/runtime@^7.9.2":
|
||||||
|
version "7.16.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5"
|
||||||
|
integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==
|
||||||
|
dependencies:
|
||||||
|
regenerator-runtime "^0.13.4"
|
||||||
|
|
||||||
"@babel/types@7.15.0":
|
"@babel/types@7.15.0":
|
||||||
version "7.15.0"
|
version "7.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
|
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
|
||||||
@ -211,6 +218,19 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.0.7.tgz#82f83dcc2eb9b1e1d559b3aca96783e285eb8592"
|
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.0.7.tgz#82f83dcc2eb9b1e1d559b3aca96783e285eb8592"
|
||||||
integrity sha512-3Zi2LGbCLDz4IIL7ir6wD0u/ggHotLkK5SlVzFzTcYaNgPR4MAt/9JYZqXWKcofPWEoptfpnCJU8Bq9sxw8QUg==
|
integrity sha512-3Zi2LGbCLDz4IIL7ir6wD0u/ggHotLkK5SlVzFzTcYaNgPR4MAt/9JYZqXWKcofPWEoptfpnCJU8Bq9sxw8QUg==
|
||||||
|
|
||||||
|
"@types/cookie@^0.3.3":
|
||||||
|
version "0.3.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.3.3.tgz#85bc74ba782fb7aa3a514d11767832b0e3bc6803"
|
||||||
|
integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==
|
||||||
|
|
||||||
|
"@types/hoist-non-react-statics@^3.0.1", "@types/hoist-non-react-statics@^3.3.0":
|
||||||
|
version "3.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
|
||||||
|
integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==
|
||||||
|
dependencies:
|
||||||
|
"@types/react" "*"
|
||||||
|
hoist-non-react-statics "^3.3.0"
|
||||||
|
|
||||||
"@types/json-schema@^7.0.8":
|
"@types/json-schema@^7.0.8":
|
||||||
version "7.0.9"
|
version "7.0.9"
|
||||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
|
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
|
||||||
@ -226,6 +246,35 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.4.tgz#592f12b0b5f357533ddc3310b0176d42ea3e45d1"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.4.tgz#592f12b0b5f357533ddc3310b0176d42ea3e45d1"
|
||||||
integrity sha512-EITwVTX5B4nDjXjGeQAfXOrm+Jn+qNjDmyDRtWoD+wZsl/RDPRTFRKivs4Mt74iOFlLOrE5+Kf+p5yjyhm3+cA==
|
integrity sha512-EITwVTX5B4nDjXjGeQAfXOrm+Jn+qNjDmyDRtWoD+wZsl/RDPRTFRKivs4Mt74iOFlLOrE5+Kf+p5yjyhm3+cA==
|
||||||
|
|
||||||
|
"@types/prop-types@*":
|
||||||
|
version "15.7.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
|
||||||
|
integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
|
||||||
|
|
||||||
|
"@types/react-redux@^7.1.20":
|
||||||
|
version "7.1.20"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.20.tgz#42f0e61ababb621e12c66c96dda94c58423bd7df"
|
||||||
|
integrity sha512-q42es4c8iIeTgcnB+yJgRTTzftv3eYYvCZOh1Ckn2eX/3o5TdsQYKUWpLoLuGlcY/p+VAhV9IOEZJcWk/vfkXw==
|
||||||
|
dependencies:
|
||||||
|
"@types/hoist-non-react-statics" "^3.3.0"
|
||||||
|
"@types/react" "*"
|
||||||
|
hoist-non-react-statics "^3.3.0"
|
||||||
|
redux "^4.0.0"
|
||||||
|
|
||||||
|
"@types/react@*":
|
||||||
|
version "17.0.34"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102"
|
||||||
|
integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg==
|
||||||
|
dependencies:
|
||||||
|
"@types/prop-types" "*"
|
||||||
|
"@types/scheduler" "*"
|
||||||
|
csstype "^3.0.2"
|
||||||
|
|
||||||
|
"@types/scheduler@*":
|
||||||
|
version "0.16.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
|
||||||
|
integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
|
||||||
|
|
||||||
"@typescript-eslint/parser@^4.20.0":
|
"@typescript-eslint/parser@^4.20.0":
|
||||||
version "4.33.0"
|
version "4.33.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"
|
||||||
@ -434,6 +483,13 @@ axe-core@^4.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.3.tgz#b55cd8e8ddf659fe89b064680e1c6a4dceab0325"
|
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.3.tgz#b55cd8e8ddf659fe89b064680e1c6a4dceab0325"
|
||||||
integrity sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==
|
integrity sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==
|
||||||
|
|
||||||
|
axios@^0.24.0:
|
||||||
|
version "0.24.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6"
|
||||||
|
integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==
|
||||||
|
dependencies:
|
||||||
|
follow-redirects "^1.14.4"
|
||||||
|
|
||||||
axobject-query@^2.2.0:
|
axobject-query@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
|
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
|
||||||
@ -729,6 +785,11 @@ convert-source-map@1.7.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "~5.1.1"
|
safe-buffer "~5.1.1"
|
||||||
|
|
||||||
|
cookie@^0.4.0, cookie@^0.4.1:
|
||||||
|
version "0.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
|
||||||
|
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
|
||||||
|
|
||||||
core-js-pure@^3.16.0:
|
core-js-pure@^3.16.0:
|
||||||
version "3.18.3"
|
version "3.18.3"
|
||||||
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.18.3.tgz#7eed77dcce1445ab68fd68715856633e2fb3b90c"
|
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.18.3.tgz#7eed77dcce1445ab68fd68715856633e2fb3b90c"
|
||||||
@ -815,6 +876,11 @@ cssnano-simple@3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
cssnano-preset-simple "^3.0.0"
|
cssnano-preset-simple "^3.0.0"
|
||||||
|
|
||||||
|
csstype@^3.0.2:
|
||||||
|
version "3.0.9"
|
||||||
|
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b"
|
||||||
|
integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==
|
||||||
|
|
||||||
damerau-levenshtein@^1.0.6:
|
damerau-levenshtein@^1.0.6:
|
||||||
version "1.0.7"
|
version "1.0.7"
|
||||||
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d"
|
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d"
|
||||||
@ -1334,6 +1400,11 @@ flatted@^3.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561"
|
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561"
|
||||||
integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==
|
integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==
|
||||||
|
|
||||||
|
follow-redirects@^1.14.4:
|
||||||
|
version "1.14.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381"
|
||||||
|
integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==
|
||||||
|
|
||||||
foreach@^2.0.5:
|
foreach@^2.0.5:
|
||||||
version "2.0.5"
|
version "2.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
|
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
|
||||||
@ -1515,6 +1586,13 @@ hmac-drbg@^1.0.1:
|
|||||||
minimalistic-assert "^1.0.0"
|
minimalistic-assert "^1.0.0"
|
||||||
minimalistic-crypto-utils "^1.0.1"
|
minimalistic-crypto-utils "^1.0.1"
|
||||||
|
|
||||||
|
hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
|
||||||
|
version "3.3.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
|
||||||
|
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
|
||||||
|
dependencies:
|
||||||
|
react-is "^16.7.0"
|
||||||
|
|
||||||
http-errors@1.7.3:
|
http-errors@1.7.3:
|
||||||
version "1.7.3"
|
version "1.7.3"
|
||||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
|
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
|
||||||
@ -1991,6 +2069,11 @@ minimist@^1.2.0, minimist@^1.2.5:
|
|||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||||
|
|
||||||
|
moment@^2.29.1:
|
||||||
|
version "2.29.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
|
||||||
|
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
|
||||||
|
|
||||||
ms@2.0.0:
|
ms@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||||
@ -2039,6 +2122,11 @@ next-images@^1.8.1:
|
|||||||
file-loader "^6.2.0"
|
file-loader "^6.2.0"
|
||||||
url-loader "^4.1.0"
|
url-loader "^4.1.0"
|
||||||
|
|
||||||
|
next-redux-wrapper@^7.0.5:
|
||||||
|
version "7.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/next-redux-wrapper/-/next-redux-wrapper-7.0.5.tgz#109cd3fe02183b18fbd094924cfcbd21262039dc"
|
||||||
|
integrity sha512-UFXdAWG5i+GFT8+Hoqpx3GArkPh34fVWF9YoA2VSHlBzsrPtnRd7NWM6FNSYUennpommTpWJ09mu+r/1UxyIkg==
|
||||||
|
|
||||||
next-with-less@^1.0.1:
|
next-with-less@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/next-with-less/-/next-with-less-1.0.1.tgz#ebcc500047ac82587133c8908720127a84c5eb22"
|
resolved "https://registry.yarnpkg.com/next-with-less/-/next-with-less-1.0.1.tgz#ebcc500047ac82587133c8908720127a84c5eb22"
|
||||||
@ -2158,6 +2246,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
||||||
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
||||||
|
|
||||||
|
numeral@^2.0.6:
|
||||||
|
version "2.0.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506"
|
||||||
|
integrity sha1-StCAk21EPCVhrtnyGX7//iX05QY=
|
||||||
|
|
||||||
object-assign@^4.1.1:
|
object-assign@^4.1.1:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
||||||
@ -2517,6 +2610,15 @@ raw-body@2.4.1:
|
|||||||
iconv-lite "0.4.24"
|
iconv-lite "0.4.24"
|
||||||
unpipe "1.0.0"
|
unpipe "1.0.0"
|
||||||
|
|
||||||
|
react-cookie@^4.1.1:
|
||||||
|
version "4.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-cookie/-/react-cookie-4.1.1.tgz#832e134ad720e0de3e03deaceaab179c4061a19d"
|
||||||
|
integrity sha512-ffn7Y7G4bXiFbnE+dKhHhbP+b8I34mH9jqnm8Llhj89zF4nPxPutxHT1suUqMeCEhLDBI7InYwf1tpaSoK5w8A==
|
||||||
|
dependencies:
|
||||||
|
"@types/hoist-non-react-statics" "^3.0.1"
|
||||||
|
hoist-non-react-statics "^3.0.0"
|
||||||
|
universal-cookie "^4.0.0"
|
||||||
|
|
||||||
react-dom@17.0.2:
|
react-dom@17.0.2:
|
||||||
version "17.0.2"
|
version "17.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
|
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
|
||||||
@ -2526,16 +2628,28 @@ react-dom@17.0.2:
|
|||||||
object-assign "^4.1.1"
|
object-assign "^4.1.1"
|
||||||
scheduler "^0.20.2"
|
scheduler "^0.20.2"
|
||||||
|
|
||||||
react-is@17.0.2:
|
react-is@17.0.2, react-is@^17.0.2:
|
||||||
version "17.0.2"
|
version "17.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
|
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
|
||||||
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
|
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
|
||||||
|
|
||||||
react-is@^16.8.1:
|
react-is@^16.7.0, react-is@^16.8.1:
|
||||||
version "16.13.1"
|
version "16.13.1"
|
||||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||||
|
|
||||||
|
react-redux@^7.2.6:
|
||||||
|
version "7.2.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.6.tgz#49633a24fe552b5f9caf58feb8a138936ddfe9aa"
|
||||||
|
integrity sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.15.4"
|
||||||
|
"@types/react-redux" "^7.1.20"
|
||||||
|
hoist-non-react-statics "^3.3.2"
|
||||||
|
loose-envify "^1.4.0"
|
||||||
|
prop-types "^15.7.2"
|
||||||
|
react-is "^17.0.2"
|
||||||
|
|
||||||
react-refresh@0.8.3:
|
react-refresh@0.8.3:
|
||||||
version "0.8.3"
|
version "0.8.3"
|
||||||
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
|
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
|
||||||
@ -2578,6 +2692,18 @@ readdirp@~3.5.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
picomatch "^2.2.1"
|
picomatch "^2.2.1"
|
||||||
|
|
||||||
|
redux-persist@^6.0.0:
|
||||||
|
version "6.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-6.0.0.tgz#b4d2972f9859597c130d40d4b146fecdab51b3a8"
|
||||||
|
integrity sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==
|
||||||
|
|
||||||
|
redux@^4.0.0, redux@^4.1.2:
|
||||||
|
version "4.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104"
|
||||||
|
integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.9.2"
|
||||||
|
|
||||||
regenerator-runtime@^0.13.4:
|
regenerator-runtime@^0.13.4:
|
||||||
version "0.13.9"
|
version "0.13.9"
|
||||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
|
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
|
||||||
@ -3045,6 +3171,14 @@ unbox-primitive@^1.0.1:
|
|||||||
has-symbols "^1.0.2"
|
has-symbols "^1.0.2"
|
||||||
which-boxed-primitive "^1.0.2"
|
which-boxed-primitive "^1.0.2"
|
||||||
|
|
||||||
|
universal-cookie@^4.0.0:
|
||||||
|
version "4.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/universal-cookie/-/universal-cookie-4.0.4.tgz#06e8b3625bf9af049569ef97109b4bb226ad798d"
|
||||||
|
integrity sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==
|
||||||
|
dependencies:
|
||||||
|
"@types/cookie" "^0.3.3"
|
||||||
|
cookie "^0.4.0"
|
||||||
|
|
||||||
unpipe@1.0.0:
|
unpipe@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
|
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user