initial commit
This commit is contained in:
0
resources/css/app.css
vendored
Normal file
0
resources/css/app.css
vendored
Normal file
105
resources/css/credit_report.css
vendored
Normal file
105
resources/css/credit_report.css
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
.shape {
|
||||
border-style: solid;
|
||||
border-width: 0 70px 40px 0;
|
||||
float: right;
|
||||
height: 0px;
|
||||
width: 0px;
|
||||
-ms-transform: rotate(360deg); /* IE 9 */
|
||||
-o-transform: rotate(360deg); /* Opera 10.5 */
|
||||
-webkit-transform: rotate(360deg); /* Safari and Chrome */
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
.listing {
|
||||
background: #fff;
|
||||
border: 1px solid #ddd;
|
||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
|
||||
margin: 15px 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.listing:hover {
|
||||
-webkit-transform: scale(1.1);
|
||||
-moz-transform: scale(1.1);
|
||||
-ms-transform: scale(1.1);
|
||||
-o-transform: scale(1.1);
|
||||
transform: rotate scale(1.1);
|
||||
-webkit-transition: all 0.4s ease-in-out;
|
||||
-moz-transition: all 0.4s ease-in-out;
|
||||
-o-transition: all 0.4s ease-in-out;
|
||||
transition: all 0.4s ease-in-out;
|
||||
}
|
||||
.shape {
|
||||
border-color: rgba(255,255,255,0) #d9534f rgba(255,255,255,0) rgba(255,255,255,0);
|
||||
}
|
||||
.listing-radius {
|
||||
border-radius: 7px;
|
||||
}
|
||||
.listing-danger {
|
||||
border-color: #d9534f;
|
||||
}
|
||||
.listing-danger .shape {
|
||||
border-color: transparent #d9533f transparent transparent;
|
||||
}
|
||||
.listing-success {
|
||||
border-color: #5cb85c;
|
||||
}
|
||||
.listing-success .shape {
|
||||
border-color: transparent #5cb75c transparent transparent;
|
||||
}
|
||||
.listing-default {
|
||||
border-color: #999999;
|
||||
}
|
||||
.listing-default .shape {
|
||||
border-color: transparent #999999 transparent transparent;
|
||||
}
|
||||
.listing-primary {
|
||||
border-color: #428bca;
|
||||
}
|
||||
.listing-primary .shape {
|
||||
border-color: transparent #318bca transparent transparent;
|
||||
}
|
||||
.listing-info {
|
||||
border-color: #5bc0de;
|
||||
}
|
||||
.listing-info .shape {
|
||||
border-color: transparent #5bc0de transparent transparent;
|
||||
}
|
||||
.listing-warning {
|
||||
border-color: #f0ad4e;
|
||||
}
|
||||
.listing-warning .shape {
|
||||
border-color: transparent #f0ad4e transparent transparent;
|
||||
}
|
||||
.shape-text {
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
right: -40px;
|
||||
top: 2px;
|
||||
white-space: nowrap;
|
||||
-ms-transform: rotate(30deg); /* IE 9 */
|
||||
-o-transform: rotate(360deg); /* Opera 10.5 */
|
||||
-webkit-transform: rotate(30deg); /* Safari and Chrome */
|
||||
transform: rotate(30deg);
|
||||
}
|
||||
.listing-content {
|
||||
padding: 20px;
|
||||
height: 100px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.text-primary{
|
||||
color: #318bca;
|
||||
}
|
||||
|
||||
.text-success{
|
||||
color: #5cb75c;
|
||||
}
|
||||
|
||||
.text-danger{
|
||||
color: #d9533f;
|
||||
}
|
||||
|
||||
.text-bold{
|
||||
font-weight: bold;
|
||||
}
|
||||
36
resources/css/loader.css
vendored
Normal file
36
resources/css/loader.css
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
/* (A) FULL SCREEN WRAPPER */
|
||||
#spinner {
|
||||
position: fixed;
|
||||
top: 0; left: 0;
|
||||
width: 100vw; height: 100vh;
|
||||
z-index: 5000000000;
|
||||
background: rgba(16, 16, 16, 0.5);
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
|
||||
/* (B) CENTER LOADING SPINNER */
|
||||
#spinner img {
|
||||
position: absolute;
|
||||
top: 50%; left: 50%;
|
||||
transform: translate(-50%);
|
||||
}
|
||||
|
||||
|
||||
/* (X) DOES NOT QUITE MATTER */
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#loading {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 500000000000000;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: rgba(16, 16, 16, 0.5);
|
||||
/*background-image: url(https://i.stack.imgur.com/FhHRx.gif);*/
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
37
resources/css/login.css
vendored
Normal file
37
resources/css/login.css
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
body{
|
||||
background-color: #004AAD;
|
||||
}
|
||||
.help-block strong { color: red; }
|
||||
.login_content h1::before { background: none !important; }
|
||||
.login_content h1::after { background: none !important; }
|
||||
.footer-copyright{
|
||||
margin-top: 40%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
color: #f5f7f9;
|
||||
font-size: 15px;
|
||||
}
|
||||
@media (max-width: 800px) {
|
||||
.footer-copyright{
|
||||
margin-top: 40%;
|
||||
margin-left: 10px !important;
|
||||
width: 100% !important;
|
||||
padding-left: 30px !important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 700px) {
|
||||
.footer-copyright {
|
||||
margin-top: 40%;
|
||||
margin-left: 10px !important;
|
||||
width: 100% !important;
|
||||
padding-left: 30px !important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
.footer-copyright {
|
||||
margin-top: 600px;
|
||||
margin-left: 10px !important;
|
||||
width: 100% !important;
|
||||
padding-left: 30px !important;
|
||||
}
|
||||
}
|
||||
548
resources/css/modal.css
vendored
Normal file
548
resources/css/modal.css
vendored
Normal file
@@ -0,0 +1,548 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap');
|
||||
|
||||
*{
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
.container{
|
||||
min-height:100vh;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
background-color:#eee;
|
||||
}
|
||||
.container .card{
|
||||
height:500px;
|
||||
width:1100px;
|
||||
background-color:#fff;
|
||||
position:relative;
|
||||
box-shadow:0 15px 30px rgba(0,0,0,0.1);
|
||||
font-family: 'Poppins', sans-serif;
|
||||
border-radius:20px;
|
||||
}
|
||||
.container .card .form{
|
||||
width:100%;
|
||||
height:100%;
|
||||
|
||||
display:flex;
|
||||
}
|
||||
.container .card .left-side{
|
||||
width:35%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #8ba8e0 0%, #4e74f2 100%);
|
||||
height:100%;
|
||||
border-top-left-radius:20px;
|
||||
border-bottom-left-radius:20px;
|
||||
padding:20px 30px;
|
||||
box-sizing:border-box;
|
||||
|
||||
}
|
||||
/*left-side-start*/
|
||||
.left-heading{
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
.steps-content{
|
||||
margin-top:30px;
|
||||
color:#fff;
|
||||
}
|
||||
.steps-content p{
|
||||
font-size:12px;
|
||||
margin-top:15px;
|
||||
}
|
||||
.progress-bar{
|
||||
list-style:none;
|
||||
/*color:#fff;*/
|
||||
margin-top:30px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
counter-reset:container 0;
|
||||
}
|
||||
.progress-bar li{
|
||||
position:relative;
|
||||
margin-left:40px;
|
||||
margin-top:50px;
|
||||
counter-increment:container 1;
|
||||
color:#4f6581;
|
||||
}
|
||||
.progress-bar li::before{
|
||||
content:counter(container);
|
||||
line-height:25px;
|
||||
text-align:center;
|
||||
position:absolute;
|
||||
height:25px;
|
||||
width:25px;
|
||||
border:1px solid #4f6581;
|
||||
border-radius:50%;
|
||||
left:-40px;
|
||||
top:-5px;
|
||||
z-index:10;
|
||||
background-color:#4A8ACD;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
height: 90px;
|
||||
width: 2px;
|
||||
background-color: #4f6581;
|
||||
z-index: 1;
|
||||
left: -27px;
|
||||
top: -70px;
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li.active::after{
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
|
||||
.progress-bar li:first-child:after{
|
||||
display:none;
|
||||
}
|
||||
|
||||
/*.progress-bar li:last-child:after{*/
|
||||
/* display:none; */
|
||||
/*}*/
|
||||
.progress-bar li.active::before{
|
||||
color:#fff;
|
||||
border:1px solid #fff;
|
||||
}
|
||||
.progress-bar li.active{
|
||||
color:#fff;
|
||||
}
|
||||
.d-none{
|
||||
display:none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*left-side-end*/
|
||||
.container .card .right-side{
|
||||
width:65%;
|
||||
background-color:#fff;
|
||||
height:100%;
|
||||
border-radius:20px;
|
||||
}
|
||||
/*right-side-start*/
|
||||
.main{
|
||||
display:none;
|
||||
}
|
||||
.active{
|
||||
display:block;
|
||||
}
|
||||
.main{
|
||||
padding:40px;
|
||||
}
|
||||
.main small{
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-top:2px;
|
||||
height:30px;
|
||||
width:30px;
|
||||
background-color:#ccc;
|
||||
border-radius:50%;
|
||||
color:yellow;
|
||||
font-size:19px;
|
||||
}
|
||||
.text{
|
||||
margin-top:20px;
|
||||
}
|
||||
.congrats{
|
||||
text-align:center;
|
||||
color: #0b0b0b;
|
||||
}
|
||||
.text p{
|
||||
margin-top:10px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
color:#cbced4;
|
||||
}
|
||||
.input-text{
|
||||
margin:30px 0;
|
||||
display:flex;
|
||||
gap:20px;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
width:100%;
|
||||
position:relative;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
input[type="text"],input[type="password"]{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
select{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
.input-text .input-div span{
|
||||
position:absolute;
|
||||
top:10px;
|
||||
left:10px;
|
||||
font-size:12px;
|
||||
transition:all 0.5s;
|
||||
}
|
||||
.input-div input:focus ~ span,.input-div input:valid ~ span {
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.input-div span{
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
}
|
||||
.buttons button{
|
||||
height:40px;
|
||||
width:100px;
|
||||
border:none;
|
||||
border-radius:5px;
|
||||
background-color:#0075ff;
|
||||
font-size:12px;
|
||||
color:#fff;
|
||||
cursor:pointer;
|
||||
}
|
||||
.button_space{
|
||||
display:flex;
|
||||
gap:20px;
|
||||
|
||||
}
|
||||
.button_space button:nth-child(1){
|
||||
background-color:#fff;
|
||||
color:#000;
|
||||
border:1px solid#000;
|
||||
}
|
||||
.user_card{
|
||||
margin-top:20px;
|
||||
margin-bottom:40px;
|
||||
height:200px;
|
||||
width:100%;
|
||||
border:1px solid #c7d3d9;
|
||||
border-radius:10px;
|
||||
display:flex;
|
||||
overflow:hidden;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.user_card span{
|
||||
height:80px;
|
||||
width:100%;
|
||||
background-color:#dfeeff;
|
||||
}
|
||||
.circle{
|
||||
position:absolute;
|
||||
top:40px;
|
||||
left:60px;
|
||||
}
|
||||
.circle span{
|
||||
height:70px;
|
||||
width:70px;
|
||||
background-color:#fff;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
border:2px solid #fff;
|
||||
border-radius:50%;
|
||||
}
|
||||
.circle span img{
|
||||
width:100%;
|
||||
height:100%;
|
||||
border-radius:50%;
|
||||
object-fit:cover;
|
||||
}
|
||||
.social{
|
||||
display:flex;
|
||||
position:absolute;
|
||||
top:100px;
|
||||
right:10px;
|
||||
}
|
||||
.social span{
|
||||
height:30px;
|
||||
width:30px;
|
||||
border-radius:7px;
|
||||
background-color:#fff;
|
||||
border:1px solid #cbd6dc;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-left:10px;
|
||||
color:#cbd6dc;
|
||||
|
||||
}
|
||||
.social span i{
|
||||
cursor:pointer;
|
||||
}
|
||||
.heart{
|
||||
color:red !important;
|
||||
}
|
||||
.share{
|
||||
color:red !important;
|
||||
}
|
||||
.user_name{
|
||||
position:absolute;
|
||||
top:110px;
|
||||
margin:10px;
|
||||
padding:0 30px;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.user_name h3{
|
||||
color:#4c5b68;
|
||||
}
|
||||
.detail{
|
||||
/*margin-top:10px;*/
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
margin-right:50px;
|
||||
}
|
||||
.detail p{
|
||||
font-size:12px;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
.detail p a{
|
||||
text-decoration:none;
|
||||
color:blue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.checkmark__circle {
|
||||
stroke-dasharray: 166;
|
||||
stroke-dashoffset: 166;
|
||||
stroke-width: 2;
|
||||
stroke-miterlimit: 10;
|
||||
stroke: #7ac142;
|
||||
fill: none;
|
||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||
}
|
||||
|
||||
.checkmark {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 50%;
|
||||
display: block;
|
||||
stroke-width: 2;
|
||||
stroke: #fff;
|
||||
stroke-miterlimit: 10;
|
||||
margin: 10% auto;
|
||||
box-shadow: inset 0px 0px 0px #7ac142;
|
||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||
}
|
||||
|
||||
.checkmark__check {
|
||||
transform-origin: 50% 50%;
|
||||
stroke-dasharray: 48;
|
||||
stroke-dashoffset: 48;
|
||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||
}
|
||||
|
||||
@keyframes stroke {
|
||||
100% {
|
||||
stroke-dashoffset: 0;
|
||||
}
|
||||
}
|
||||
@keyframes scale {
|
||||
0%, 100% {
|
||||
transform: none;
|
||||
}
|
||||
50% {
|
||||
transform: scale3d(1.1, 1.1, 1);
|
||||
}
|
||||
}
|
||||
@keyframes fill {
|
||||
100% {
|
||||
box-shadow: inset 0px 0px 0px 30px #7ac142;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.warning{
|
||||
border:1px solid red !important;
|
||||
}
|
||||
|
||||
|
||||
/*right-side-end*/
|
||||
@media (max-width:750px) {
|
||||
.container{
|
||||
height:scroll;
|
||||
|
||||
|
||||
}
|
||||
.container .card {
|
||||
max-width: 350px;
|
||||
height:auto !important;
|
||||
margin:30px 0;
|
||||
}
|
||||
.container .card .right-side {
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.input-text{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
margin-top:20px;
|
||||
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.error{
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.field-validation-error{
|
||||
top: 30px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.field-validation-error span{
|
||||
left: 0 !important;
|
||||
}
|
||||
|
||||
.next_button{
|
||||
background-color: #FF440A !important;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
button:disabled{
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.top-area{
|
||||
display: flex;
|
||||
}
|
||||
.link-area{
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.link-area a{
|
||||
color: #82aee2;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
font-family: "Lato",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
input:read-only{
|
||||
background: lightgrey;
|
||||
}
|
||||
|
||||
/* my custom css*/
|
||||
.container .card .form {
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
height: 100%;
|
||||
border-radius: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.container .card{
|
||||
height: auto;
|
||||
margin: 15px;
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 65%;
|
||||
background-color: #fff;
|
||||
height: auto;
|
||||
border-radius: 20px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.container .card .left-side{
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.edit-text{
|
||||
text-align: right;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.label-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.radio-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* my custom css*/
|
||||
222
resources/css/payment.css
vendored
Normal file
222
resources/css/payment.css
vendored
Normal file
@@ -0,0 +1,222 @@
|
||||
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
|
||||
.modal-backdrop {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
z-index: 100000000;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.modal {
|
||||
/*overflow-x: auto;*/
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
position: relative;
|
||||
padding: 20px 10px;
|
||||
}
|
||||
|
||||
#payment-modal {
|
||||
font-family: Arial;
|
||||
font-size: 17px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
|
||||
#payment-modal * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#payment-modal .row {
|
||||
display: -ms-flexbox; /* IE10 */
|
||||
display: flex;
|
||||
-ms-flex-wrap: wrap; /* IE10 */
|
||||
flex-wrap: wrap;
|
||||
margin: 0 -16px;
|
||||
}
|
||||
|
||||
#payment-modal .col-25 {
|
||||
-ms-flex: 25%; /* IE10 */
|
||||
flex: 25%;
|
||||
}
|
||||
|
||||
#payment-modal .col-50 {
|
||||
-ms-flex: 50%; /* IE10 */
|
||||
flex: 50%;
|
||||
}
|
||||
|
||||
#payment-modal .col-75 {
|
||||
-ms-flex: 75%; /* IE10 */
|
||||
flex: 75%;
|
||||
}
|
||||
|
||||
#payment-modal
|
||||
.col-25,
|
||||
.col-50,
|
||||
.col-75 {
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
#payment-modal .payment-container {
|
||||
/* background-color: #f2f2f2; */
|
||||
font-family: 'Roboto', sans-serif;
|
||||
color: #2A3F54;
|
||||
padding: 5px 20px 15px 20px;
|
||||
border: 1px solid lightgrey;
|
||||
border-radius: 3px;
|
||||
background: #fff;
|
||||
padding: 10px 25px;
|
||||
box-shadow: 0 10px 10px 10px rgb(0 0 0 / 10%);
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
#payment-modal input[type=text] {
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
padding: 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#payment-modal label {
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#payment-modal .icon-container {
|
||||
margin-bottom: 20px;
|
||||
padding: 7px 0;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
#payment-modal .btn {
|
||||
background-color: #FF440A !important;
|
||||
color: white;
|
||||
padding: 12px;
|
||||
margin: 10px 0;
|
||||
border: none;
|
||||
width: 100%;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
#payment-modal .btn:hover {
|
||||
background-color: #45a049;
|
||||
}
|
||||
|
||||
#payment-modal a {
|
||||
color: #2196F3;
|
||||
}
|
||||
|
||||
#payment-modal hr {
|
||||
border: 1px solid lightgrey;
|
||||
}
|
||||
|
||||
#payment-modal span.price {
|
||||
float: right;
|
||||
color: grey;
|
||||
}
|
||||
#payment-modal .bottom-panel{
|
||||
text-align: center;
|
||||
}
|
||||
#payment-modal .smart-credit-pkg{
|
||||
width: 250px !important;
|
||||
margin-top: -20px !important;
|
||||
margin-left: 15px !important;
|
||||
padding-top: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
#payment-modal .top-text{
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
padding-bottom: 15px;
|
||||
margin-left: 15px;
|
||||
color: darkblue;
|
||||
}
|
||||
/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other (also change the direction - make the "cart" column go on top) */
|
||||
@media (max-width: 800px) {
|
||||
#payment-modal .row {
|
||||
flex-direction: column-reverse;
|
||||
}
|
||||
#payment-modal .col-25 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#payment-modal .main{
|
||||
margin: 15px !important;
|
||||
}
|
||||
|
||||
#payment-modal .container{
|
||||
border-radius: 0;
|
||||
}
|
||||
#payment-modal .text-center-sm{
|
||||
text-align: center !important;
|
||||
}
|
||||
#payment-modal .bottom-panel{
|
||||
text-align: center !important;
|
||||
}
|
||||
#payment-modal .smart-credit-pkg{
|
||||
width: 95% !important;
|
||||
margin-top: -20px !important;
|
||||
padding-top: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
#payment-modal .top-text{
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding-bottom: 15px;
|
||||
color: darkblue;
|
||||
}
|
||||
#payment-modal .header-panel{
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
@media (max-width: 700px) {
|
||||
#payment-modal .row {
|
||||
display: flow-root;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 -16px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 400px) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#payment-modal .center{
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#payment-modal .text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
#payment-modal .btn2 {
|
||||
background-color: #FF440A !important;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
font-weight: 800;
|
||||
font-size: 1em;
|
||||
text-transform: uppercase;
|
||||
color: #fff;
|
||||
border-radius: 7px;
|
||||
margin: 20px;
|
||||
padding: 10px 100px;
|
||||
background-size: 200% auto;
|
||||
border: none;
|
||||
color: white;
|
||||
box-shadow: 0 4px 6px rgb(50 50 93 / 11%), 0 1px 3px rgb(0 0 0 / 8%);
|
||||
background-image: linear-gradient(to right, #FF440A 0%, #dc3d0c 50%, #9e2d0a 100%);
|
||||
background-image: -webkit-linear-gradient(to right, #FF440A 0%, #dc3d0c 50%, #9e2d0a 100%);
|
||||
background-image: -o-linear-gradient(to right, #FF440A 0%, #dc3d0c 50%, #9e2d0a 100%);
|
||||
transition: 0.35s;
|
||||
-webkit-transition: 0.35s;
|
||||
}
|
||||
548
resources/css/register.css
vendored
Normal file
548
resources/css/register.css
vendored
Normal file
@@ -0,0 +1,548 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap');
|
||||
|
||||
*{
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
.container{
|
||||
min-height:100vh;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
background-color:#eee;
|
||||
}
|
||||
.container .card{
|
||||
height:500px;
|
||||
width:1100px;
|
||||
background-color:#fff;
|
||||
position:relative;
|
||||
box-shadow:0 15px 30px rgba(0,0,0,0.1);
|
||||
font-family: 'Poppins', sans-serif;
|
||||
border-radius:20px;
|
||||
}
|
||||
.container .card .form{
|
||||
width:100%;
|
||||
height:100%;
|
||||
|
||||
display:flex;
|
||||
}
|
||||
.container .card .left-side{
|
||||
width:35%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #8ba8e0 0%, #4e74f2 100%);
|
||||
height:100%;
|
||||
border-top-left-radius:20px;
|
||||
border-bottom-left-radius:20px;
|
||||
padding:20px 30px;
|
||||
box-sizing:border-box;
|
||||
|
||||
}
|
||||
/*left-side-start*/
|
||||
.left-heading{
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
.steps-content{
|
||||
margin-top:30px;
|
||||
color:#fff;
|
||||
}
|
||||
.steps-content p{
|
||||
font-size:12px;
|
||||
margin-top:15px;
|
||||
}
|
||||
.progress-bar{
|
||||
list-style:none;
|
||||
/*color:#fff;*/
|
||||
margin-top:30px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
counter-reset:container 0;
|
||||
}
|
||||
.progress-bar li{
|
||||
position:relative;
|
||||
margin-left:40px;
|
||||
margin-top:50px;
|
||||
counter-increment:container 1;
|
||||
color:#4f6581;
|
||||
}
|
||||
.progress-bar li::before{
|
||||
content:counter(container);
|
||||
line-height:25px;
|
||||
text-align:center;
|
||||
position:absolute;
|
||||
height:25px;
|
||||
width:25px;
|
||||
border:1px solid #4f6581;
|
||||
border-radius:50%;
|
||||
left:-40px;
|
||||
top:-5px;
|
||||
z-index:10;
|
||||
background-color:#4A8ACD;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
height: 90px;
|
||||
width: 2px;
|
||||
background-color: #4f6581;
|
||||
z-index: 1;
|
||||
left: -27px;
|
||||
top: -70px;
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li.active::after{
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
|
||||
.progress-bar li:first-child:after{
|
||||
display:none;
|
||||
}
|
||||
|
||||
/*.progress-bar li:last-child:after{*/
|
||||
/* display:none; */
|
||||
/*}*/
|
||||
.progress-bar li.active::before{
|
||||
color:#fff;
|
||||
border:1px solid #fff;
|
||||
}
|
||||
.progress-bar li.active{
|
||||
color:#fff;
|
||||
}
|
||||
.d-none{
|
||||
display:none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*left-side-end*/
|
||||
.container .card .right-side{
|
||||
width:65%;
|
||||
background-color:#fff;
|
||||
height:100%;
|
||||
border-radius:20px;
|
||||
}
|
||||
/*right-side-start*/
|
||||
.main{
|
||||
display:none;
|
||||
}
|
||||
.active{
|
||||
display:block;
|
||||
}
|
||||
.main{
|
||||
padding:40px;
|
||||
}
|
||||
.main small{
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-top:2px;
|
||||
height:30px;
|
||||
width:30px;
|
||||
background-color:#ccc;
|
||||
border-radius:50%;
|
||||
color:yellow;
|
||||
font-size:19px;
|
||||
}
|
||||
.text{
|
||||
margin-top:20px;
|
||||
}
|
||||
.congrats{
|
||||
text-align:center;
|
||||
color: #0b0b0b;
|
||||
}
|
||||
.text p{
|
||||
margin-top:10px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
color:#cbced4;
|
||||
}
|
||||
.input-text{
|
||||
margin:30px 0;
|
||||
display:flex;
|
||||
gap:20px;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
width:100%;
|
||||
position:relative;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
input[type="text"],input[type="password"]{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
select{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
.input-text .input-div span{
|
||||
position:absolute;
|
||||
top:10px;
|
||||
left:10px;
|
||||
font-size:12px;
|
||||
transition:all 0.5s;
|
||||
}
|
||||
.input-div input:focus ~ span,.input-div input:valid ~ span {
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.input-div span{
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
}
|
||||
.buttons button{
|
||||
height:40px;
|
||||
width:100px;
|
||||
border:none;
|
||||
border-radius:5px;
|
||||
background-color:#0075ff;
|
||||
font-size:12px;
|
||||
color:#fff;
|
||||
cursor:pointer;
|
||||
}
|
||||
.button_space{
|
||||
display:flex;
|
||||
gap:20px;
|
||||
|
||||
}
|
||||
.button_space button:nth-child(1){
|
||||
background-color:#fff;
|
||||
color:#000;
|
||||
border:1px solid#000;
|
||||
}
|
||||
.user_card{
|
||||
margin-top:20px;
|
||||
margin-bottom:40px;
|
||||
height:200px;
|
||||
width:100%;
|
||||
border:1px solid #c7d3d9;
|
||||
border-radius:10px;
|
||||
display:flex;
|
||||
overflow:hidden;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.user_card span{
|
||||
height:80px;
|
||||
width:100%;
|
||||
background-color:#dfeeff;
|
||||
}
|
||||
.circle{
|
||||
position:absolute;
|
||||
top:40px;
|
||||
left:60px;
|
||||
}
|
||||
.circle span{
|
||||
height:70px;
|
||||
width:70px;
|
||||
background-color:#fff;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
border:2px solid #fff;
|
||||
border-radius:50%;
|
||||
}
|
||||
.circle span img{
|
||||
width:100%;
|
||||
height:100%;
|
||||
border-radius:50%;
|
||||
object-fit:cover;
|
||||
}
|
||||
.social{
|
||||
display:flex;
|
||||
position:absolute;
|
||||
top:100px;
|
||||
right:10px;
|
||||
}
|
||||
.social span{
|
||||
height:30px;
|
||||
width:30px;
|
||||
border-radius:7px;
|
||||
background-color:#fff;
|
||||
border:1px solid #cbd6dc;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-left:10px;
|
||||
color:#cbd6dc;
|
||||
|
||||
}
|
||||
.social span i{
|
||||
cursor:pointer;
|
||||
}
|
||||
.heart{
|
||||
color:red !important;
|
||||
}
|
||||
.share{
|
||||
color:red !important;
|
||||
}
|
||||
.user_name{
|
||||
position:absolute;
|
||||
top:110px;
|
||||
margin:10px;
|
||||
padding:0 30px;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.user_name h3{
|
||||
color:#4c5b68;
|
||||
}
|
||||
.detail{
|
||||
/*margin-top:10px;*/
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
margin-right:50px;
|
||||
}
|
||||
.detail p{
|
||||
font-size:12px;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
.detail p a{
|
||||
text-decoration:none;
|
||||
color:blue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.checkmark__circle {
|
||||
stroke-dasharray: 166;
|
||||
stroke-dashoffset: 166;
|
||||
stroke-width: 2;
|
||||
stroke-miterlimit: 10;
|
||||
stroke: #7ac142;
|
||||
fill: none;
|
||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||
}
|
||||
|
||||
.checkmark {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 50%;
|
||||
display: block;
|
||||
stroke-width: 2;
|
||||
stroke: #fff;
|
||||
stroke-miterlimit: 10;
|
||||
margin: 10% auto;
|
||||
box-shadow: inset 0px 0px 0px #7ac142;
|
||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||
}
|
||||
|
||||
.checkmark__check {
|
||||
transform-origin: 50% 50%;
|
||||
stroke-dasharray: 48;
|
||||
stroke-dashoffset: 48;
|
||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||
}
|
||||
|
||||
@keyframes stroke {
|
||||
100% {
|
||||
stroke-dashoffset: 0;
|
||||
}
|
||||
}
|
||||
@keyframes scale {
|
||||
0%, 100% {
|
||||
transform: none;
|
||||
}
|
||||
50% {
|
||||
transform: scale3d(1.1, 1.1, 1);
|
||||
}
|
||||
}
|
||||
@keyframes fill {
|
||||
100% {
|
||||
box-shadow: inset 0px 0px 0px 30px #7ac142;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.warning{
|
||||
border:1px solid red !important;
|
||||
}
|
||||
|
||||
|
||||
/*right-side-end*/
|
||||
@media (max-width:750px) {
|
||||
.container{
|
||||
height:scroll;
|
||||
|
||||
|
||||
}
|
||||
.container .card {
|
||||
max-width: 350px;
|
||||
height:auto !important;
|
||||
margin:30px 0;
|
||||
}
|
||||
.container .card .right-side {
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.input-text{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
margin-top:20px;
|
||||
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.error{
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.field-validation-error{
|
||||
top: 50px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.field-validation-error span{
|
||||
left: 0 !important;
|
||||
}
|
||||
|
||||
.next_button{
|
||||
background-color: #FF440A !important;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
button:disabled{
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.top-area{
|
||||
display: flex;
|
||||
}
|
||||
.link-area{
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.link-area a{
|
||||
color: #82aee2;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
font-family: "Lato",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
input:read-only{
|
||||
background: lightgrey;
|
||||
}
|
||||
|
||||
/* my custom css*/
|
||||
.container .card .form {
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
height: 100%;
|
||||
border-radius: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.container .card{
|
||||
height: auto;
|
||||
margin: 15px;
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 65%;
|
||||
background-color: #fff;
|
||||
height: auto;
|
||||
border-radius: 20px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.container .card .left-side{
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.edit-text{
|
||||
text-align: right;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.label-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.radio-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* my custom css*/
|
||||
970
resources/css/smartcredit.css
vendored
Normal file
970
resources/css/smartcredit.css
vendored
Normal file
@@ -0,0 +1,970 @@
|
||||
|
||||
.smart-credit-pkg .sign-up-nav, .smart-credit-pkg .login-nav {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .page-steps {
|
||||
background-color: #f7f8fb
|
||||
}
|
||||
|
||||
.smart-credit-pkg .page-steps .smart-credit-pkg .header__name {
|
||||
font-size: 24px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main {
|
||||
border-radius: 3px;
|
||||
height: calc(100vh - 177px);
|
||||
max-width: 80%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main--auto {
|
||||
height: auto;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content {
|
||||
border: 2px solid #f2f2f2;
|
||||
background-color: #fff
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__aside {
|
||||
background-image: linear-gradient(to bottom, #b8d7f3, #82aee2)
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__aside + .smart-credit-pkg .main__content {
|
||||
border-left: none
|
||||
}
|
||||
|
||||
@media (max-width: 1199.98px) {
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps li + li {
|
||||
margin-left: 50px
|
||||
}
|
||||
|
||||
p {
|
||||
color: #4a4a4a;
|
||||
line-height: 32px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list p {
|
||||
line-height: initial
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text {
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text h3 {
|
||||
font-weight: 300;
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text p {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
margin-top: 15px;
|
||||
font-weight: bold;
|
||||
line-height: 2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text p.smart-credit-pkg .extra-bold {
|
||||
font-size: 35px;
|
||||
margin-top: 15px;
|
||||
font-weight: bold;
|
||||
line-height: 2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text .smart-credit-pkg .btn-link {
|
||||
font-size: 16px;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
color: #fff;
|
||||
border-bottom: 1px solid #fff
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--login {
|
||||
width: 70%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--login h2 {
|
||||
color: #82aee2;
|
||||
font-weight: 300
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--login a {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.smart-credit-pkg .action-link a {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .main {
|
||||
max-width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .LoginText--box.smart-credit-pkg .d-flex {
|
||||
display: block !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text {
|
||||
margin-top: 20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .page-steps .smart-credit-pkg .navigation {
|
||||
display: block
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main {
|
||||
height: auto;
|
||||
flex-direction: column-reverse
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content, .smart-credit-pkg .main__aside {
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content {
|
||||
border-right: none;
|
||||
padding: 0 30px;
|
||||
border-left: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content .smart-credit-pkg .tab-content {
|
||||
padding-top: .5rem !important;
|
||||
padding-bottom: 1rem !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link {
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text, .smart-credit-pkg .action-link {
|
||||
text-align: center
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 575.98px) {
|
||||
.smart-credit-pkg .steps .smart-credit-pkg .container {
|
||||
padding-left: 0;
|
||||
padding-right: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps {
|
||||
padding-top: 50px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav {
|
||||
margin: 50px -16px 20px;
|
||||
width: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link {
|
||||
color: #82aee2;
|
||||
font-weight: 300;
|
||||
cursor: context-menu
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link::before {
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
background-color: #c2c2c2;
|
||||
border-color: #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link.smart-credit-pkg .active {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link.smart-credit-pkg .active::before {
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
background: #f2f2f2;
|
||||
border-color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .confirm-name i {
|
||||
color: #82aee2
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .registration-steps {
|
||||
padding-top: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .mt-sm--2 {
|
||||
margin-top: 16px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav {
|
||||
margin: 50px -30px 20px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main--credit {
|
||||
max-width: 100%;
|
||||
height: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card {
|
||||
border-radius: 4px;
|
||||
border: solid 1px #f2f2f2;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: auto;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--short {
|
||||
height: 85%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--info {
|
||||
border-top: 5px solid #3379d0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--best, .smart-credit-pkg .report-card--gray {
|
||||
background: #f2f2f2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--best .smart-credit-pkg .best-value {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -38px;
|
||||
left: -20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--danger {
|
||||
border-top: 5px solid #c03941
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header {
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header h5 {
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
line-height: 26px;
|
||||
color: #3379d0;
|
||||
font-family: "Open Sans", sans-serif
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header h5 span {
|
||||
font-size: 21px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header h5 sup {
|
||||
margin: 0 2px;
|
||||
top: -10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__price {
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__price h4 {
|
||||
color: #82aee2;
|
||||
font-size: 24px !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__price span {
|
||||
text-transform: uppercase;
|
||||
font-size: 11px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card .provider-logo {
|
||||
width: 50%;
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo span {
|
||||
padding: 0 10px;
|
||||
color: #3379d0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo strong {
|
||||
font-family: "open sans";
|
||||
font-size: 18px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card .smart-credit-pkg .provider-logo-small {
|
||||
width: 110px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo::before, .smart-credit-pkg .report-card__logo::after {
|
||||
content: "";
|
||||
flex: 1;
|
||||
height: 2px;
|
||||
background: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__text {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__text p {
|
||||
font-size: 13px;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__action {
|
||||
text-align: center;
|
||||
margin-top: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__action .smart-credit-pkg .btn {
|
||||
border-width: 2px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points > li {
|
||||
font-size: 14px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points > li i {
|
||||
color: #82aee2;
|
||||
margin-right: 5px;
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points > li + li {
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .best-value {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .best-value img {
|
||||
width: 142px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon {
|
||||
position: absolute;
|
||||
top: -38px;
|
||||
right: -20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon img {
|
||||
width: 142px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon-btn {
|
||||
border: 2px solid #c2c2c2;
|
||||
color: #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon-btn:hover {
|
||||
background: #c2c2c2;
|
||||
color: #fff;
|
||||
border: 2px solid #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .unavailable-btn {
|
||||
border: 2px solid #c2c2c2;
|
||||
color: #c2c2c2;
|
||||
word-spacing: 8px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .unavailable-btn:hover {
|
||||
background: #c2c2c2;
|
||||
color: #fff;
|
||||
border: 2px solid #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header {
|
||||
max-width: 80%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header h4 {
|
||||
font-size: 22px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__report h4 {
|
||||
font-size: 22px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-list {
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .tab-content__header {
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__report {
|
||||
padding-top: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header h4 {
|
||||
font-size: 22px;
|
||||
line-height: 36px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header p br {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__report > h4 {
|
||||
margin-top: 50px;
|
||||
font-size: 22px;
|
||||
line-height: 32px;
|
||||
text-align: left !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-list {
|
||||
padding: 0 !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-list .smart-credit-pkg .col-md-4 + .smart-credit-pkg .col-md-4 {
|
||||
margin-top: 50px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__text p {
|
||||
line-height: 22px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report {
|
||||
position: relative
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header .smart-credit-pkg .btn {
|
||||
position: absolute;
|
||||
left: 34px;
|
||||
top: 25px;
|
||||
font-size: 16px;
|
||||
padding-left: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header h2 {
|
||||
color: #3379d0;
|
||||
font-weight: bold;
|
||||
font-family: "Open Sans", sans-serif
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header h2 span {
|
||||
font-size: 32px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header h2 sup {
|
||||
font-size: 16px;
|
||||
top: -20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
font-size: 21px;
|
||||
font-weight: bold;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p span {
|
||||
font-size: 21px;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
margin-right: 5px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group > label {
|
||||
font-size: 18px;
|
||||
color: #9b9b9b;
|
||||
text-transform: none;
|
||||
margin-bottom: 25px;
|
||||
font-weight: normal
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group + .smart-credit-pkg .form-group {
|
||||
margin-top: 40px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-radio {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-radio input[type=radio]:checked + label {
|
||||
border-color: #82aee2;
|
||||
box-shadow: inset -1px 0 0 1px #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label {
|
||||
padding: 16px 20px;
|
||||
display: block;
|
||||
border: 1px solid #e1e1e1;
|
||||
border-radius: 4px;
|
||||
border-left: 4px solid #82aee2;
|
||||
cursor: pointer;
|
||||
color: #4a4a4a;
|
||||
font-size: 16px;
|
||||
font-weight: 700
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label::before, .smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label::after {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label:hover {
|
||||
box-shadow: inset -1px 0 0 1px #82aee2;
|
||||
border-color: #82aee2
|
||||
}
|
||||
|
||||
@media (max-width: 1199.98px) {
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group > label {
|
||||
margin-bottom: 18px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group + .smart-credit-pkg .form-group {
|
||||
margin-top: 25px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element label {
|
||||
color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--personal .smart-credit-pkg .form-group label {
|
||||
color: #9b9b9b
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account-modal .smart-credit-pkg .modal-dialog {
|
||||
max-width: 420px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account-modal .smart-credit-pkg .modal-header {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-icon {
|
||||
margin-top: 30px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-icon i {
|
||||
color: #82aee2;
|
||||
font-size: 40px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .modal-success__title {
|
||||
color: #545454;
|
||||
margin: 20px 0 30px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .modal-success__text {
|
||||
color: #4a4a4a;
|
||||
width: 80%;
|
||||
margin: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account-modal .smart-credit-pkg .btn {
|
||||
font-weight: 100
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success {
|
||||
width: 60%;
|
||||
margin: 0 auto;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success p {
|
||||
font-size: 20px;
|
||||
color: #545454
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-info a, .smart-credit-pkg .credit-info span {
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
font-weight: 300;
|
||||
color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text {
|
||||
list-style: none;
|
||||
width: 70%;
|
||||
margin: 0 auto 20px;
|
||||
padding: 0;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text li {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
color: #4a4a4a
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text li::before {
|
||||
content: "";
|
||||
background: #82aee2;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
margin-top: 10px;
|
||||
padding-left: 6px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text li + li {
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
@media (max-width: 1199.98px) {
|
||||
.smart-credit-pkg .credit-success {
|
||||
width: 80%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .credit-success {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success .smart-credit-pkg .text {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .credit-success .smart-credit-pkg .text {
|
||||
text-align: left;
|
||||
display: block
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success .smart-credit-pkg .btn {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-info {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header {
|
||||
margin-bottom: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-credit .smart-credit-pkg .btn {
|
||||
margin-bottom: 20px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .alert-danger {
|
||||
background: #dc8180;
|
||||
padding: 8px 20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .alert-danger p {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 100;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .title {
|
||||
width: 50%;
|
||||
margin: 20px auto;
|
||||
font-size: 21px;
|
||||
line-height: 32px;
|
||||
letter-spacing:.06px;
|
||||
text-align: center;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-card__price {
|
||||
border: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-card__price span {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account label {
|
||||
color: #82aee2 !important;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .title {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .smart-credit-error .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header {
|
||||
margin-bottom: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-row {
|
||||
margin-top: 40px !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-row__aside {
|
||||
margin-top: 30px
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 575.98px) {
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .alert-danger {
|
||||
margin: 0 -30px;
|
||||
padding: 10px 30px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 90%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .report-row {
|
||||
width: 60%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .btn {
|
||||
font-weight: 100
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header .smart-credit-pkg .btn {
|
||||
top: 25px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .inactive-btn {
|
||||
color: #be4948 !important;
|
||||
border-color: #be4948;
|
||||
opacity: 1 !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .inactive-btn:hover {
|
||||
background: #be4948;
|
||||
border-color: #be4948;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .report-row {
|
||||
width: 75%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .report-row {
|
||||
width: 100%;
|
||||
margin: 35px auto 0 !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .form-title {
|
||||
text-align: left
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .form-element p {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
margin-bottom: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .form-element p a {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 80%;
|
||||
color: #4a4a4a
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header .smart-credit-pkg .btn {
|
||||
top: 25px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .form-title {
|
||||
margin-bottom: 15px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .form-element p {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
margin-bottom: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .form-element p a {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .report-card__logo, .smart-credit-pkg .credit-contact .smart-credit-pkg .report-card__price {
|
||||
display: none
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content__header {
|
||||
max-width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-page .smart-credit-pkg .form-element .smart-credit-pkg .btn.smart-credit-pkg .btn-link {
|
||||
font-size: 16px;
|
||||
text-decoration: underline !important;
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .readonly {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
padding: 0 0 15px;
|
||||
border: none !important;
|
||||
border-bottom: 1px solid #f2f2f2 !important;
|
||||
box-shadow: none;
|
||||
border-radius: 0 !important;
|
||||
height: 30px;
|
||||
background: #fff !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list {
|
||||
border: 2px solid #f2f2f2;
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
list-style: none;
|
||||
height: 180px;
|
||||
overflow-y: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list li + li {
|
||||
margin-top: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list::-webkit-scrollbar-track {
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list::-webkit-scrollbar {
|
||||
width: 6px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .text-wrap-indent {
|
||||
padding-left: 3em;
|
||||
text-indent: -3em;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smartcredit-color {
|
||||
}
|
||||
|
||||
.smart-credit-pkg .creditarmor-color {
|
||||
color: #ce1f00
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card .provider-logo {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .p-3 {
|
||||
padding: 1rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .pb-2, .smart-credit-pkg .py-2 {
|
||||
padding-bottom: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .p-2 {
|
||||
padding: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .pt-3, .smart-credit-pkg .py-3 {
|
||||
padding-top: 1rem!important;
|
||||
}
|
||||
.smart-credit-pkg .pb-2, .smart-credit-pkg .py-2 {
|
||||
padding-bottom: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .pb-2, .smart-credit-pkg .py-2 {
|
||||
padding-bottom: 0.5rem!important;
|
||||
}
|
||||
.smart-credit-pkg .pt-2, .smart-credit-pkg .py-2 {
|
||||
padding-top: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-logo {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.smart-credit-logo img {
|
||||
width: 20%;
|
||||
margin-bottom: -12px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.smart-credit-pkg {
|
||||
width: 25%;
|
||||
padding-top: 3%;
|
||||
padding-right: 40px;
|
||||
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
3592
resources/css/spinner.css
vendored
Normal file
3592
resources/css/spinner.css
vendored
Normal file
File diff suppressed because one or more lines are too long
11
resources/js/Api/auth.js
vendored
Normal file
11
resources/js/Api/auth.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import axiosClient from './../config/axios';
|
||||
|
||||
export default {
|
||||
login(user) {
|
||||
return axiosClient.post('/login', {
|
||||
email: user.email,
|
||||
password: user.password,
|
||||
lang: 'en'
|
||||
})
|
||||
}
|
||||
}
|
||||
42
resources/js/Api/register.js
vendored
Normal file
42
resources/js/Api/register.js
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
import axiosClient from '@/config/axios';
|
||||
|
||||
export default {
|
||||
createAccount(account) {
|
||||
return axiosClient.post('/create/account', account)
|
||||
},
|
||||
addProfile(data) {
|
||||
return axiosClient.post(`/add/profile`, data)
|
||||
},
|
||||
getUserInfo(){
|
||||
return axiosClient.get(`get-user-info`);
|
||||
},
|
||||
importCreditReportByEmail(data){
|
||||
return axiosClient.post(`import/credit-report`,data);
|
||||
},
|
||||
makePayment(data){
|
||||
return axiosClient.post(`make/payment`,data);
|
||||
},
|
||||
makePayments(data){
|
||||
return axiosClient.post(`make/payments`,data);
|
||||
},
|
||||
getSecurityQuestion(){
|
||||
return axiosClient.get(`get/security_question`);
|
||||
},
|
||||
customerCreateAndUpdate(data){
|
||||
return axiosClient.post(`create/customer`,data);
|
||||
},
|
||||
verifyProfile(data){
|
||||
return axiosClient.post(`customer/profile-verify`,data);
|
||||
},
|
||||
getIdentityQuestion(){
|
||||
return axiosClient.get(`get/identity_question`);
|
||||
},
|
||||
postIdentityQuestion(data){
|
||||
return axiosClient.post(`post/identity_question`,data);
|
||||
},
|
||||
reportProviderValidsation(data){
|
||||
return axiosClient.post(`get/subscription`,data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
77
resources/js/Validation/useFormValidation.js
vendored
Normal file
77
resources/js/Validation/useFormValidation.js
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
import { reactive } from "@vue/reactivity";
|
||||
import useValidators from './validators'
|
||||
|
||||
|
||||
const errors = reactive({});
|
||||
const errorMessage = reactive({});
|
||||
|
||||
|
||||
export default function useFormValidation() {
|
||||
|
||||
|
||||
const { isEmpty, minLength, isEmail, isNum,isInt,maxLength } = useValidators();
|
||||
|
||||
const validateNameField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue, 4)
|
||||
}
|
||||
|
||||
const validateEmailField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : isEmail(fieldName, fieldValue)
|
||||
}
|
||||
|
||||
const validatePhoneField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : isNum(fieldName, fieldValue)
|
||||
}
|
||||
|
||||
const validatePasswordField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue, 8)
|
||||
}
|
||||
|
||||
const validate = (rules,messages,fieldName, fieldValue) => {
|
||||
let container = {}
|
||||
container["required"] = isEmpty(fieldName,fieldValue)
|
||||
container["email"] = !fieldValue ? isEmpty(fieldName, fieldValue) : isEmail(fieldName, fieldValue)
|
||||
container["password"] = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue,6)
|
||||
container["integer"] = !fieldValue ? isEmpty(fieldName, fieldValue) : isInt(fieldName, fieldValue)
|
||||
|
||||
for (let i in rules){
|
||||
errors[fieldName] = "";
|
||||
let value = rules[i];
|
||||
if(container[value]){
|
||||
errors[fieldName] = container[value];
|
||||
break;
|
||||
}else {
|
||||
|
||||
let splited = value.split(':')
|
||||
if (splited.length == 2) {
|
||||
container[value] = dyanamicValidation(splited, fieldValue, fieldName)
|
||||
if(container[value]){
|
||||
errors[fieldName] = container[value];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const dyanamicValidation = (splited,fieldValue,fieldName) => {
|
||||
let result = "";
|
||||
switch (splited[0]){
|
||||
case "min":
|
||||
result = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue,splited[1])
|
||||
break;
|
||||
case "max":
|
||||
result = !fieldValue ? isEmpty(fieldName, fieldValue) : maxLength(fieldName, fieldValue,splited[1])
|
||||
break;
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
return { errors,validate}
|
||||
}
|
||||
18
resources/js/Validation/useSubmitButtonState.js
vendored
Normal file
18
resources/js/Validation/useSubmitButtonState.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { computed } from "vue";
|
||||
|
||||
export default function useSubmitButtonState(user, errors) {
|
||||
|
||||
const isButtonDisabled = computed(() => {
|
||||
let disabled = true;
|
||||
for (let prop in user) {
|
||||
if (!user[prop] || errors[prop]) {
|
||||
disabled = true;
|
||||
break;
|
||||
}
|
||||
disabled = false;
|
||||
}
|
||||
return disabled;
|
||||
});
|
||||
|
||||
return { isButtonDisabled }
|
||||
}
|
||||
32
resources/js/Validation/validators.js
vendored
Normal file
32
resources/js/Validation/validators.js
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
export default function useValidators() {
|
||||
|
||||
const isEmpty = (fieldName, fieldValue) => {
|
||||
return !fieldValue ? `The ${fieldName} is required`:"";
|
||||
}
|
||||
|
||||
const minLength = (fieldName, fieldValue, min) => {
|
||||
return fieldValue.length < min ? `The ${fieldName} field must be at least ${min} characters long` : "";
|
||||
}
|
||||
|
||||
const maxLength = (fieldName, fieldValue, max) => {
|
||||
return fieldValue.length > max ? `The ${fieldName} cannot be greater than ${max} characters long` : "";
|
||||
}
|
||||
|
||||
const isEmail = (fieldName, fieldValue) => {
|
||||
let re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||
return !re.test(fieldValue) ? "The input is not a valid " + fieldName + " address" : "";
|
||||
}
|
||||
|
||||
const isNum = (fieldName, fieldValue) => {
|
||||
let isNum = /^\d+$/.test(fieldValue);
|
||||
return !isNum ? "The " + fieldName + " field only have numbers" : "";
|
||||
}
|
||||
|
||||
const isInt = (fieldName, fieldValue) => {
|
||||
let test = /^\d+$/.test(fieldValue);
|
||||
return !test ? "The " + fieldName + " must be integer" : "";
|
||||
}
|
||||
|
||||
return { isEmpty, minLength, isEmail, isNum,isInt,maxLength}
|
||||
}
|
||||
53
resources/js/app.js
vendored
Normal file
53
resources/js/app.js
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
require('./bootstrap');
|
||||
import { createApp } from 'vue'
|
||||
import App from "./components/App";
|
||||
import '../css/loader.css'
|
||||
import '../css/spinner.css'
|
||||
import '../css/register.css'
|
||||
import '../css/payment.css'
|
||||
|
||||
import VueSweetalert2 from 'vue-sweetalert2';
|
||||
import 'sweetalert2/dist/sweetalert2.min.css';
|
||||
import store from "./store";
|
||||
// routes
|
||||
import router from "./router";
|
||||
|
||||
import {setSecurityKey} from "./helper";
|
||||
|
||||
// Global component
|
||||
import AddProfile from "./components/partials/AddProfile";
|
||||
import Step from "./components/partials/step";
|
||||
import CreateAccount from "./components/partials/CreateAccount";
|
||||
import ChoosePackage from "./components/partials/ChoosePackage";
|
||||
import ValidationError from "./components/partials/ValidationError";
|
||||
import TextInput from './components/Form/TextInput';
|
||||
import SelectInput from './components/Form/SelectInput';
|
||||
import TopArea from './components/partials/TopArea';
|
||||
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
app.use(store)
|
||||
app.use(router)
|
||||
app.use(VueSweetalert2);
|
||||
//app.use(DisableAutocomplete);
|
||||
|
||||
const base_url = API_BASE_URL
|
||||
app.config.globalProperties.$base_url = base_url
|
||||
app.config.globalProperties.success_code = 100
|
||||
//app.config.globalProperties.$loader = `${base_url}/img/ajax-loader.gif`;
|
||||
app.config.globalProperties.$loader = `https://i.stack.imgur.com/FhHRx.gif`;
|
||||
|
||||
app.component('AddProfile',AddProfile);
|
||||
app.component('Step',Step);
|
||||
app.component('CreateAccount',CreateAccount);
|
||||
app.component('ChoosePackage',ChoosePackage);
|
||||
app.component('ValidationError',ValidationError);
|
||||
app.component('TextInput',TextInput);
|
||||
app.component('SelectInput',SelectInput);
|
||||
app.component('TopArea',TopArea);
|
||||
|
||||
app.mount('#app');
|
||||
|
||||
setSecurityKey(SECURITY_KEY)
|
||||
|
||||
28
resources/js/bootstrap.js
vendored
Normal file
28
resources/js/bootstrap.js
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
window._ = require('lodash');
|
||||
|
||||
/**
|
||||
* We'll load the axios HTTP library which allows us to easily issue requests
|
||||
* to our Laravel back-end. This library automatically handles sending the
|
||||
* CSRF token as a header based on the value of the "XSRF" token cookie.
|
||||
*/
|
||||
|
||||
window.axios = require('axios');
|
||||
|
||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
|
||||
/**
|
||||
* Echo exposes an expressive API for subscribing to channels and listening
|
||||
* for events that are broadcast by Laravel. Echo and event broadcasting
|
||||
* allows your team to easily build robust real-time web applications.
|
||||
*/
|
||||
|
||||
// import Echo from 'laravel-echo';
|
||||
|
||||
// window.Pusher = require('pusher-js');
|
||||
|
||||
// window.Echo = new Echo({
|
||||
// broadcaster: 'pusher',
|
||||
// key: process.env.MIX_PUSHER_APP_KEY,
|
||||
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
||||
// forceTLS: true
|
||||
// });
|
||||
13
resources/js/components/App.vue
Normal file
13
resources/js/components/App.vue
Normal file
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<div id="spinner" v-show="$store.getters['auth/getLoaderStatus']">
|
||||
<div id="loading">
|
||||
<span class="timer-loader">Loading…</span>
|
||||
</div>
|
||||
</div>
|
||||
<router-view/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
|
||||
43
resources/js/components/Form/SelectInput.vue
Normal file
43
resources/js/components/Form/SelectInput.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<div class="input-div">
|
||||
<select
|
||||
:class="className"
|
||||
@input="$emit('update:modelValue', $event.target.value)"
|
||||
v-model="input"
|
||||
@change="validateInput"
|
||||
>
|
||||
<option v-if="empty" value="" disabled>{{empty}}</option>
|
||||
<option :key="item.id" v-for="item in items" :value="item.id">{{item.value}}</option>
|
||||
</select>
|
||||
<ValidationError :msg="errors[name]"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ref } from "vue";
|
||||
import useFormValidation from "@/Validation/useFormValidation";
|
||||
export default {
|
||||
props:{
|
||||
className:String|Object,
|
||||
placeholder:String,
|
||||
rules:Array,
|
||||
items:Array,
|
||||
empty:String
|
||||
|
||||
},
|
||||
setup(props) {
|
||||
let input = ref("");
|
||||
const name = props.placeholder
|
||||
const { validate, errors} = useFormValidation();
|
||||
const validateInput = () => {
|
||||
validate(props.rules,{},name, input.value);
|
||||
};
|
||||
|
||||
if(props.errormsg){
|
||||
errors[name] = props.errormsg
|
||||
}
|
||||
console.log("errors[name]",errors);
|
||||
return { input,name, errors, validateInput };
|
||||
},
|
||||
};
|
||||
</script>
|
||||
47
resources/js/components/Form/TextInput.vue
Normal file
47
resources/js/components/Form/TextInput.vue
Normal file
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="className"
|
||||
:placeholder="placeholder"
|
||||
:type="type"
|
||||
@input="$emit('update:modelValue', $event.target.value)"
|
||||
v-model="input"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :backend="backend" :msg="messages"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {reactive, ref} from "vue";
|
||||
import useFormValidation from "@/Validation/useFormValidation";
|
||||
export default {
|
||||
props:{
|
||||
className:String|Object,
|
||||
placeholder:String,
|
||||
type:String,
|
||||
rules:Array,
|
||||
backend:String,
|
||||
errors:Array
|
||||
},
|
||||
setup(props) {
|
||||
let input = ref("");
|
||||
let messages = ref([])
|
||||
const name = props.placeholder
|
||||
|
||||
//const { validate, errors} = useFormValidation();
|
||||
|
||||
const validateInput = () => {
|
||||
messages.value = []
|
||||
if(props.errors[0]) {
|
||||
messages.value.push(props.errors[0])
|
||||
}
|
||||
}
|
||||
//console.log('ccc',messages)
|
||||
return { input,name,messages,validateInput };
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
493
resources/js/components/partials/AddProfile.vue
Normal file
493
resources/js/components/partials/AddProfile.vue
Normal file
@@ -0,0 +1,493 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>{{company_Name}}</h3>
|
||||
</div>
|
||||
<Step step="2"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent="makePayment" autocomplete="off"
|
||||
class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea :is_show_login="false"/>
|
||||
<div class="text">
|
||||
<h3> {{company_Name}}
|
||||
<span v-if="reportProvider==='3'"> Partnered with {{reportProviders.labels[reportProvider]}}</span>
|
||||
<span v-if="reportProvider==='1'"> Powerful Software System </span>
|
||||
</h3>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<SmartCreditLogo :package_id="formData.package_id" />
|
||||
<!-- <SmartCreditLogo :package_id="formData.package_id" v-if="reportProvider==='3'"/>-->
|
||||
<!-- <IdentityIqLogo :package_id="formData.package_id" v-if="reportProvider==='1'"/>-->
|
||||
<div class="text" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="message">
|
||||
<p style="color:red;text-align:center">{{ message[0] }}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('first_name')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="first_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.first_name.$errors.length}"
|
||||
placeholder="First Name"
|
||||
type="text"
|
||||
v-model="formData.first_name"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.first_name"
|
||||
:msg="v$.formData.first_name.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('last_name')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="last_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.last_name.$errors.length}"
|
||||
placeholder="Last Name"
|
||||
type="text"
|
||||
v-model="v$.formData.last_name.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.last_name" :msg="v$.formData.last_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('email')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="email"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.email}"
|
||||
placeholder="Email"
|
||||
type="text"
|
||||
v-model="v$.formData.email.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.email" :msg="v$.formData.email.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('password')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="password"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.password}"
|
||||
placeholder="Password"
|
||||
type="password"
|
||||
v-model="v$.formData.password.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.password" :msg="v$.formData.password.$errors"/>
|
||||
</div>
|
||||
<div class="input-div" style="margin-top: 20px">
|
||||
<input
|
||||
ref="phone"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.phone}"
|
||||
placeholder="Phone, e,g. 954-604-4220"
|
||||
type="text"
|
||||
v-model="v$.formData.phone.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.phone" :msg="v$.formData.phone.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="full_ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.full_ssn}"
|
||||
placeholder="Last 4 digit of SSN"
|
||||
type="text"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
v-model="v$.formData.full_ssn.$model"
|
||||
:maxlength="min"
|
||||
/>
|
||||
<ValidationError :backend="errors.full_ssn" :msg="v$.formData.full_ssn.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="full_ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.birth_date}"
|
||||
placeholder="Birth Date e.g, mm/dd/yyyy"
|
||||
type="text"
|
||||
v-model="v$.formData.birth_date.$model"
|
||||
@keyup.prevent="birthDateCompleted($event)"
|
||||
:maxlength="10"
|
||||
/>
|
||||
<ValidationError :backend="errors.birth_date" :msg="v$.formData.birth_date.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_no"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_no}"
|
||||
placeholder="Street No."
|
||||
type="text"
|
||||
v-model="v$.formData.street_no.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.street_no" :msg="v$.formData.street_no.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_name}"
|
||||
placeholder="Street Name"
|
||||
type="text"
|
||||
v-model="v$.formData.street_name.$model"
|
||||
|
||||
/>
|
||||
<ValidationError :backend="errors.street_name"
|
||||
:msg="v$.formData.street_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="city"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.city}"
|
||||
placeholder="City"
|
||||
type="text"
|
||||
v-model="v$.formData.city.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.city" :msg="v$.formData.city.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<select ref="state" v-model="v$.formData.state.$model" >
|
||||
<option value="">Please select state</option>
|
||||
<option :key="item.id" v-for="item in stateList" :value="item.id">
|
||||
{{ item.value }}
|
||||
</option>
|
||||
</select>
|
||||
<ValidationError :backend="errors.state" :msg="v$.formData.state.$errors"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
|
||||
<input
|
||||
ref="zip_code"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.zip_code}"
|
||||
placeholder="Zip Code"
|
||||
type="text"
|
||||
v-model="v$.formData.zip_code.$model"
|
||||
|
||||
/>
|
||||
<ValidationError :backend="errors.zip_code" :msg="v$.formData.zip_code.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.ssn}"
|
||||
placeholder="Last 4 digit of SSN"
|
||||
type="text"
|
||||
v-model="v$.formData.ssn.$model"
|
||||
:maxlength="4"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
/>
|
||||
<ValidationError :backend="errors.ssn" :msg="v$.formData.ssn.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text" >
|
||||
<div class="input-div buttons" style="text-align: left">
|
||||
<button type="button" value="Back" class="back_button" @click.prevent="backToProfile" >
|
||||
Back
|
||||
</button>
|
||||
</div>
|
||||
<div class="input-div buttons" style="text-align: left">
|
||||
<button :disabled="v$.formData.$invalid" type="submit" value="Next" class="next_button" >
|
||||
Next Step
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<SmartCreditPkg :package_id="formData.package_id" v-if="reportProvider === '3'" />
|
||||
|
||||
<IdentityIQPkg :package_id="formData.package_id" v-if="reportProvider === '1'" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<PaymentModal @close="closeModal" :data="prepareformData" v-if="isModalVisible" />
|
||||
|
||||
<!-- <modal :questionAnswer="questionList" v-if="isQuestionModalVisible && reportProvider === '3' " />-->
|
||||
</div>
|
||||
<Footer/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required, email, integer,minLength} from '@vuelidate/validators'
|
||||
import register from "./../../Api/register";
|
||||
import {
|
||||
getFormData,
|
||||
setCustomerToken,
|
||||
setFormData,
|
||||
setReferenceNumber,
|
||||
setStep,
|
||||
setTrackingToken,
|
||||
getLocalStorage,
|
||||
setLocalStorage,
|
||||
unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import state from "../../helper/state";
|
||||
import pkg from "../../helper/package";
|
||||
import SmartCreditLogo from "./SmartCreditLogo";
|
||||
import SmartCreditPkg from "./SmartCreditPkg";
|
||||
import modal from "./modal";
|
||||
import PaymentModal from "./PaymentModal.vue";
|
||||
import store from "../../store";
|
||||
import Footer from "./Footer.vue";
|
||||
import IdentityIQPkg from "./IdentityIQPkg";
|
||||
import reportProviders from "../../helper/report_provider"
|
||||
import IdentityIqLogo from "./IdentityIqLogo.vue";
|
||||
|
||||
export default {
|
||||
components: {IdentityIqLogo, SmartCreditPkg, SmartCreditLogo,PaymentModal,modal,Footer,IdentityIQPkg },
|
||||
setup() {
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
reportProvider: REPORT_PROVIDER,
|
||||
prepareformData:{},
|
||||
formData: {
|
||||
full_name:"",
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
street_no: "",
|
||||
street_name: "",
|
||||
city: "",
|
||||
ssn: "",
|
||||
state: "",
|
||||
zip_code: "",
|
||||
phone: "",
|
||||
full_ssn:"",
|
||||
package_id: 0,
|
||||
birth_date:"",
|
||||
amount:0,
|
||||
question_id:"",
|
||||
answer:"",
|
||||
address:"",
|
||||
card_number:"",
|
||||
expiry:"",
|
||||
cvv_no:"",
|
||||
is_authorized:false
|
||||
},
|
||||
stateList: state,
|
||||
errors:{},
|
||||
message: [
|
||||
"All fields are required"
|
||||
],
|
||||
isButtonDisabled:false,
|
||||
disabled: 1,
|
||||
package: pkg,
|
||||
reportProviders:reportProviders,
|
||||
value: null,
|
||||
roleOptions:[],
|
||||
isOpen: false,
|
||||
min:4,
|
||||
isModalVisible: false,
|
||||
isQuestionModalVisible:false,
|
||||
questionList:null,
|
||||
appName : APP_NAME,
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
const userData = JSON.parse(getLocalStorage('formData')) || [];
|
||||
|
||||
this.formData.first_name = userData.first_name;
|
||||
this.formData.last_name = userData.last_name;
|
||||
this.formData.email = userData.email;
|
||||
this.formData.password = userData.password;
|
||||
this.formData.package_id = userData.package_id;
|
||||
this.formData.amount = userData.amount;
|
||||
this.formData.street_no= userData.street_no;
|
||||
this.formData.street_name=userData.street_name;
|
||||
this.formData.city=userData.city;
|
||||
this.formData.ssn=userData.ssn;
|
||||
this.formData.full_ssn= userData.full_ssn;
|
||||
this.formData.state=userData.state??'';
|
||||
this.formData.zip_code=userData.zip_code;
|
||||
this.formData.phone=userData.phone;
|
||||
this.formData.package_id=2;
|
||||
this.formData.birth_date=userData.birth_date;
|
||||
this.formData.amount = pkg.prices[this.formData.package_id];
|
||||
this.formData.source_type = 1;
|
||||
},
|
||||
methods: {
|
||||
async makePayment() {
|
||||
const subscription_info = await register.reportProviderValidsation(this.formData);
|
||||
if(subscription_info.status_code === 100) {
|
||||
const data = await register.customerCreateAndUpdate(this.formData);
|
||||
if (data.status_code == "100") {
|
||||
unsetLocalStorage('formData');
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
} else {
|
||||
this.message = [data.message];
|
||||
this.errors = data.data
|
||||
}
|
||||
}else {
|
||||
this.message = [subscription_info.message];
|
||||
this.errors = subscription_info.data
|
||||
}
|
||||
},
|
||||
toggle: function (refId) {
|
||||
let attribute = "readonly"
|
||||
if (refId === "state") {
|
||||
attribute = "disabled"
|
||||
}
|
||||
this.$refs[refId].toggleAttribute(attribute)
|
||||
},
|
||||
backToProfile:function (){
|
||||
setStep(1);
|
||||
router.push({name: 'create-account'});
|
||||
},
|
||||
checkTermsAndService(e){
|
||||
if(e.target.checked){
|
||||
this.formData.is_authorized=e.target.checked;
|
||||
}
|
||||
else {
|
||||
this.formData.is_authorized=null;
|
||||
}
|
||||
},
|
||||
ssnCompleted(e) {
|
||||
// if(this.formData.full_ssn.length === 3 || this.formData.full_ssn.length === 6) {
|
||||
// this.formData.full_ssn += '-';
|
||||
// }
|
||||
// if(this.formData.full_ssn.length === 11){
|
||||
// this.formData.ssn = this.formData.full_ssn.substring( 7, 11 );
|
||||
// }
|
||||
|
||||
if(this.formData.full_ssn.length === 4){
|
||||
this.formData.ssn = this.formData.full_ssn;
|
||||
}
|
||||
},
|
||||
birthDateCompleted(e) {
|
||||
if(this.formData.birth_date.length===2 || this.formData.birth_date.length===5){
|
||||
this.formData.birth_date+='/';
|
||||
}
|
||||
},
|
||||
showModal() {
|
||||
this.isModalVisible = true;
|
||||
},
|
||||
closeModal(data) {
|
||||
this.isModalVisible = false;
|
||||
if(typeof(data.order_id) !== "undefined") {
|
||||
this.showQuestionModal(data);
|
||||
}
|
||||
|
||||
},
|
||||
showQuestionModal(data) {
|
||||
this.questionList = data;
|
||||
this.isQuestionModalVisible = true;
|
||||
},
|
||||
closeQuestionModal() {
|
||||
this.isQuestionModalVisible = false;
|
||||
},
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required},
|
||||
last_name: {required},
|
||||
email: {required, email},
|
||||
password: {required},
|
||||
street_no: {required},
|
||||
street_name: {required},
|
||||
city: {required},
|
||||
ssn: {required,minLength:minLength(4)},
|
||||
state: {required},
|
||||
zip_code: {required},
|
||||
phone: {required},
|
||||
full_ssn: {required,minLength:minLength(this.min)},
|
||||
birth_date: {required},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container .card {
|
||||
width: 1300px;
|
||||
}
|
||||
|
||||
.input-text {
|
||||
margin: 15px 0;
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.container .card .form {
|
||||
background-image: unset;
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
width: 25%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #8ba8e0 0%, #4e74f2 100%);
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 20px !important;
|
||||
border-top-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-top-left-radius: 20px !important;
|
||||
border-top-right-radius: 20px !important;
|
||||
border-bottom-left-radius: 0px !important;
|
||||
border-bottom-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
.smart-credit-pkg {
|
||||
width: 100%;
|
||||
padding-top: 1%;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
152
resources/js/components/partials/ChoosePackage.vue
Normal file
152
resources/js/components/partials/ChoosePackage.vue
Normal file
@@ -0,0 +1,152 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>Creditzombies</h3>
|
||||
</div>
|
||||
<Step step="3"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<div class="main active" style="padding: 30px 40px 0px 20px">
|
||||
<TopArea/>
|
||||
</div>
|
||||
<div class="row" style="padding:10px 20px">
|
||||
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
||||
<div @click="getPackage(1)" class="listing listing-radius listing-primary package-1" :class="{'listing-highlight':is_highlight1}">
|
||||
<div class="shape">
|
||||
<div class="shape-text">Best offer</div>
|
||||
</div>
|
||||
<div class="listing-content">
|
||||
<h3 class="lead text-white text-bold">SmartCredit</h3>
|
||||
<p class="text-white text-bold">${{ package.prices[1] }} (Basic)</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
||||
<div @mouseover="toggleClassForPackage" @click="getPackage(2)" class="listing listing-radius listing-success">
|
||||
<div class="shape">
|
||||
<div class="shape-text">50%</div>
|
||||
</div>
|
||||
<div class="listing-content">
|
||||
<h3 class="lead text-success text-bold">SmartCredit</h3>
|
||||
<p class="text-success text-bold">${{ package.prices[2] }} (Premium)</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
||||
<div @mouseover="toggleClassForPackage" @click="getPackage(3)" class="listing listing-danger listing-radius">
|
||||
<div class="shape">
|
||||
<div class="shape-text">hot</div>
|
||||
</div>
|
||||
<div class="listing-content">
|
||||
<h3 class="lead text-danger text-bold">Identity IQ</h3>
|
||||
<p class="text-danger text-bold">Unavailable at this time
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
import {setAmount, setPackageId, setStep} from "../../helper";
|
||||
import router from "../../router";
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
is_highlight1:true
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
toggleClassForPackage(){
|
||||
this.is_highlight1 = false
|
||||
},
|
||||
conditionalAlert(message,package_id){
|
||||
this.$swal({
|
||||
title: 'Warning',
|
||||
text: message,
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
setStep(5);
|
||||
setPackageId(package_id)
|
||||
setAmount(this.package.prices[package_id])
|
||||
router.push({name: 'make-payment'})
|
||||
}
|
||||
});
|
||||
},
|
||||
getPackage(package_id) {
|
||||
if(package_id == 3){
|
||||
this.$swal(
|
||||
"Currently this package is not available",
|
||||
"",
|
||||
"warning"
|
||||
)
|
||||
}else {
|
||||
this.conditionalAlert("Are you sure want to take the $"+this.package.prices[package_id]+ ' ('+this.package.labels[package_id]+") package?", package_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@import '../../../css/credit_report.css';
|
||||
|
||||
.container .card {
|
||||
height: 600px;
|
||||
}
|
||||
|
||||
.listing{
|
||||
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
}
|
||||
.text-white{
|
||||
color: white;
|
||||
}
|
||||
.package-1{
|
||||
background-color: #FF440A;
|
||||
}
|
||||
|
||||
.listing-highlight{
|
||||
-webkit-transform: scale(1.1);
|
||||
transition: all 0.4s ease-in-out;
|
||||
}
|
||||
.package-1 .shape {
|
||||
border-style: solid;
|
||||
border-width: 0 100px 55px 0;
|
||||
float: right;
|
||||
height: 0;
|
||||
width: 0;
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
|
||||
.package-1 .shape-text {
|
||||
color: #FF440A;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
right: -45px;
|
||||
top: -2px;
|
||||
white-space: nowrap;
|
||||
transform: rotate(28deg);
|
||||
}
|
||||
|
||||
.package-1.listing-primary .shape{
|
||||
border-color: transparent #fff transparent transparent;
|
||||
}
|
||||
</style>
|
||||
239
resources/js/components/partials/CreateAccount.vue
Normal file
239
resources/js/components/partials/CreateAccount.vue
Normal file
@@ -0,0 +1,239 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>{{company_Name}}</h3>
|
||||
</div>
|
||||
<Step step="1"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent="createAccount" autocomplete="off" class="form-element was-validated form-element--login" method="post" id="createAccountForm"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea/>
|
||||
<div class="text">
|
||||
<h3>Creating your account only takes a few seconds.</h3>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<div class="text" v-if="isButtonDisabled">
|
||||
<p class="error-text">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-else-if="errorMsg.message">
|
||||
<p class="error-text">{{errorMsg.message[0]}}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="First Name"
|
||||
name="first_name"
|
||||
:backend="errors.first_name"
|
||||
:errors="v$.formData.first_name.$errors"
|
||||
v-model="formData.first_name"
|
||||
:rules="['required']"
|
||||
:className="{'warning':errors.first_name}"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Last Name"
|
||||
name="last_name"
|
||||
:backend="errors.last_name"
|
||||
v-model="formData.last_name"
|
||||
:errors="v$.formData.last_name.$errors"
|
||||
:rules="['required']"
|
||||
:className="{'warning':errors.last_name}"
|
||||
/>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Email"
|
||||
v-model="formData.email"
|
||||
:errors="v$.formData.email.$errors"
|
||||
:rules="['required','email']"
|
||||
:className="{'warning':errors.email}"
|
||||
/>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input
|
||||
type="password"
|
||||
placeholder="Password"
|
||||
:backend="errors.password"
|
||||
v-model="formData.password"
|
||||
:errors="v$.formData.password.$errors"
|
||||
:rules="['required','password']"
|
||||
:className="{'warning':errors.password}"
|
||||
/>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<VueRecaptcha
|
||||
:sitekey="siteKey"
|
||||
:load-recaptcha-script="true"
|
||||
@verify="handleSuccess"
|
||||
@error="handleError"
|
||||
/>
|
||||
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input type="checkbox" v-model="formData.is_click_acknowledge" @change.prevent="checkClickAcknowledge($event)">
|
||||
<span style="font-weight:bold;color:purple;font-size: 12px;margin-top:5px">
|
||||
By clicking on the "Next " button on the left, I acknowledge that I have read the Service Agreement, <a href="/terms-of-service" target="_blank">Terms of Use</a> and <a href="/terms-of-service" target="_blank">Privacy Policy</a> , and that I agree to their terms.
|
||||
</span>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button :disabled="v$.formData.$invalid" type="submit" value="Next" class="next_button">Next Step</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<Footer/>
|
||||
</template>
|
||||
<script>
|
||||
import register from "@/Api/register";
|
||||
import {
|
||||
setStep,
|
||||
setUserEmail,
|
||||
setUserId,
|
||||
setSecurityKey,
|
||||
setPackageId,
|
||||
setAmount,
|
||||
setUserLastName,
|
||||
getPackageId,
|
||||
setUserFirstName,
|
||||
setUserPassword,
|
||||
getUserFirstName,
|
||||
getUserLastName,
|
||||
getUserPassword,
|
||||
getUserEmail,
|
||||
getUserId, getLocalStorage,setLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import { VueRecaptcha } from 'vue-recaptcha';
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import { required, email } from '@vuelidate/validators'
|
||||
import { GOOGLE_CAPTCHA_SITEKEY } from "../../config/constants";
|
||||
import pkg from "../../helper/package";
|
||||
import Footer from "./Footer.vue";
|
||||
|
||||
export default {
|
||||
components: {VueRecaptcha,Footer},
|
||||
setup() {
|
||||
return {v$: useVuelidate()};
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
formData:{
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
captcha:"",
|
||||
is_click_acknowledge:null
|
||||
},
|
||||
siteKey:GOOGLE_CAPTCHA_SITEKEY,
|
||||
message:"",
|
||||
errors:{},
|
||||
errorMsg:{},
|
||||
isButtonDisabled:true,
|
||||
package:pkg,
|
||||
appName : APP_NAME,
|
||||
company_Name: COMPANY_NAME
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
const userData = JSON.parse(getLocalStorage('formData'))|| [];
|
||||
this.formData.first_name = userData.first_name;
|
||||
this.formData.last_name = userData.last_name;
|
||||
this.formData.email = userData.email;
|
||||
this.formData.password = userData.password;
|
||||
},
|
||||
|
||||
methods:{
|
||||
|
||||
handleSuccess(response){
|
||||
if(response) {
|
||||
this.formData.captcha = response;
|
||||
}
|
||||
},
|
||||
handleError(){
|
||||
this.formData.captcha = "";
|
||||
},
|
||||
async createAccount(){
|
||||
const result = await register.createAccount(this.formData);
|
||||
this.errors = {};
|
||||
this.errorMsg = {};
|
||||
if (result.status_code == 100) {
|
||||
setLocalStorage('formData', JSON.stringify(this.formData));
|
||||
setStep(2);
|
||||
router.push({name: 'add-profile'});
|
||||
} else {
|
||||
this.errors = result.data
|
||||
|
||||
if(result.status_code == 400)
|
||||
{
|
||||
this.errorMsg.message = [result.message];
|
||||
}else {
|
||||
if (this.errors?.email) {
|
||||
this.errorMsg.message = this.errors?.email;
|
||||
}else if (this.errors?.password) {
|
||||
this.errorMsg.message = this.errors?.password;
|
||||
} else {
|
||||
this.errorMsg.message = this.errors?.captcha;
|
||||
}
|
||||
}
|
||||
if (this.errorMsg.message){
|
||||
this.isButtonDisabled = false
|
||||
}
|
||||
}
|
||||
},
|
||||
checkClickAcknowledge(e){
|
||||
if(e.target.checked){
|
||||
this.formData.is_click_acknowledge=e.target.checked;
|
||||
}
|
||||
else {
|
||||
this.formData.is_click_acknowledge=null;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
validations () {
|
||||
this.errors = {};
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required},
|
||||
last_name: {required},
|
||||
email:{required,email},
|
||||
password:{required},
|
||||
is_click_acknowledge:{required}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.error-text {
|
||||
color: red;
|
||||
text-align: center
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
213
resources/js/components/partials/CreateCreditReportAccount.vue
Normal file
213
resources/js/components/partials/CreateCreditReportAccount.vue
Normal file
@@ -0,0 +1,213 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>Creditzombies</h3>
|
||||
</div>
|
||||
<Step step="3"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent autocomplete="off" class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea/>
|
||||
<div class="text">
|
||||
<h2>Please input your smart credit email and password</h2>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<div class="text" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="errorMsg.message">
|
||||
<p style="color:red;text-align:center">{{errorMsg.message[0]}}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="editable('fname')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
:readonly="inputReadOnly.fname"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.first_name}"
|
||||
placeholder="First Name"
|
||||
type="text"
|
||||
v-model="formData.first_name"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.first_name"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="editable('lname')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
:readonly="inputReadOnly.lname"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.last_name}"
|
||||
placeholder="Last Name"
|
||||
type="text"
|
||||
v-model="formData.last_name"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.last_name"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="editable('email')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
:readonly="inputReadOnly.email"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.email}"
|
||||
placeholder="Email"
|
||||
type="text"
|
||||
v-model="formData.email"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.email"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.password}"
|
||||
placeholder="Password"
|
||||
type="password"
|
||||
v-model="formData.password"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.password"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="buttons" style="text-align: center">
|
||||
<button :disabled="isButtonDisabled" @click="importCreditReport" type="button" value="Next" class="next_button">Import Credit Report</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import useFormValidation from "@/Validation/useFormValidation";
|
||||
import useSubmitButtonState from "@/Validation/useSubmitButtonState";
|
||||
import register from "@/Api/register";
|
||||
import {inject, onMounted, reactive, ref} from "vue";
|
||||
import state from "../../helper/state";
|
||||
import {getPackageId, getUserEmail, getUserId, setStep} from "../../helper";
|
||||
import router from "../../router";
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
|
||||
const swal = inject('$swal');
|
||||
let formData = ref({
|
||||
"first_name": "",
|
||||
"last_name": "",
|
||||
"email": "",
|
||||
"password": ""
|
||||
})
|
||||
|
||||
let inputReadOnly = ref({
|
||||
"fname":true,
|
||||
"lname":true,
|
||||
"email":true
|
||||
})
|
||||
const stateList = state;
|
||||
|
||||
const errorMsg = reactive({
|
||||
"message":""
|
||||
})
|
||||
let success = {}
|
||||
|
||||
let {errors} = useFormValidation();
|
||||
// let {isButtonDisabled} = useSubmitButtonState(formData, errors);
|
||||
let isButtonDisabled = ref(true)
|
||||
const validateInput = () =>{
|
||||
let f = formData.value;
|
||||
let count = 0;
|
||||
isButtonDisabled.value = true
|
||||
if(f.first_name){
|
||||
count++
|
||||
}
|
||||
|
||||
if(f.last_name){
|
||||
count++
|
||||
}
|
||||
|
||||
if(f.email){
|
||||
count++
|
||||
}
|
||||
|
||||
if(f.password){
|
||||
count++
|
||||
}
|
||||
|
||||
if(count == 4){
|
||||
isButtonDisabled.value = false
|
||||
}
|
||||
|
||||
}
|
||||
const editable = (value) =>{
|
||||
inputReadOnly.value[value] = !inputReadOnly.value[value]
|
||||
}
|
||||
const importCreditReport = async () => {
|
||||
if(isButtonDisabled){
|
||||
const params = {
|
||||
"email":formData.value.email,
|
||||
"password":formData.value.password,
|
||||
"package_id":getPackageId(),
|
||||
"user_id":getUserId()
|
||||
}
|
||||
const response = await register.importCreditReportByEmail(params)
|
||||
if(response.status_code == 100){
|
||||
router.push({name:"success"})
|
||||
}else{
|
||||
swal(
|
||||
response.message,
|
||||
"",
|
||||
"warning"
|
||||
)
|
||||
}
|
||||
console.log('response',response)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
console.log('errors',errors,isButtonDisabled)
|
||||
|
||||
onMounted(async ()=>{
|
||||
let email = getUserEmail()
|
||||
const userInfo = await register.getUserInfo()
|
||||
if(userInfo.status_code == 100){
|
||||
formData.value = userInfo.data
|
||||
}
|
||||
})
|
||||
console.log('count',isButtonDisabled)
|
||||
console.log('userInfo',formData)
|
||||
return {validateInput,editable,inputReadOnly, formData,errors,importCreditReport, isButtonDisabled,stateList,errorMsg };
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.next_button{
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.container .card {
|
||||
height: 550px;
|
||||
}
|
||||
</style>
|
||||
35
resources/js/components/partials/Footer.vue
Normal file
35
resources/js/components/partials/Footer.vue
Normal file
@@ -0,0 +1,35 @@
|
||||
<template>
|
||||
<div class="panel panel-default" style="text-align: center;padding: 10px">
|
||||
<strong>
|
||||
Secure SSL Area | This website is protected by secure portal © 2025 Clickletters LLC/M2C Academy LLC. All rights reserved.
|
||||
</strong>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import useVuelidate from "@vuelidate/core";
|
||||
|
||||
export default {
|
||||
|
||||
name: 'Footer',
|
||||
setup() {
|
||||
return {v$: useVuelidate()};
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
},
|
||||
|
||||
validations() {
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
78
resources/js/components/partials/IdentityIQPkg.vue
Normal file
78
resources/js/components/partials/IdentityIQPkg.vue
Normal file
@@ -0,0 +1,78 @@
|
||||
<template>
|
||||
<div class="smart-credit-pkg">
|
||||
<div class="link-area">
|
||||
<a :href="`${app_base_url}/login`">
|
||||
Already a member? Log In
|
||||
</a>
|
||||
</div>
|
||||
<div style="margin-top: 40%;" class="report-card p-3 report-card--best report-card__aside mt-5 report-card--info">
|
||||
<div class="report-card__header pb-3">
|
||||
<h5>
|
||||
<strong>
|
||||
<img :src="`${img_url}`" alt="SmartCredit" class="provider-logo">
|
||||
{{package.labels[package_id]}}
|
||||
</strong>
|
||||
</h5>
|
||||
</div>
|
||||
<!-- <div class="report-card__price p-2">-->
|
||||
|
||||
<!-- <h4> ${{package.prices[package_id]}}/mo </h4>-->
|
||||
<!-- <span> Cancel Anytime </span>-->
|
||||
|
||||
<!-- </div>-->
|
||||
<div class="report-card__points py-2 pt-3">
|
||||
<ul class="points">
|
||||
<li>
|
||||
<i class="fas fa-check-circle"></i>
|
||||
<strong> Unlimited {{company_Name}} Challenges/Letter Attacks </strong>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="report-card__points py-2">
|
||||
<ul class="points" >
|
||||
<li v-for="subitem in reportProviders.IdentityIQPoints"><i class="fas fa-check-circle"></i> {{subitem}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="report-card__text py-2">
|
||||
<p>
|
||||
Includes Full 6 Wave attacks,
|
||||
that will allow you to effectively and efficiently
|
||||
challenge all inaccurate negative items
|
||||
with a click of a button in 45 seconds or less.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="report-card__action">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
import reportProviders from "../../helper/report_provider";
|
||||
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
},
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
reportProviders : reportProviders,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
@import url("./../../../css/smartcredit.css");
|
||||
|
||||
</style>
|
||||
24
resources/js/components/partials/IdentityIqLogo.vue
Normal file
24
resources/js/components/partials/IdentityIqLogo.vue
Normal file
@@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div class="smart-credit-logo">
|
||||
<img :src="`${img_url}`" class="provider-logo" alt="">
|
||||
<strong> {{ package.labels[package_id] }}</strong>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
image_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
471
resources/js/components/partials/MakePayment.vue
Normal file
471
resources/js/components/partials/MakePayment.vue
Normal file
@@ -0,0 +1,471 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>Creditzombies</h3>
|
||||
</div>
|
||||
<Step step="3"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent="makePayment" autocomplete="off"
|
||||
class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea :is_show_login="false"/>
|
||||
<div class="text">
|
||||
<h2> Credit Counsel Elite Partnered with SmartCredit</h2>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<SmartCreditLogo :package_id="formData.package_id" />
|
||||
<div class="text" style="margin-top: 10px" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="message">
|
||||
<p style="color:red;text-align:center">{{ message[0] }}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="first_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.first_name.$errors.length}"
|
||||
placeholder="First Name"
|
||||
type="text"
|
||||
v-model="formData.first_name"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.first_name"
|
||||
:msg="v$.formData.first_name.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="last_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.last_name.$errors.length}"
|
||||
placeholder="Last Name"
|
||||
type="text"
|
||||
v-model="v$.formData.last_name.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.last_name" :msg="v$.formData.last_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="email"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.email}"
|
||||
placeholder="Email"
|
||||
type="text"
|
||||
v-model="v$.formData.email.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.email" :msg="v$.formData.email.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="password"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.password}"
|
||||
placeholder="Password"
|
||||
type="password"
|
||||
v-model="v$.formData.password.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.password" :msg="v$.formData.password.$errors"/>
|
||||
</div>
|
||||
<div class="input-div" >
|
||||
<input
|
||||
ref="phone"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.phone}"
|
||||
placeholder="Phone, e,g. 954-604-4220"
|
||||
type="text"
|
||||
v-model="v$.formData.phone.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.phone" :msg="v$.formData.phone.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="full_ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.full_ssn}"
|
||||
placeholder="Full SSN e.g, 555-55-5555"
|
||||
type="text"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
v-model="v$.formData.full_ssn.$model"
|
||||
:maxlength="min"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.full_ssn" :msg="v$.formData.full_ssn.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="birth_date"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.birth_date}"
|
||||
placeholder="Birth Date e.g, mm/dd/yyyy"
|
||||
type="text"
|
||||
v-model="v$.formData.birth_date.$model"
|
||||
@keyup.prevent="birthDateCompleted($event)"
|
||||
:maxlength="10"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.birth_date" :msg="v$.formData.birth_date.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_no"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_no}"
|
||||
placeholder="Street No."
|
||||
type="text"
|
||||
v-model="v$.formData.street_no.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.street_no" :msg="v$.formData.street_no.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_name}"
|
||||
placeholder="Street Name"
|
||||
type="text"
|
||||
v-model="v$.formData.street_name.$model"
|
||||
:readonly="disabled == 1"
|
||||
|
||||
/>
|
||||
<ValidationError :backend="errors.street_name"
|
||||
:msg="v$.formData.street_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="city"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.city}"
|
||||
placeholder="City"
|
||||
type="text"
|
||||
v-model="v$.formData.city.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.city" :msg="v$.formData.city.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<select ref="state" v-model="v$.formData.state.$model" :aria-readonly="disabled">
|
||||
<option value="">Please select state</option>
|
||||
<option :key="item.id" v-for="item in stateList" :value="item.id">
|
||||
{{ item.value }}
|
||||
</option>
|
||||
</select>
|
||||
<ValidationError :backend="errors.state" :msg="v$.formData.state.$errors"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="zip_code"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.zip_code}"
|
||||
placeholder="Zip Code"
|
||||
type="text"
|
||||
v-model="v$.formData.zip_code.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.zip_code" :msg="v$.formData.zip_code.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.ssn}"
|
||||
placeholder="SSN"
|
||||
type="text"
|
||||
v-model="v$.formData.ssn.$model"
|
||||
:maxlength="4"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.ssn" :msg="v$.formData.ssn.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p>Provide Card Information</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.card_number}"
|
||||
placeholder="Card Number"
|
||||
type="text"
|
||||
v-model="v$.formData.card_number.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.card_number"
|
||||
:msg="v$.formData.card_number.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.expiry}"
|
||||
placeholder="Expiry e.g mm/yy"
|
||||
type="text"
|
||||
v-model="v$.formData.expiry.$model"
|
||||
@keyup.prevent="cardExpiryCompleted($event)"
|
||||
:maxlength="5"
|
||||
/>
|
||||
<ValidationError :backend="errors.expiry" :msg="v$.formData.expiry.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.amount}"
|
||||
placeholder="Amount"
|
||||
type="text"
|
||||
v-model="v$.formData.amount.$model"
|
||||
disabled="disabled"
|
||||
/>
|
||||
<ValidationError :backend="errors.amount" :msg="v$.formData.amount.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text" style="gap:5px">
|
||||
<input type="checkbox" v-model="formData.is_authorized" @change.prevent="checkTermsAndService($event)">
|
||||
<span style="font-weight:bold;color:purple;font-size: 12px;margin-top:15px">
|
||||
Yes I have read the <a href="/terms-of-service" target="_blank">SmartCredit terms of services</a> for this purchase and I totally Agree and Authorize this Charge of ${{ formData.amount }}</span>
|
||||
</div>
|
||||
<div class="input-text" >
|
||||
<div class="input-div buttons" style="text-align: center">
|
||||
<button :disabled="v$.formData.$invalid" ref="purchase-btn" type="submit" value="Next" class="next_button" >
|
||||
Purchase
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<SmartCreditPkg :package_id="formData.package_id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required, email, integer,minLength} from '@vuelidate/validators'
|
||||
import register from "./../../Api/register";
|
||||
import {
|
||||
getFormData, getLocalStorage,
|
||||
getPackageId, getUserQuestionAnswer,
|
||||
setStep,
|
||||
setUserId, unsetFormData, unsetUserQuestionAnswer,unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import state from "../../helper/state";
|
||||
import pkg from "../../helper/package";
|
||||
import SmartCreditLogo from "./SmartCreditLogo";
|
||||
import SmartCreditPkg from "./SmartCreditPkg";
|
||||
export default {
|
||||
components: {SmartCreditPkg, SmartCreditLogo },
|
||||
setup() {
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
is_disable:true,
|
||||
formData: {
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
street_no: "",
|
||||
street_name: "",
|
||||
city: "",
|
||||
ssn: "",
|
||||
state: "",
|
||||
zip_code: "",
|
||||
phone: "",
|
||||
card_number: "",
|
||||
full_ssn:"",
|
||||
expiry: "",
|
||||
amount: "",
|
||||
package_id: 0,
|
||||
birth_date:"",
|
||||
is_authorized: null,
|
||||
// questionList:[]
|
||||
|
||||
},
|
||||
stateList: state,
|
||||
errors: {},
|
||||
message: [
|
||||
"All fields are required"
|
||||
],
|
||||
disabled: 1,
|
||||
package: pkg,
|
||||
value: null,
|
||||
roleOptions:[],
|
||||
isOpen: false,
|
||||
min:11
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
const userData = JSON.parse(getLocalStorage('formData')) || [];
|
||||
this.formData.first_name = userData.first_name;
|
||||
this.formData.last_name = userData.last_name;
|
||||
this.formData.email = userData.email;
|
||||
this.formData.password = userData.password;
|
||||
this.formData.package_id = userData.package_id;
|
||||
this.formData.amount = userData.amount;
|
||||
this.formData.street_no= userData.street_no;
|
||||
this.formData.street_name=userData.street_name;
|
||||
this.formData.city=userData.city;
|
||||
this.formData.ssn=userData.ssn;
|
||||
this.formData.full_ssn=userData.full_ssn;
|
||||
this.formData.state=userData.state;
|
||||
this.formData.zip_code=userData.zip_code;
|
||||
this.formData.phone=userData.phone;
|
||||
this.formData.package_id=userData.package_id;
|
||||
this.formData.birth_date=userData.birth_date;
|
||||
|
||||
this.$refs['state'].toggleAttribute("disabled")
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
async makePayment() {
|
||||
this.$refs['purchase-btn'].toggleAttribute("disabled")
|
||||
this.errors = {};
|
||||
const data = await register.makePayment(this.formData);
|
||||
if (data.status_code == "100") {
|
||||
unsetLocalStorage('formData');
|
||||
setUserId(data.data.id);
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
} else {
|
||||
this.message[0] = data.message;
|
||||
}
|
||||
},
|
||||
toggle: function (refId) {
|
||||
let attribute = "readonly"
|
||||
if (refId === "state") {
|
||||
attribute = "disabled"
|
||||
}
|
||||
this.$refs[refId].toggleAttribute(attribute)
|
||||
},
|
||||
backToProfile:function (){
|
||||
setStep(2);
|
||||
router.push({name: 'add-profile'});
|
||||
},
|
||||
checkTermsAndService(e){
|
||||
if(e.target.checked){
|
||||
this.formData.is_authorized=e.target.checked;
|
||||
}
|
||||
else {
|
||||
this.formData.is_authorized=null;
|
||||
}
|
||||
},
|
||||
ssnCompleted(e) {
|
||||
if(this.formData.full_ssn.length === 3 || this.formData.full_ssn.length === 6) {
|
||||
this.formData.full_ssn += '-';
|
||||
}
|
||||
if(this.formData.full_ssn.length === 11){
|
||||
this.formData.ssn = this.formData.full_ssn.substring( 7, 11 );
|
||||
}
|
||||
},
|
||||
birthDateCompleted(e) {
|
||||
if(this.formData.birth_date.length===2 ||this.formData.birth_date.length===5){
|
||||
this.formData.birth_date+='/';
|
||||
}
|
||||
},
|
||||
cardExpiryCompleted(e){
|
||||
if(this.formData.expiry.length===2){
|
||||
this.formData.expiry+='/';
|
||||
}
|
||||
}
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required}, // Matches this.firstName
|
||||
last_name: {required},
|
||||
email: {required, email},
|
||||
password: {required},
|
||||
card_number: {required},
|
||||
street_no: {required},
|
||||
street_name: {required},
|
||||
city: {required},
|
||||
ssn: {required,minLength:minLength(4)},
|
||||
state: {required},
|
||||
zip_code: {required},
|
||||
phone: {required},
|
||||
expiry: {required},
|
||||
amount: {required},
|
||||
full_ssn: {required,minLength:minLength(this.min)},
|
||||
birth_date: {required},
|
||||
is_authorized:{required}
|
||||
// questionList: {required}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container .card {
|
||||
width: 1300px;
|
||||
}
|
||||
|
||||
.input-text {
|
||||
margin: 15px 0;
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.container .card .form {
|
||||
background-image: unset;
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
width: 25%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #8ba8e0 0%, #4e74f2 100%);
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 50%;
|
||||
}
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 20px !important;
|
||||
border-top-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-top-left-radius: 20px !important;
|
||||
border-top-right-radius: 20px !important;
|
||||
border-bottom-left-radius: 0px !important;
|
||||
border-bottom-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
.smart-credit-pkg {
|
||||
width: 100%;
|
||||
padding-top: 1%;
|
||||
padding-right: 0px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
430
resources/js/components/partials/PaymentModal.vue
Normal file
430
resources/js/components/partials/PaymentModal.vue
Normal file
@@ -0,0 +1,430 @@
|
||||
<template>
|
||||
<div class="modal-backdrop" id="payment-modal-view">
|
||||
<div class="modal">
|
||||
<section class="modal-body" >
|
||||
<slot name="body">
|
||||
<form @submit.prevent="paymentFormSubmit" autocomplete="off"
|
||||
class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="row body" id="payment-modal">
|
||||
<div class="center">
|
||||
|
||||
<div class="payment-container">
|
||||
<div class="row">
|
||||
<div class="col-50 text" style="text-align: center;" v-if="message">
|
||||
<p style="color:red;text-align:center;margin-top: -20px">{{ message[0] }}</p>
|
||||
</div>
|
||||
<button type="button" class="close" style="width: 20px;height: 20px;"
|
||||
@click.prevent="closePaymentModal"> X
|
||||
</button>
|
||||
</div>
|
||||
<div class="row header-panel">
|
||||
<ScPartnerCzLogo/>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p class="top-text">$24.97/mo Cancel Anytime</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<h3 class="text-center-sm" style="padding-bottom: 10px;">Billing Information</h3>
|
||||
<label for="fname" class="text-center-sm">Customer Information</label>
|
||||
<label for="fname"><i class="fa fa-user"></i> Full Name</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Full Name"
|
||||
name="firstname"
|
||||
:backend="errors.full_name"
|
||||
v-model="data.full_name"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.full_name}"
|
||||
/>
|
||||
<!-- <label class="text-warning" v-text="errors.full_name"></label>-->
|
||||
<!-- <ValidationError :backend="errors.full_name" :msg="v$.formData.full_name.$errors"/>-->
|
||||
<!-- <input type="text" id="fname" name="firstname" placeholder="John M. Doe">-->
|
||||
<label for="email"><i class="fa fa-envelope"></i> Email</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="john@example.com"
|
||||
name="email"
|
||||
:backend="errors.email"
|
||||
v-model="data.email"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.email}"
|
||||
/>
|
||||
<div v-if="errors.email" class="invalid-feedback">
|
||||
{{errors.email[0]}}
|
||||
</div>
|
||||
|
||||
<label for="city"><i class="fa fa-institution"></i> City</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="New York"
|
||||
name="city"
|
||||
:backend="errors.city"
|
||||
v-model="data.city"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.city}"
|
||||
/>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<label for="state">State</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="NY"
|
||||
name="state"
|
||||
:backend="errors.state"
|
||||
v-model="data.state"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.state}"
|
||||
/>
|
||||
|
||||
<!-- <label class="text-warning" v-text="errors.state"></label>-->
|
||||
<!-- <ValidationError :backend="errors.state" :msg="v$.formData.state.$errors"/>-->
|
||||
<!-- <input type="text" id="state" name="state" placeholder="NY">-->
|
||||
</div>
|
||||
<div class="col-50">
|
||||
<label for="zip">Zip</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="10001"
|
||||
name="zip_code"
|
||||
:backend="errors.zip_code"
|
||||
v-model="data.zip_code"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.zip_code}"
|
||||
/>
|
||||
<!-- <ValidationError :backend="errors.state" :msg="v$.data.state.$errors"/>-->
|
||||
<!-- <input type="text" id="zip" name="zip" placeholder="10001">-->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <label class="text-warning" v-text="errors.city"></label>-->
|
||||
<!-- <ValidationError :backend="errors.city" :msg="v$.formData.city.$errors"/>-->
|
||||
<!-- <input type="text" id="city" name="city" placeholder="New York">-->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-50">
|
||||
<h3 class="text-center-sm" style="margin-bottom: 10px;">Payment</h3>
|
||||
<label for="fname" class="text-center-sm">Accepted Cards</label>
|
||||
<div class="text-center-sm" style="margin-bottom: 10px">
|
||||
<img :src="`${app_base_url}/img/card.png`"
|
||||
alt="card" class="provider-logo" style="height: 40px">
|
||||
</div>
|
||||
<label for="ccnum">Credit card number</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.card_number}"
|
||||
|
||||
placeholder="e.g, 4111111111111111"
|
||||
type="text"
|
||||
v-model="data.card_number"
|
||||
/>
|
||||
<!-- <label class="text-warning" v-text="errors.card_number"></label>-->
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<label for="expyear">Expiry</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.expiry}"
|
||||
placeholder="e.g, DD/YY"
|
||||
type="text"
|
||||
v-model="data.expiry"
|
||||
@keyup.prevent="cardExpiryCompleted($event)"
|
||||
:maxlength="5"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-50">
|
||||
<label for="cvv">CVV</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.cvv_no}"
|
||||
placeholder="e.g, 352"
|
||||
type="text"
|
||||
v-model="data.cvv_no"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<label for="expmonth">Amount</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.amount}"
|
||||
placeholder="amount"
|
||||
type="text"
|
||||
disabled
|
||||
v-model="data.amount"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<p class="aggrement">
|
||||
<label class="terms-service-text">
|
||||
<input v-model="data.is_authorized" type="checkbox" @change.prevent="checkTermsAndService($event)" />
|
||||
Yes I have read the <a href="/terms-of-service" target="_blank"> <span v-if="reportProvider === '3'">SmartCredit</span> <span v-if="reportProvider === '1'">{{ company_Name }}</span> terms of services</a> for this purchase and I totally Agree and Authorize this Charge of ${{ data.amount }}
|
||||
</label>
|
||||
<span style="color:red;font-size: 12px" v-if="message">{{ message[1] }}</span>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-50 text bottom-panel">
|
||||
<button type="submit" value="Pay" class="btn btn2" style="width:unset;">Pay</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<div class="col-50 bottom-panel">
|
||||
<img :src="`${app_base_url}/img/sequrity.png`"
|
||||
alt="security" class="provider-logo" style="height: 100px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</slot>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required, email, integer,minLength} from '@vuelidate/validators'
|
||||
import router from "../../router";
|
||||
import register from "../../Api/register";
|
||||
import pkg from "../../helper/package";
|
||||
import {
|
||||
getFormData,
|
||||
setCustomerToken,
|
||||
setFormData,
|
||||
setReferenceNumber,
|
||||
setStep,
|
||||
setTrackingToken,
|
||||
getLocalStorage,
|
||||
setLocalStorage,
|
||||
unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import SmartCreditPkgView from "./SmartCreditPkgView.vue";
|
||||
import ScPartnerCzLogo from "./sc_partner_cz_logo.vue";
|
||||
|
||||
import store from "../../store";
|
||||
export default {
|
||||
components: {SmartCreditPkgView,ScPartnerCzLogo },
|
||||
name: 'PaymentModal.vue',
|
||||
setup() {
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
props: {
|
||||
data: {
|
||||
type: Object,
|
||||
default:{},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
full_name:"",
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
street_no: "",
|
||||
street_name: "",
|
||||
city: "",
|
||||
ssn: "",
|
||||
state: "",
|
||||
zip_code: "",
|
||||
phone: "",
|
||||
full_ssn:"",
|
||||
package_id: 0,
|
||||
birth_date:"",
|
||||
amount:0,
|
||||
card_number:"",
|
||||
expiry:"",
|
||||
cvv_no:"",
|
||||
address:"",
|
||||
is_authorized:null
|
||||
},
|
||||
errors:{},
|
||||
message: [""],
|
||||
isButtonDisabled:false,
|
||||
disabled: 1,
|
||||
package: pkg,
|
||||
value: null,
|
||||
roleOptions:[],
|
||||
min:11,
|
||||
app_base_url: APP_URL,
|
||||
reportProvider: REPORT_PROVIDER,
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
closePaymentModal(data){
|
||||
this.$emit('close',data);
|
||||
},
|
||||
async paymentFormSubmit() {
|
||||
this.formData = this.$props.data;
|
||||
this.v$.$validate();
|
||||
this.errors = {};
|
||||
this.formValidation();
|
||||
if(!this.v$.$invalid && this.formData.is_authorized) {
|
||||
setLocalStorage('formData', JSON.stringify(this.$props.data));
|
||||
const data = await register.customerCreateAndUpdate(this.$props.data);
|
||||
if (data.status_code == "100") {
|
||||
|
||||
if (this.reportProvider === '3') {
|
||||
|
||||
setTrackingToken(data.data.tracking_token);
|
||||
setCustomerToken(data.data.customer_token);
|
||||
setReferenceNumber(data.data.customer_token);
|
||||
setReferenceNumber(data.data.questionAnswer.idVerificationCriteria.referenceNumber);
|
||||
this.closePaymentModal(data.data.questionAnswer);
|
||||
|
||||
}else if(this.reportProvider === '1'){
|
||||
|
||||
unsetLocalStorage('formData');
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
this.message[0] = data.message;
|
||||
this.errors = data.data;
|
||||
//this.closePaymentModal(true)
|
||||
//this.$swal(data.message);
|
||||
}
|
||||
}
|
||||
},
|
||||
showModal() {
|
||||
this.isQuestionModalVisible = true;
|
||||
},
|
||||
cardExpiryCompleted(e){
|
||||
if(this.$props.data.expiry.length===2){
|
||||
this.$props.data.expiry+='/';
|
||||
}
|
||||
},
|
||||
formValidation(){
|
||||
for (let i in this.v$.$errors){
|
||||
let key = this.v$.$errors[i].$property;
|
||||
let msg = this.v$.$errors[i].$message
|
||||
|
||||
if(key && msg){
|
||||
this.errors[key] = msg;
|
||||
}
|
||||
}
|
||||
if(!this.formData.is_authorized)
|
||||
{
|
||||
this.message[1]= 'You have to agree the terms and privacy condition.';
|
||||
|
||||
}
|
||||
},
|
||||
checkTermsAndService(e){
|
||||
if(e.target.checked){
|
||||
this.$props.data.is_authorized = e.target.checked;
|
||||
this.message[1]=null;
|
||||
}
|
||||
else {
|
||||
this.$props.data.is_authorized = null;
|
||||
}
|
||||
},
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required}, // Matches this.firstName
|
||||
last_name: {required},
|
||||
email: {required, email},
|
||||
password: {required},
|
||||
card_number: {required},
|
||||
street_no: {required},
|
||||
street_name: {required},
|
||||
city: {required},
|
||||
ssn: {required,minLength:minLength(4)},
|
||||
state: {required},
|
||||
zip_code: {required},
|
||||
phone: {required},
|
||||
amount: {required},
|
||||
full_ssn: {required,minLength:minLength(this.min)},
|
||||
birth_date: {required},
|
||||
expiry:{required},
|
||||
cvv_no:{required},
|
||||
address:{required},
|
||||
full_name:{required}
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
|
||||
#payment-modal .smart-credit-pkg .p-3 {
|
||||
padding: 0px !important;
|
||||
}
|
||||
#payment-modal .smart-credit-pkg .p-2 {
|
||||
padding: 0px !important;
|
||||
}
|
||||
#payment-modal .terms-service-text{
|
||||
font-weight:bold;
|
||||
color:purple;
|
||||
font-size: 12px;
|
||||
margin-bottom: 5px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
#payment-modal-view .warning{
|
||||
border: 1px solid red
|
||||
}
|
||||
#payment-modal-view .text-warning{
|
||||
color: red;
|
||||
}
|
||||
|
||||
.aggrement p {
|
||||
margin: 20px;
|
||||
background-color: #eee;
|
||||
font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;
|
||||
}
|
||||
.aggrement input {
|
||||
margin:0 0px 0 0;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
.invalid-feedback {
|
||||
width: 100%;
|
||||
margin-top: -20px;
|
||||
font-size: .875em;
|
||||
color: #dc3545;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
24
resources/js/components/partials/SmartCreditLogo.vue
Normal file
24
resources/js/components/partials/SmartCreditLogo.vue
Normal file
@@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div class="smart-credit-logo">
|
||||
<img :src="`${img_url}`" class="provider-logo" alt="">
|
||||
<strong>{{ package.labels[package_id] }}</strong>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
image_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
74
resources/js/components/partials/SmartCreditPkg.vue
Normal file
74
resources/js/components/partials/SmartCreditPkg.vue
Normal file
@@ -0,0 +1,74 @@
|
||||
<template>
|
||||
<div class="smart-credit-pkg">
|
||||
<div class="link-area">
|
||||
<a :href="`${app_base_url}/login`">
|
||||
Already a member? Log In
|
||||
</a>
|
||||
</div>
|
||||
<div style="margin-top: 65%;" class="report-card p-3 report-card--best report-card__aside mt-5 report-card--info">
|
||||
<div class="report-card__header pb-3">
|
||||
<h5>
|
||||
<!-- :src="`${app_base_url}/img/smartcredit_logo.png`"-->
|
||||
<strong> <img
|
||||
:src="`${img_url}`"
|
||||
alt="SmartCredit" class="provider-logo"> {{package.labels[package_id]}}</strong>
|
||||
</h5>
|
||||
</div>
|
||||
<!-- <div class="report-card__price p-2">-->
|
||||
<!-- <h4>${{package.prices[package_id]}}/mo</h4> <span>Cancel Anytime</span>-->
|
||||
<!-- </div>-->
|
||||
<div class="report-card__points py-2 pt-3">
|
||||
<ul class="points">
|
||||
<!-- <li><i class="fas fa-check-circle"></i> <strong>Unlimited Creditzombies-->
|
||||
<!-- Challenges</strong></li>-->
|
||||
<li><i class="fas fa-check-circle"></i> <strong>Monthly 3 Bureau Reports &
|
||||
Scores</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="report-card__points py-2 ">
|
||||
<ul class="points">
|
||||
<li><i class="fas fa-check-circle"></i> Identity Theft Insurance ($1m)</li>
|
||||
<li><i class="fas fa-check-circle"></i> Credit Monitoring & Alerts (TU)</li>
|
||||
<li><i class="fas fa-check-circle"></i> ScoreTracker</li>
|
||||
<li><i class="fas fa-check-circle"></i> ScoreBuilder</li>
|
||||
<li><i class="fas fa-check-circle"></i> ScoreBoost</li>
|
||||
<li><i class="fas fa-check-circle"></i> Money Manager</li>
|
||||
<li><i class="fas fa-check-circle"></i> Smart Credit Report</li>
|
||||
<li><i class="fas fa-check-circle"></i> PrivacyMaster</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="report-card__text py-2">
|
||||
<p>Includes SmartCredit Money Manager with <strong>{{package.updateLimit[package_id]}}</strong> Transunion Report
|
||||
& Score updates in SmartCredit.</p>
|
||||
</div>
|
||||
<div class="report-card__action">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
@import url("./../../../css/smartcredit.css");
|
||||
|
||||
</style>
|
||||
39
resources/js/components/partials/SmartCreditPkgView.vue
Normal file
39
resources/js/components/partials/SmartCreditPkgView.vue
Normal file
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<div class="smart-credit-pkg">
|
||||
<div class="report-card p-3 report-card--best report-card__aside mt-5 report-card--info">
|
||||
<div class="report-card__header pb-3">
|
||||
<h5>
|
||||
<strong>
|
||||
<img :src="`${app_base_url}/img/smartcredit_logo.png`"
|
||||
alt="SmartCredit" class="provider-logo"> {{package.labels[package_id]}}
|
||||
</strong>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="report-card__price p-2">
|
||||
<h4>${{package.prices[package_id]}}/mo</h4> <span>Cancel Anytime</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
@import url("./../../../css/smartcredit.css");
|
||||
|
||||
</style>
|
||||
141
resources/js/components/partials/Success.vue
Normal file
141
resources/js/components/partials/Success.vue
Normal file
@@ -0,0 +1,141 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>{{ company_Name }}</h3>
|
||||
</div>
|
||||
<div class="steps-content">
|
||||
<h3>Step <span class="step-number">3</span></h3>
|
||||
<p class="step-number-content active">Enter your personal information to get closer to
|
||||
companies.</p>
|
||||
<p class="step-number-content d-none">Get to know better by adding your diploma,certificate and
|
||||
education life.</p>
|
||||
<p class="step-number-content d-none">Help companies get to know you better by telling then about
|
||||
your past experiences.</p>
|
||||
<p class="step-number-content d-none">Add your profile picture and let companies find youy
|
||||
fast.</p>
|
||||
</div>
|
||||
<ul class="progress-bar">
|
||||
<li class="active">Create Account</li>
|
||||
<li class="active">Add Profile</li>
|
||||
<li class="active">Credit Report</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<div class="main active">
|
||||
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
|
||||
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
|
||||
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
||||
</svg>
|
||||
|
||||
<div class="text congrats">
|
||||
<h2 style="color:purple">Congratulations!</h2>
|
||||
<p style="color:purple">On your sign up, please allow 24 hours or less for Admin to check your email and name to turn you on appropriately. </p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="input-text">
|
||||
|
||||
<div class="input-div buttons" style="text-align: center" >
|
||||
<button @click.prevent="makePayment" type="submit" value="Next" class="next_button">
|
||||
Get Started
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</template>
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
import {onMounted} from 'vue';
|
||||
import {
|
||||
unsetStep,
|
||||
getPackageId,
|
||||
getUserId
|
||||
} from "../../helper";
|
||||
import register from "../../Api/register";
|
||||
import router from "../../router";
|
||||
import Footer from "./Footer.vue";
|
||||
|
||||
export default {
|
||||
components: {Footer},
|
||||
setup() {
|
||||
onMounted(()=>{
|
||||
unsetStep()
|
||||
})
|
||||
return {APP_URL};
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package_id:0,
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
this.package_id = getPackageId();
|
||||
},
|
||||
created() {
|
||||
this.fbEvents();
|
||||
},
|
||||
methods:{
|
||||
fbEvents(){
|
||||
window.fbq('init', '450475028484130');
|
||||
window.fbq('track', 'PageView');
|
||||
window.fbq('track', 'Purchase');
|
||||
},
|
||||
async makePayment() {
|
||||
localStorage.removeItem('formData');
|
||||
window.location.href = `${this.app_base_url}/login`;
|
||||
// const userData = JSON.parse(localStorage.getItem('formData')) || [];
|
||||
// this.errors = {}
|
||||
// let formData= {'user_id': getUserId(),'email':userData.email,'card_number':userData.card_number, 'expiry':userData.expiry,'amount':userData.amount,'full_ssn':userData.full_ssn,'phone':userData.phone ,'zip_code':userData.zip_code};
|
||||
// const data = await register.makePayments(formData);
|
||||
// if (data.status_code == "100") {
|
||||
// localStorage.removeItem('formData');
|
||||
// this.isOpen=false;
|
||||
// this.isView=false;
|
||||
// window.location.href = `${APP_URL}/login`;
|
||||
// } else if (data.status_code == "402") {
|
||||
// this.errors = data.data;
|
||||
// } else {
|
||||
// this.message[0] = data.message;
|
||||
// }
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '../../../css/credit_report.css';
|
||||
.container .card {
|
||||
height: 550px;
|
||||
}
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 20px !important;
|
||||
border-top-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-top-left-radius: 20px !important;
|
||||
border-top-right-radius: 20px !important;
|
||||
border-bottom-left-radius: 0px !important;
|
||||
border-bottom-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
45
resources/js/components/partials/TopArea.vue
Normal file
45
resources/js/components/partials/TopArea.vue
Normal file
@@ -0,0 +1,45 @@
|
||||
<template>
|
||||
<div class="top-area">
|
||||
<div class="img-area">
|
||||
<img class="login-logo" :src="`${img_url}`" alt="">
|
||||
</div>
|
||||
<div v-if="is_show_login" class="link-area">
|
||||
<a href="#" @click="cookiesClear">
|
||||
Already a member? Log In
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {unsetStep, unsetLocalStorage} from "../../helper";
|
||||
|
||||
export default {
|
||||
props:{
|
||||
is_show_login:{
|
||||
default:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
APP_URL : APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
is_show_login:this.$props.is_show_login
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
cookiesClear(){
|
||||
unsetLocalStorage('formData');
|
||||
unsetLocalStorage('userQuestionAnswer');
|
||||
unsetStep();
|
||||
window.location.href = `${APP_URL}/login`;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.login-logo {
|
||||
width: 150px;
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
25
resources/js/components/partials/ValidationError.vue
Normal file
25
resources/js/components/partials/ValidationError.vue
Normal file
@@ -0,0 +1,25 @@
|
||||
<template>
|
||||
<div v-for="error of msg" :key="error.$uid" class="field-validation-error">
|
||||
<span>
|
||||
{{ error.$message }}
|
||||
</span>
|
||||
</div>
|
||||
<div v-if="backend" class="field-validation-error">
|
||||
<span>
|
||||
{{ backend[0] }}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'Error',
|
||||
props: {
|
||||
msg: Array|String,
|
||||
backend:Array
|
||||
},
|
||||
mounted() {
|
||||
// console.log(this.props.msg)
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
266
resources/js/components/partials/modal.vue
Normal file
266
resources/js/components/partials/modal.vue
Normal file
@@ -0,0 +1,266 @@
|
||||
|
||||
<template>
|
||||
<div class="modal-backdrop">
|
||||
<div class="modal" >
|
||||
<header class="modal-header">
|
||||
<slot name="header">
|
||||
Complete The Identity Question
|
||||
</slot>
|
||||
<!-- <button type="button" class="btn-close" @click="close" > x </button>-->
|
||||
</header>
|
||||
|
||||
<section class="modal-body">
|
||||
<div class="text" style="margin-top: 10px" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="message">
|
||||
<p style="color:red;text-align:center">{{ message[0] }}</p>
|
||||
</div>
|
||||
<slot name="body">
|
||||
<fieldset class="fieldset-body">
|
||||
<legend class="label-text">Complete The Identity Questions Below<br></legend>
|
||||
<div v-for="(item,key) in questionAnswer.idVerificationCriteria">
|
||||
<div class="input-text" v-if="getQuestionCounter(key) > 0">
|
||||
<div class="input-div">
|
||||
<label class="label-text" > {{item.displayName}} </label>
|
||||
<div class="radio-text" v-for="subitem in item.choiceList.choice">
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" @change="radioButtonEvent($event,getQuestionCounter(key))" v-model="answers['answer'+getQuestionCounter(key)]" :value="{id: subitem.key, name: subitem.display}">
|
||||
{{subitem.display}}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</slot>
|
||||
</section>
|
||||
|
||||
<footer class="modal-footer">
|
||||
<!-- <div class="input-div buttons" style="text-align: left">-->
|
||||
<!-- <button type="button" value="Back" class="back_button" @click="close">-->
|
||||
<!-- Skip-->
|
||||
<!-- </button>-->
|
||||
<!-- </div>-->
|
||||
<div class="input-div buttons" style="text-align: right">
|
||||
<button :disabled="isNotValid" type="submit" value="Next" class="next_button" @click="submitQuestion" >
|
||||
Submit
|
||||
</button>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required} from "@vuelidate/validators";
|
||||
import {
|
||||
getCustomerToken,
|
||||
setStep,
|
||||
getTrackingToken,
|
||||
getReferenceNumber,
|
||||
unsetTrackingToken,
|
||||
unsetCustomerToken,
|
||||
unsetReferenceNumber, setUserQuestionAnswer, getLocalStorage, setLocalStorage, unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import register from "../../Api/register";
|
||||
|
||||
export default {
|
||||
name: 'modal.vue',
|
||||
setup() {
|
||||
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
data() {
|
||||
let finalFormData = {};
|
||||
let qa = this.questionAnswer.idVerificationCriteria;
|
||||
finalFormData['email'] = "";
|
||||
finalFormData['customerToken'] = "";
|
||||
finalFormData['trackingToken'] = "";
|
||||
finalFormData['referenceNumber'] = "";
|
||||
let totalQuestion = 0;
|
||||
let qa_assoc = {};
|
||||
for (let q in qa){
|
||||
if(this.getQuestionCounter(q) > 0) {
|
||||
// qa_assoc[q] = qa[q].displayName;
|
||||
qa_assoc[`answer${this.getQuestionCounter(q)}`] = {
|
||||
'question':qa[q].displayName,
|
||||
'answer':""
|
||||
};
|
||||
totalQuestion++;
|
||||
}
|
||||
}
|
||||
finalFormData['security_question_answer'] = qa_assoc;
|
||||
console.log('qa', 'key ', finalFormData)
|
||||
return {
|
||||
formData: finalFormData,
|
||||
answers:{},
|
||||
totalQuestion:totalQuestion,
|
||||
isNotValid:true,
|
||||
message: [
|
||||
"All fields are required"
|
||||
],
|
||||
}
|
||||
},
|
||||
props: {
|
||||
questionAnswer: {
|
||||
type: Object,
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
// close() {
|
||||
// this.$emit('close');
|
||||
// },
|
||||
radioButtonEvent(event,counter){
|
||||
this.isNotValid = true;
|
||||
if(this.totalQuestion == Object.keys(this.answers).length){
|
||||
console.log('correct')
|
||||
this.isNotValid = false;
|
||||
}
|
||||
},
|
||||
getQuestionCounter(key){
|
||||
let result = "";
|
||||
|
||||
if(key){
|
||||
result = key.replace('question','')
|
||||
}
|
||||
|
||||
return result > 0 ? result : 0;
|
||||
},
|
||||
async submitQuestion (){
|
||||
if(!this.isNotValid) {
|
||||
const userData = JSON.parse(getLocalStorage('formData')) || [];
|
||||
this.formData.email = userData.email;
|
||||
this.formData.customerToken = getCustomerToken();
|
||||
this.formData.trackingToken = getTrackingToken();
|
||||
this.formData.referenceNumber = getReferenceNumber();
|
||||
let security_question_answer = this.formData.security_question_answer
|
||||
for(let ans in this.answers){
|
||||
security_question_answer[ans].answer = this.answers[ans];
|
||||
}
|
||||
|
||||
this.formData.security_question_answer = security_question_answer;
|
||||
}
|
||||
/*console.log('dddd',this.formData);
|
||||
return false*/
|
||||
// this.formData.questionAnswer = this.questionAnswer;
|
||||
const data = await register.postIdentityQuestion(this.formData);
|
||||
if (data.status_code == "100") {
|
||||
unsetCustomerToken();
|
||||
unsetTrackingToken();
|
||||
unsetReferenceNumber();
|
||||
unsetLocalStorage('formData');
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
// setLocalStorage('userQuestionAnswer', JSON.stringify(this.formData));
|
||||
// setStep(5);
|
||||
// router.push({name: "make-payment"});
|
||||
}else {
|
||||
this.message[0] = data.message;
|
||||
}
|
||||
|
||||
},
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
question1:{required},
|
||||
question2:{required},
|
||||
question3:{required},
|
||||
answer1:{required},
|
||||
answer2:{required},
|
||||
answer3:{required},
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.modal-backdrop {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.modal {
|
||||
width: 650px;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 2px 2px 20px 1px;
|
||||
overflow-x: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
padding: 15px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
position: relative;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
color: #4AAE9B;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
border-top: 1px solid #eeeeee;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
margin: 0px 20px;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
position: relative;
|
||||
padding: 0px 10px 10px 10px;
|
||||
}
|
||||
|
||||
.btn-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
border: none;
|
||||
font-size: 20px;
|
||||
padding: 10px;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
color: #4AAE9B;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.btn-green {
|
||||
color: white;
|
||||
background: #4AAE9B;
|
||||
border: 1px solid #4AAE9B;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.fieldset-body{
|
||||
height:400px;
|
||||
overflow: auto;
|
||||
padding: 0px 20px;
|
||||
border-radius: 10px;
|
||||
margin: 0px 20px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
138
resources/js/components/partials/sc_partner_cz_logo.vue
Normal file
138
resources/js/components/partials/sc_partner_cz_logo.vue
Normal file
@@ -0,0 +1,138 @@
|
||||
<template>
|
||||
<ul class="sc-partner-cz-logo brand-list list-inline">
|
||||
<li class="brand-parent" v-if="reportProvider === '3'" >
|
||||
<a class="brand-link" href="https://www.smartcredit.com">
|
||||
<img :src="`${img_url}`" alt="SmartCredit" class="brand-logo">
|
||||
</a>
|
||||
</li>
|
||||
<li class="hidden-xs" v-if="reportProvider === '3'" ><div class="separator"></div></li>
|
||||
<li class="partner-text hidden-xs" v-if="reportProvider === '3'" ><p>Partnered<br>with</p></li>
|
||||
<li class="brand-parent cobrand-parent hidden-xs">
|
||||
<a class="brand-link" data-trigger="focus" tabindex="0" data-original-title="" title="">
|
||||
<img src="https://cdn.consumerdirect.com/live/cobrand/11885/logo-uwq6q8hx.png" alt="" class="brand-logo" data-pagespeed-url-hash="4237170943" data-pagespeed-onload="pagespeed.CriticalImages.checkImageForCriticality(this);" onload="var elem=this;if (this==window) elem=document.body;elem.setAttribute('data-pagespeed-loaded', 1)" data-pagespeed-loaded="1">
|
||||
</a>
|
||||
</li>
|
||||
<li class="partner-text hidden-xs" v-if="reportProvider === '1'" ><p> Powerful Software System </p></li>
|
||||
</ul>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "sc_partner_cz_logo",
|
||||
data(){
|
||||
return {
|
||||
reportProvider: REPORT_PROVIDER,
|
||||
image_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@media (min-width: 768px) {
|
||||
.sc-partner-cz-logo .brand-list {
|
||||
margin-left: -10px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .separator {
|
||||
border-right: 1px solid #ccc;
|
||||
display: inline-block;
|
||||
height: 36px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo{
|
||||
display: inherit;
|
||||
list-style: none;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-list {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .list-inline {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
margin-left: -5px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-parent {
|
||||
height: 56px;
|
||||
position: relative;
|
||||
width: 187px;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-link {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
-o-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-logo {
|
||||
display: inline;
|
||||
height: auto;
|
||||
width: 167px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list li {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list .partner-text {
|
||||
padding-right: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list .cobrand-parent {
|
||||
padding-left: 0;
|
||||
}
|
||||
.sc-partner-cz-logo.brand-list li {
|
||||
padding: 0 10px;
|
||||
}
|
||||
.sc-partner-cz-logo .brand-parent {
|
||||
height: 56px;
|
||||
position: relative;
|
||||
width: 187px;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
.sc-partner-cz-logo.list-inline > li {
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list .partner-text {
|
||||
padding-right: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .partner-text p {
|
||||
font-family: "Open Sans", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
|
||||
font-size: 65% !important;
|
||||
font-style: italic !important;
|
||||
line-height: 10px !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding: 17px 0 !important;
|
||||
padding-right: 10px !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.list-inline > li {
|
||||
display: inline-block;
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .separator {
|
||||
border-bottom: 1px solid #E9E9E9;
|
||||
}
|
||||
</style>
|
||||
28
resources/js/components/partials/step.vue
Normal file
28
resources/js/components/partials/step.vue
Normal file
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="steps-content">
|
||||
<h3>Step <span v-if="step > 0" class="step-number">{{step}}</span></h3>
|
||||
<p class="step-number-content active">Enter your personal information to get closer to
|
||||
companies.</p>
|
||||
<p class="step-number-content d-none">Get to know better by adding your diploma,certificate and
|
||||
education life.</p>
|
||||
<p class="step-number-content d-none">Help companies get to know you better by telling then about
|
||||
your past experiences.</p>
|
||||
<p class="step-number-content d-none">Add your profile piccture and let companies find youy
|
||||
fast.</p>
|
||||
</div>
|
||||
<ul class="progress-bar">
|
||||
<li :class="{'active':!step || step >= 1}">Create Account</li>
|
||||
<li :class="{'active':step >= 2}">Add Profile</li>
|
||||
<li :class="{'active':step >= 3}">Credit Report</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'Step',
|
||||
props: {
|
||||
step: String
|
||||
}
|
||||
}
|
||||
</script>
|
||||
85
resources/js/config/axios.js
vendored
Normal file
85
resources/js/config/axios.js
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
import axios from "axios"
|
||||
import router from "../router";
|
||||
import store from "../store";
|
||||
import {getSecurityKey} from "../helper";
|
||||
|
||||
|
||||
const axiosClient = axios.create({
|
||||
baseURL: API_BASE_URL
|
||||
});
|
||||
|
||||
const actionScope = `loading`;
|
||||
|
||||
let requestsPending = 0;
|
||||
|
||||
const req = {
|
||||
pending: () => {
|
||||
requestsPending++;
|
||||
store.dispatch('auth/setLoader', true)
|
||||
},
|
||||
done: () => {
|
||||
requestsPending--;
|
||||
store.dispatch('auth/setLoader', false)
|
||||
}
|
||||
};
|
||||
axiosClient.interceptors.request.use(function (config) {
|
||||
req.pending();
|
||||
|
||||
const security_key = getSecurityKey();
|
||||
|
||||
if(security_key) {
|
||||
config.headers['security-key'] = security_key;
|
||||
}
|
||||
/* const token = getToken();
|
||||
|
||||
config.headers.Authorization = 'Bearer ' + token;
|
||||
config.headers['Content-Type'] = 'application/json';
|
||||
config.headers['Accept'] = 'application/json';
|
||||
config.headers['Permission-Version'] = store.getters['auth/user']?.permission_version;*/
|
||||
console.log('resquest.success', config);
|
||||
//console.log('request loader_status', store.getters['auth/getLoaderStatus']);
|
||||
|
||||
return config;
|
||||
|
||||
}, function (error) {
|
||||
req.done();
|
||||
console.log('resquest.error', error);
|
||||
return Promise.reject(error);
|
||||
});
|
||||
|
||||
axiosClient.interceptors.response.use(
|
||||
response => {
|
||||
req.done();
|
||||
console.log('response.success', response);
|
||||
console.log('response loader_status', store.getters['auth/getLoaderStatus']);
|
||||
|
||||
return response.data;
|
||||
},
|
||||
async error => {
|
||||
req.done();
|
||||
console.log('resquest.error', error);
|
||||
|
||||
var originalRequest = error.config;
|
||||
|
||||
/*if (error.response.status == 500) {
|
||||
router.push({ name: 'error-500' })
|
||||
} else if (error.response.status == 401 && !originalRequest._retry) {
|
||||
|
||||
|
||||
if (getRefreshToken()) {
|
||||
const response = await store.dispatch('auth/authenticateWithRefreshToken')
|
||||
if (isApiSuccess(response)) {
|
||||
originalRequest._retry = true;
|
||||
return axiosClient(originalRequest);
|
||||
}
|
||||
}
|
||||
|
||||
store.dispatch('auth/logout')
|
||||
router.push({ name: 'error-401' })
|
||||
}*/
|
||||
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
||||
export default axiosClient
|
||||
1
resources/js/config/constants.js
vendored
Normal file
1
resources/js/config/constants.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const GOOGLE_CAPTCHA_SITEKEY = "6Lei2nQhAAAAAChSi_OiYy63AxlI_vJKm0b-LyN3"
|
||||
368
resources/js/helper/index.js
vendored
Normal file
368
resources/js/helper/index.js
vendored
Normal file
@@ -0,0 +1,368 @@
|
||||
import Cookies from 'js-cookie'
|
||||
import state from "./state";
|
||||
|
||||
export const setCookie = (key,value) =>{
|
||||
Cookies.set(key, value);
|
||||
}
|
||||
export const getCookie = (key) =>{
|
||||
return Cookies.get(key);
|
||||
}
|
||||
export const unsetCookie = (key) =>{
|
||||
return Cookies.remove(key);
|
||||
}
|
||||
export const setLocalStorage = (key,value) =>{
|
||||
localStorage.setItem(key, value);
|
||||
}
|
||||
export const getLocalStorage = (key) =>{
|
||||
return localStorage.getItem(key);
|
||||
}
|
||||
export const unsetLocalStorage = (key) =>{
|
||||
return localStorage.removeItem(key);
|
||||
}
|
||||
|
||||
|
||||
export const getAmount = ()=> {
|
||||
return Cookies.get('amount');
|
||||
}
|
||||
|
||||
export const setAmount = (amount)=> {
|
||||
Cookies.set('amount', amount);
|
||||
}
|
||||
|
||||
export const getSecurityKey = ()=> {
|
||||
return getCookie('security_key'); //Cookies.get('security_key');
|
||||
}
|
||||
|
||||
export const setSecurityKey = (key)=> {
|
||||
setCookie('security_key',key);
|
||||
//Cookies.set('security_key', key);
|
||||
}
|
||||
|
||||
export const setPackageId = (package_id) => {
|
||||
Cookies.set('package_id', package_id);
|
||||
}
|
||||
|
||||
export const getPackageId = () => {
|
||||
//return Cookies.get('package_id');
|
||||
return 2;
|
||||
}
|
||||
|
||||
export const setStep = (step) => {
|
||||
Cookies.set('step', step);
|
||||
}
|
||||
|
||||
export const getStep = () => {
|
||||
return Cookies.get('step');
|
||||
}
|
||||
|
||||
export const setToken = (token) => {
|
||||
Cookies.set('access_token', token);
|
||||
}
|
||||
|
||||
export const unsetStep = () => {
|
||||
Cookies.remove('step');
|
||||
}
|
||||
|
||||
export const setUserId = (user_id) => {
|
||||
Cookies.set('user_id', user_id);
|
||||
}
|
||||
|
||||
export const setUserEmail = (email) => {
|
||||
Cookies.set('user_email', email);
|
||||
}
|
||||
|
||||
export const getUserId = () => {
|
||||
return Cookies.get('user_id');
|
||||
}
|
||||
|
||||
export const getUserEmail = () => {
|
||||
return Cookies.get('user_email');
|
||||
}
|
||||
|
||||
|
||||
export const setRefreshToken = (token) => {
|
||||
Cookies.set('refresh_token', token);
|
||||
}
|
||||
|
||||
export const getToken = () => {
|
||||
return Cookies.get('access_token');
|
||||
}
|
||||
|
||||
export const getRefreshToken = () => {
|
||||
return Cookies.get('refresh_token');
|
||||
}
|
||||
|
||||
export const removeToken = () => {
|
||||
Cookies.remove('access_token');
|
||||
Cookies.remove('refresh_token');
|
||||
}
|
||||
|
||||
export const isApiSuccess = (response) => {
|
||||
return response.statuscode == 100;
|
||||
}
|
||||
export const setUserFirstName = (name) => {
|
||||
Cookies.set('user_first_name', name);
|
||||
}
|
||||
export const setUserLastName = (name) => {
|
||||
Cookies.set('user_last_name', name);
|
||||
}
|
||||
export const setUserPassword = (password) => {
|
||||
Cookies.set('user_password', password);
|
||||
}
|
||||
export const setFormData = (form_data) => {
|
||||
setCookie('user_input_data',form_data)
|
||||
}
|
||||
export const getFormData = () => {
|
||||
return getCookie('user_input_data');
|
||||
}
|
||||
export const unsetFormData = () => {
|
||||
unsetCookie('user_input_data');
|
||||
}
|
||||
export const setUserQuestionAnswer = (data) => {
|
||||
setCookie('user_answer_data',data)
|
||||
}
|
||||
export const getUserQuestionAnswer = () => {
|
||||
return getCookie('user_answer_data');
|
||||
}
|
||||
export const unsetUserQuestionAnswer = () => {
|
||||
unsetCookie('user_answer_data');
|
||||
}
|
||||
|
||||
export const setCardNumber = (cardNumber) => {
|
||||
Cookies.set('card_number', cardNumber);
|
||||
}
|
||||
export const setExpiry = (expiry) => {
|
||||
Cookies.set('expiry', expiry);
|
||||
}
|
||||
export const setFullSsn = (expiry) => {
|
||||
Cookies.set('full_ssn', expiry);
|
||||
}
|
||||
export const setPhone = (phone) => {
|
||||
Cookies.set('phone',phone);
|
||||
}
|
||||
export const setZip_Code = (zip_code) => {
|
||||
Cookies.set('zip_code',zip_code);
|
||||
}
|
||||
export const setStreetNo=(data)=>{
|
||||
Cookies.set('street_no',data);
|
||||
}
|
||||
export const setStreetName=(data)=>{
|
||||
Cookies.set('street_name',data);
|
||||
}
|
||||
export const setCity=(data)=>{
|
||||
Cookies.set('city',data);
|
||||
}
|
||||
export const setState=(data)=>{
|
||||
Cookies.set('state',data);
|
||||
}
|
||||
export const setBirthDate=(data)=>{
|
||||
Cookies.set('birth_date',data);
|
||||
}
|
||||
export const setQuestionId=(data)=>{
|
||||
Cookies.set('question_id',data);
|
||||
}
|
||||
export const setAnswer=(data)=>{
|
||||
Cookies.set('answer',data);
|
||||
}
|
||||
|
||||
export const getFullSsn = () => {
|
||||
return Cookies.get('full_ssn');
|
||||
}
|
||||
export const getUserFirstName = () => {
|
||||
return Cookies.get('user_first_name');
|
||||
}
|
||||
export const getUserLastName = () => {
|
||||
return Cookies.get('user_last_name');
|
||||
}
|
||||
export const getUserPassword = () => {
|
||||
return Cookies.get('user_password');
|
||||
}
|
||||
|
||||
export const getCardNumber = () => {
|
||||
return Cookies.get('card_number');
|
||||
}
|
||||
export const getExpiry = () => {
|
||||
return Cookies.get('expiry');
|
||||
}
|
||||
export const getPhone = () => {
|
||||
return Cookies.get('phone');
|
||||
}
|
||||
export const getZip_Code = () => {
|
||||
return Cookies.get('zip_code');
|
||||
}
|
||||
|
||||
export const getStreetNo=()=>{
|
||||
Cookies.get('street_no');
|
||||
}
|
||||
export const getStreetName=()=>{
|
||||
Cookies.get('street_name');
|
||||
}
|
||||
export const getCity=()=>{
|
||||
Cookies.get('city');
|
||||
}
|
||||
export const getState=()=>{
|
||||
Cookies.get('state');
|
||||
}
|
||||
export const getBirthDate=()=>{
|
||||
Cookies.get('birth_date');
|
||||
}
|
||||
export const getQuestionId=()=>{
|
||||
Cookies.get('question_id');
|
||||
}
|
||||
export const getAnswer=()=>{
|
||||
Cookies.get('answer');
|
||||
}
|
||||
|
||||
export const setTrackingToken = (value) => {
|
||||
Cookies.set('tracking_token', value);
|
||||
}
|
||||
|
||||
export const getTrackingToken = () => {
|
||||
return Cookies.get('tracking_token');
|
||||
}
|
||||
export const unsetTrackingToken = () => {
|
||||
Cookies.remove('tracking_token');
|
||||
}
|
||||
|
||||
|
||||
export const setCustomerToken = (value) => {
|
||||
Cookies.set('customer_token', value);
|
||||
}
|
||||
export const getCustomerToken = () => {
|
||||
return Cookies.get('customer_token');
|
||||
}
|
||||
export const unsetCustomerToken = () => {
|
||||
Cookies.remove('customer_token');
|
||||
}
|
||||
|
||||
export const setReferenceNumber = (value) => {
|
||||
Cookies.set('reference_number', value);
|
||||
}
|
||||
export const getReferenceNumber = () => {
|
||||
return Cookies.get('reference_number');
|
||||
}
|
||||
export const unsetReferenceNumber = () => {
|
||||
Cookies.remove('reference_number');
|
||||
}
|
||||
|
||||
|
||||
export const unsetUserFirstName = () => {
|
||||
Cookies.remove('user_first_name');
|
||||
}
|
||||
export const unsetUserLastName = () => {
|
||||
Cookies.remove('user_last_name');
|
||||
}
|
||||
export const unsetUserEmail = () => {
|
||||
Cookies.remove('user_email');
|
||||
}
|
||||
export const unsetUserPassword = () => {
|
||||
Cookies.remove('user_password');
|
||||
}
|
||||
|
||||
export const unsetExpiry = () => {
|
||||
Cookies.remove('expiry');
|
||||
}
|
||||
export const unsetCardNumber = () => {
|
||||
Cookies.remove('card_number');
|
||||
}
|
||||
export const unsetFullSsn = () => {
|
||||
Cookies.remove('full_ssn');
|
||||
}
|
||||
|
||||
export const unsetStreetNo=()=>{
|
||||
Cookies.remove('street_no');
|
||||
}
|
||||
export const unsetStreetName=()=>{
|
||||
Cookies.remove('street_name');
|
||||
}
|
||||
export const unsetCity=()=>{
|
||||
Cookies.remove('city');
|
||||
}
|
||||
export const unsetState=()=>{
|
||||
Cookies.remove('state');
|
||||
}
|
||||
export const unsetBirthDate=()=>{
|
||||
Cookies.remove('birth_date');
|
||||
}
|
||||
export const unsetQuestionId=()=>{
|
||||
Cookies.remove('question_id');
|
||||
}
|
||||
export const unsetAnswer=()=>{
|
||||
Cookies.remove('answer');
|
||||
}
|
||||
|
||||
export const generateSidebarMenuItems = () => {
|
||||
return [
|
||||
{
|
||||
title: "Dashboard",
|
||||
route: "dashboard",
|
||||
icon_classes: "sidebar-item-icon ti-home",
|
||||
permit: true,
|
||||
is_active: isSameRoute('dashboard')
|
||||
},
|
||||
{
|
||||
title: "Merchants",
|
||||
route: "merchants",
|
||||
icon_classes: "sidebar-item-icon fa fa-users",
|
||||
permit: true,
|
||||
is_active: isSameRoute('merchants')
|
||||
},
|
||||
{
|
||||
title: "Transactions",
|
||||
aria_expands: ["all-transactions", "refunds", "chargeback"].includes(router.currentRoute.value.name),
|
||||
sub_routes: ["all-transactions", "refunds", "chargeback"],
|
||||
submenu: [
|
||||
{
|
||||
title: "All Transactions",
|
||||
route: "all-transactions",
|
||||
permit: hasPermission(constants.permissions.show_all_transaction_of_merchant),
|
||||
is_active: isSameRoute('all-transactions')
|
||||
},
|
||||
{
|
||||
title: "Refunds",
|
||||
route: "refunds",
|
||||
permit: hasPermission(constants.permissions.show_merchant_refunds),
|
||||
is_active: isSameRoute('refunds')
|
||||
},
|
||||
{
|
||||
title: "Chargeback",
|
||||
route: "chargeback",
|
||||
permit: hasPermission(constants.permissions.show_merchant_chargebacks),
|
||||
is_active: isSameRoute('chargeback')
|
||||
},
|
||||
],
|
||||
permit: true,
|
||||
},
|
||||
{
|
||||
title: "Information",
|
||||
route: "information",
|
||||
icon_classes: "sidebar-item-icon ti-info",
|
||||
permit: true,
|
||||
is_active: isSameRoute('information')
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
export const hasPermission = (permission) => {
|
||||
return store.getters['auth/getPermissions'][permission?.code]?.permit
|
||||
}
|
||||
|
||||
export const getCurrentRouteQueries = (queriesProxy) => {
|
||||
return Object.assign({}, queriesProxy)
|
||||
}
|
||||
|
||||
export const isSameRoute = (route_name) => {
|
||||
return router.currentRoute.value.name === route_name
|
||||
}
|
||||
|
||||
export const getFormattedDaterangeFromDates = (start_date = new Date(new Date().setDate(new Date().getDate() - 30)), end_date = new Date()) => {
|
||||
return `${start_date.getFullYear()}/${start_date.getMonth() + 1}/${start_date.getDate()} - ${end_date.getFullYear()}/${end_date.getMonth() + 1}/${end_date.getDate()}`
|
||||
}
|
||||
|
||||
export const showNotification = (action, message, type = "default") => {
|
||||
notify({
|
||||
title: action,
|
||||
text: message,
|
||||
type: type
|
||||
});
|
||||
}
|
||||
17
resources/js/helper/package.js
vendored
Normal file
17
resources/js/helper/package.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
labels:{
|
||||
"1":"Basic",
|
||||
"2":"Premium",
|
||||
"3":"",
|
||||
},
|
||||
prices:{
|
||||
"1":"19.97",
|
||||
"2":"24.97",
|
||||
"3":"14.99"
|
||||
},
|
||||
updateLimit:{
|
||||
"1":"2 monthly",
|
||||
"2":"Unlimited",
|
||||
"3":"",
|
||||
}
|
||||
}
|
||||
5
resources/js/helper/packagePrices.js
vendored
Normal file
5
resources/js/helper/packagePrices.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
"1":"99.7",
|
||||
"2":"29.00",
|
||||
"3":"14.99"
|
||||
}
|
||||
28
resources/js/helper/report_provider.js
vendored
Normal file
28
resources/js/helper/report_provider.js
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
export default {
|
||||
labels:{
|
||||
"3":"SmartCredit",
|
||||
"1":"Identity IQ",
|
||||
|
||||
},
|
||||
SmartCreditPoints : [
|
||||
"Identity Theft Insurance ($1m)",
|
||||
"Credit Monitoring & Alerts (TU)",
|
||||
"ScoreTracker" ,
|
||||
"ScoreBuilder",
|
||||
"ScoreBoost",
|
||||
"Money Manager",
|
||||
"Smart Credit Report",
|
||||
"PrivacyMaster"
|
||||
],
|
||||
|
||||
IdentityIQPoints : [
|
||||
"Access to the powerful proprietary Metro 2 Method 5 points of Compliance process",
|
||||
"Auto-import software systems",
|
||||
"Full library of training" ,
|
||||
"Auto load letters",
|
||||
"Auto import items into letters",
|
||||
"Processing reminder system",
|
||||
"Customer support",
|
||||
"Facebook group help"
|
||||
],
|
||||
}
|
||||
135
resources/js/helper/securityQuestion.js
vendored
Normal file
135
resources/js/helper/securityQuestion.js
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
export default {
|
||||
security_question: [
|
||||
{
|
||||
"id": "",
|
||||
"value": "Please select security question"
|
||||
},
|
||||
{
|
||||
"id": "1",
|
||||
"value": "What was your high school mascot?"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"value": "What was your first grade teacher's last name?"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"value": "What was the make and model of your first car?"
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"value": "What is your mother's middle name?"
|
||||
}, {
|
||||
"id": "5",
|
||||
"value": "What is your father's middle name?"
|
||||
},
|
||||
{
|
||||
"id": "6",
|
||||
"value": "What city were you born in?"
|
||||
},
|
||||
{
|
||||
"id": "7",
|
||||
"value": "What is your grandmother's first name (on your mother's side)?"
|
||||
},
|
||||
{
|
||||
"id": "8",
|
||||
"value": "What is your grandfather's first name (on your father's side)?"
|
||||
}],
|
||||
security_question_answer:{
|
||||
'1':{'1':'1980','2':'1969','3':'2012','4':'2003','5':'None of the above'},
|
||||
'2':{ '6':'Experian','7':'ConsumerDirect','8':'Equifax','9':'TransUnion','10':'None of the above'},
|
||||
'3':{'11':'J. C. R. Licklider','12':'George Clooney','13':'Al Gore','14':'Howard Stark','15':'None of the above'},
|
||||
},
|
||||
security_question_and_answer: {
|
||||
"idVerificationCriteria": {
|
||||
"referenceNumber": "07271524018421870957",
|
||||
"question1": {
|
||||
"name": "YEAR_FOUNDED",
|
||||
"displayName": "What year was ConsumerDirect (aka PathwayData, aka MyPerfectCredit) founded?",
|
||||
"type": "MC",
|
||||
"choiceList": {
|
||||
"choice": [
|
||||
{
|
||||
"key": "1980",
|
||||
"display": "1980"
|
||||
},
|
||||
{
|
||||
"key": "1969",
|
||||
"display": "1969"
|
||||
},
|
||||
{
|
||||
"key": "2012",
|
||||
"display": "2012"
|
||||
},
|
||||
{
|
||||
"key": "2003",
|
||||
"display": "2003"
|
||||
},
|
||||
{
|
||||
"key": "!(1980^1969^2012^2003)",
|
||||
"display": "None of the above"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"question2": {
|
||||
"name": "NOT_CREDIT_BUREAU",
|
||||
"displayName": "Which company is NOT a credit bureau?",
|
||||
"type": "MC",
|
||||
"choiceList": {
|
||||
"choice": [
|
||||
{
|
||||
"key": "Experian",
|
||||
"display": "Experian"
|
||||
},
|
||||
{
|
||||
"key": "ConsumerDirect",
|
||||
"display": "ConsumerDirect"
|
||||
},
|
||||
{
|
||||
"key": "Equifax",
|
||||
"display": "Equifax"
|
||||
},
|
||||
{
|
||||
"key": "TransUnion",
|
||||
"display": "TransUnion"
|
||||
},
|
||||
{
|
||||
"key": "!(Experian^ConsumerDirect^Equifax^TransUnion^)",
|
||||
"display": "None of the above"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"question3": {
|
||||
"name": "INVENTED_INTERNET",
|
||||
"displayName": "Who invented the internet?",
|
||||
"type": "MC",
|
||||
"choiceList": {
|
||||
"choice": [
|
||||
{
|
||||
"key": "J. C. R. Licklider",
|
||||
"display": "J. C. R. Licklider"
|
||||
},
|
||||
{
|
||||
"key": "George Clooney",
|
||||
"display": "George Clooney"
|
||||
},
|
||||
{
|
||||
"key": "Al Gore",
|
||||
"display": "Al Gore"
|
||||
},
|
||||
{
|
||||
"key": "Howard Stark",
|
||||
"display": "Howard Stark"
|
||||
},
|
||||
{
|
||||
"key": "!(J. C. R. Licklider^George Clooney^Al Gore^Howard Stark^)",
|
||||
"display": "None of the above"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
230
resources/js/helper/state.js
vendored
Normal file
230
resources/js/helper/state.js
vendored
Normal file
@@ -0,0 +1,230 @@
|
||||
export default [
|
||||
{
|
||||
"id": "AA",
|
||||
"value": "AA"
|
||||
},
|
||||
{
|
||||
"id": "AE",
|
||||
"value": "AE"
|
||||
},
|
||||
{
|
||||
"id": "AL",
|
||||
"value": "AL"
|
||||
},
|
||||
{
|
||||
"id": "AK",
|
||||
"value": "AK"
|
||||
},
|
||||
{
|
||||
"id": "AP",
|
||||
"value": "AP"
|
||||
},
|
||||
{
|
||||
"id": "AR",
|
||||
"value": "AR"
|
||||
},
|
||||
{
|
||||
"id": "AZ",
|
||||
"value": "AZ"
|
||||
},
|
||||
{
|
||||
"id": "CA",
|
||||
"value": "CA"
|
||||
},
|
||||
{
|
||||
"id": "CO",
|
||||
"value": "CO"
|
||||
},
|
||||
{
|
||||
"id": "CT",
|
||||
"value": "CT"
|
||||
},
|
||||
{
|
||||
"id": "DC",
|
||||
"value": "DC"
|
||||
},
|
||||
{
|
||||
"id": "DE",
|
||||
"value": "DE"
|
||||
},
|
||||
{
|
||||
"id": "FL",
|
||||
"value": "FL"
|
||||
},
|
||||
{
|
||||
"id": "GA",
|
||||
"value": "GA"
|
||||
},
|
||||
{
|
||||
"id": "GU",
|
||||
"value": "GU"
|
||||
},
|
||||
{
|
||||
"id": "HI",
|
||||
"value": "HI"
|
||||
},
|
||||
{
|
||||
"id": "IA",
|
||||
"value": "IA"
|
||||
},
|
||||
{
|
||||
"id": "ID",
|
||||
"value": "ID"
|
||||
},
|
||||
{
|
||||
"id": "IL",
|
||||
"value": "IL"
|
||||
},
|
||||
{
|
||||
"id": "IN",
|
||||
"value": "IN"
|
||||
},
|
||||
{
|
||||
"id": "KS",
|
||||
"value": "KS"
|
||||
},
|
||||
{
|
||||
"id": "KY",
|
||||
"value": "KY"
|
||||
},
|
||||
{
|
||||
"id": "LA",
|
||||
"value": "LA"
|
||||
},
|
||||
{
|
||||
"id": "MA",
|
||||
"value": "MA"
|
||||
},
|
||||
{
|
||||
"id": "MD",
|
||||
"value": "MD"
|
||||
},
|
||||
{
|
||||
"id": "ME",
|
||||
"value": "ME"
|
||||
},
|
||||
{
|
||||
"id": "MI",
|
||||
"value": "MI"
|
||||
},
|
||||
{
|
||||
"id": "MN",
|
||||
"value": "MN"
|
||||
},
|
||||
{
|
||||
"id": "MO",
|
||||
"value": "MO"
|
||||
},
|
||||
{
|
||||
"id": "MS",
|
||||
"value": "MS"
|
||||
},
|
||||
{
|
||||
"id": "MT",
|
||||
"value": "MT"
|
||||
},
|
||||
{
|
||||
"id": "NC",
|
||||
"value": "NC"
|
||||
},
|
||||
{
|
||||
"id": "ND",
|
||||
"value": "ND"
|
||||
},
|
||||
{
|
||||
"id": "NE",
|
||||
"value": "NE"
|
||||
},
|
||||
{
|
||||
"id": "NH",
|
||||
"value": "NH"
|
||||
},
|
||||
{
|
||||
"id": "NJ",
|
||||
"value": "NJ"
|
||||
},
|
||||
{
|
||||
"id": "NM",
|
||||
"value": "NM"
|
||||
},
|
||||
{
|
||||
"id": "NV",
|
||||
"value": "NV"
|
||||
},
|
||||
{
|
||||
"id": "NY",
|
||||
"value": "NY"
|
||||
},
|
||||
{
|
||||
"id": "OK",
|
||||
"value": "OK"
|
||||
},
|
||||
{
|
||||
"id": "OH",
|
||||
"value": "OH"
|
||||
},
|
||||
{
|
||||
"id": "OR",
|
||||
"value": "OR"
|
||||
},
|
||||
{
|
||||
"id": "PA",
|
||||
"value": "PA"
|
||||
},
|
||||
{
|
||||
"id": "PR",
|
||||
"value": "PR"
|
||||
},
|
||||
{
|
||||
"id": "RI",
|
||||
"value": "RI"
|
||||
},
|
||||
{
|
||||
"id": "SC",
|
||||
"value": "SC"
|
||||
},
|
||||
{
|
||||
"id": "SD",
|
||||
"value": "SD"
|
||||
},
|
||||
{
|
||||
"id": "TN",
|
||||
"value": "TN"
|
||||
},
|
||||
{
|
||||
"id": "TX",
|
||||
"value": "TX"
|
||||
},
|
||||
{
|
||||
"id": "UT",
|
||||
"value": "UT"
|
||||
},
|
||||
{
|
||||
"id": "VA",
|
||||
"value": "VA"
|
||||
},
|
||||
{
|
||||
"id": "VI",
|
||||
"value": "VI"
|
||||
},
|
||||
{
|
||||
"id": "VT",
|
||||
"value": "VT"
|
||||
},
|
||||
{
|
||||
"id": "WA",
|
||||
"value": "WA"
|
||||
},
|
||||
{
|
||||
"id": "WI",
|
||||
"value": "WI"
|
||||
},
|
||||
{
|
||||
"id": "WV",
|
||||
"value": "WV"
|
||||
},
|
||||
{
|
||||
"id": "WY",
|
||||
"value": "WY"
|
||||
}
|
||||
];
|
||||
80
resources/js/router/index.js
vendored
Normal file
80
resources/js/router/index.js
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
import routes from './routes'
|
||||
import store from './../store'
|
||||
import {getStep} from "../helper";
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(APP_BASE_ROUTE),
|
||||
routes: routes
|
||||
})
|
||||
|
||||
function isAuthenticated() {
|
||||
return store.getters['auth/authenticated'];
|
||||
}
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
/*if (!isAuthenticated() && to.matched.some(record => record.meta.requires_auth)) {
|
||||
next({ name: 'login' })
|
||||
} else if (isAuthenticated() && to.matched.some(record => record.meta.is_auth_route)) {
|
||||
next({ name: 'dashboard' })
|
||||
}
|
||||
|
||||
next()*/
|
||||
const step = getStep();
|
||||
// console.clear()
|
||||
// console.log(from.path,to.path)
|
||||
if(to.name == "add-profile"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}else if(to.name == "choose-package"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}else if(to.name == "create-account") {
|
||||
if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}else if(to.name == "success"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}
|
||||
}else if(to.name == "create-cr-account"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 5){
|
||||
next({name:'make-payment'})
|
||||
}
|
||||
}else if(to.name == "make-payment"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}
|
||||
|
||||
next()
|
||||
|
||||
})
|
||||
|
||||
export default router
|
||||
63
resources/js/router/routes.js
vendored
Normal file
63
resources/js/router/routes.js
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
import CreateAccount from "../components/partials/CreateAccount";
|
||||
import AddProfile from "../components/partials/AddProfile";
|
||||
import ChoosePackage from "../components/partials/ChoosePackage";
|
||||
import CreateCreditReportAccount from "../components/partials/CreateCreditReportAccount";
|
||||
import Success from "../components/partials/Success";
|
||||
import MakePayment from "../components/partials/MakePayment";
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
redirect: { name: 'create-account' }
|
||||
},
|
||||
{
|
||||
path: '/create/account',
|
||||
name: 'create-account',
|
||||
component: CreateAccount,
|
||||
meta: {
|
||||
is_step: false
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/add/profile',
|
||||
name: 'add-profile',
|
||||
component: AddProfile,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/choose/package',
|
||||
name: 'choose-package',
|
||||
component: ChoosePackage,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/create/cr-account',
|
||||
name: 'create-cr-account',
|
||||
component: CreateCreditReportAccount,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/success',
|
||||
name: 'success',
|
||||
component: Success,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/make/payment',
|
||||
name: 'make-payment',
|
||||
component: MakePayment,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
export default routes;
|
||||
105
resources/js/store/auth/actions.js
vendored
Normal file
105
resources/js/store/auth/actions.js
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
import axiosClient from '@/config/axios'
|
||||
import { removeToken, isApiSuccess, setToken, setRefreshToken, getRefreshToken } from '@/helper'
|
||||
|
||||
|
||||
export const login = ({ commit }, formData) => {
|
||||
return axiosClient
|
||||
.post('login', formData)
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_USER', response.data.user)
|
||||
commit('SET_AUTHENTICATED', false)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
commit('SET_USER', {})
|
||||
commit('SET_AUTHENTICATED', false)
|
||||
console.log('Login Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const verifyOTP = ({ commit }, formData) => {
|
||||
return axiosClient.post('verifysms', formData)
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_AUTHENTICATED', true)
|
||||
|
||||
setToken(response.data.access_token)
|
||||
setRefreshToken(response.data.refresh_token)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('verifyOTP Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const authenticateWithRefreshToken = ({ commit }) => {
|
||||
return axiosClient.post('refreshtoken', { refresh_token: getRefreshToken() })
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_AUTHENTICATED', true)
|
||||
|
||||
setToken(response.data.access_token)
|
||||
setRefreshToken(response.data.refresh_token)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('authenticateWithRefreshToken Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const resendOTP = ({ commit }, formData) => {
|
||||
return axiosClient.post('resendotp', formData)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Login Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const authUser = ({ commit }) => {
|
||||
return axiosClient.get('get-authinfo')
|
||||
.then(response => {
|
||||
commit('SET_AUTHENTICATED', true)
|
||||
commit('SET_USER', response.data.user)
|
||||
commit('SET_PERMISSIONS', response.data.permissions)
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Get Auth User Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const logout = ({ commit }) => {
|
||||
commit('SET_USER', {})
|
||||
commit('SET_AUTHENTICATED', false)
|
||||
removeToken()
|
||||
}
|
||||
|
||||
export const setLoader = ({ commit }, status) => {
|
||||
commit('SET_LOADER', status)
|
||||
}
|
||||
|
||||
export const loadPermissions = ({ commit }) => {
|
||||
return axiosClient
|
||||
.get('getpermission')
|
||||
.then(response => {
|
||||
commit('SET_PERMISSIONS', response.data.permissions)
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Permissions API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const isModalShow = ({ commit }, status) => {
|
||||
commit('SHOW_MODAL', status)
|
||||
}
|
||||
|
||||
export const userFormData = ({ commit }, value) => {
|
||||
commit('SET_USER_FORM_DATA', value)
|
||||
}
|
||||
22
resources/js/store/auth/getters.js
vendored
Normal file
22
resources/js/store/auth/getters.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
export const authenticated = (state) => {
|
||||
return state.authenticated
|
||||
}
|
||||
|
||||
export const user = (state) => {
|
||||
return state.user
|
||||
}
|
||||
|
||||
export const getLoaderStatus = (state) => {
|
||||
return state.loader;
|
||||
}
|
||||
|
||||
export const getPermissions = (state) => {
|
||||
return state.permissions;
|
||||
}
|
||||
|
||||
export const getModalShowStatus = (state) => {
|
||||
return state.isModalShow;
|
||||
}
|
||||
export const getUserFormData = (state) => {
|
||||
return state.userFormData;
|
||||
}
|
||||
12
resources/js/store/auth/index.js
vendored
Normal file
12
resources/js/store/auth/index.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import state from "./state";
|
||||
import * as getters from "./getters";
|
||||
import * as mutations from "./mutations";
|
||||
import * as actions from "./actions";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
22
resources/js/store/auth/mutations.js
vendored
Normal file
22
resources/js/store/auth/mutations.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
export const SET_AUTHENTICATED = (state, value) => {
|
||||
state.authenticated = value
|
||||
}
|
||||
export const SET_USER = (state, value) => {
|
||||
state.user = value
|
||||
}
|
||||
|
||||
export const SET_LOADER = (state, value) => {
|
||||
state.loader = value
|
||||
}
|
||||
|
||||
export const SET_PERMISSIONS = (state, value) => {
|
||||
state.permissions = value
|
||||
}
|
||||
|
||||
export const SHOW_MODAL = (state, value) => {
|
||||
state.isModalShow = value
|
||||
}
|
||||
|
||||
export const SET_USER_FORM_DATA = (state, value) => {
|
||||
state.userFormData = value
|
||||
}
|
||||
8
resources/js/store/auth/state.js
vendored
Normal file
8
resources/js/store/auth/state.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
export default {
|
||||
authenticated: false,
|
||||
user: {},
|
||||
permissions: {},
|
||||
loader: false,
|
||||
isModalShow: false,
|
||||
userFormData: {}
|
||||
}
|
||||
55
resources/js/store/dashboard/actions.js
vendored
Normal file
55
resources/js/store/dashboard/actions.js
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
import axiosClient from '../../config/axios'
|
||||
import { isApiSuccess } from './../../helper'
|
||||
|
||||
|
||||
export const load = ({ commit }) => {
|
||||
return axiosClient
|
||||
.get('dashboard')
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_MERCHANTS', response.data.merchants)
|
||||
commit('SET_ANNOUNCEMENTS', response.data.announcements)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
commit('SET_MERCHANTS', [])
|
||||
commit('SET_ANNOUNCEMENTS', [])
|
||||
console.log('Dashboard Data Load Exception: ', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const approveChargebackRequest = ({ commit }, payload) => {
|
||||
return axiosClient
|
||||
.post('chargeback/approve', payload)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Approve Chargeback Request Exception: ', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const rejectChargebackRequest = ({ commit }, payload) => {
|
||||
return axiosClient
|
||||
.post('chargeback/reject', payload)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Reject Chargeback Request Exception: ', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const refundRequest = ({ commit }, payload) => {
|
||||
return axiosClient
|
||||
.post('refundrequest', payload,{
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Refund Request Exception: ', exception);
|
||||
})
|
||||
}
|
||||
11
resources/js/store/dashboard/getters.js
vendored
Normal file
11
resources/js/store/dashboard/getters.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
export const merchants = (state) => {
|
||||
return state.merchants
|
||||
}
|
||||
|
||||
export const announcements = (state) => {
|
||||
return state.announcements
|
||||
}
|
||||
|
||||
export const getSidebarMenuItems = (state) => {
|
||||
return state.sidebar_menu_items
|
||||
}
|
||||
12
resources/js/store/dashboard/index.js
vendored
Normal file
12
resources/js/store/dashboard/index.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import state from "./state";
|
||||
import * as getters from "./getters";
|
||||
import * as mutations from "./mutations";
|
||||
import * as actions from "./actions";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
13
resources/js/store/dashboard/mutations.js
vendored
Normal file
13
resources/js/store/dashboard/mutations.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import { generateSidebarMenuItems } from "@/helper"
|
||||
|
||||
export const SET_MERCHANTS = (state, value) => {
|
||||
state.merchants = value
|
||||
}
|
||||
|
||||
export const SET_ANNOUNCEMENTS = (state, value) => {
|
||||
state.announcements = value
|
||||
}
|
||||
|
||||
export const SET_SIDEBAR_MENU_ITEMS = (state) => {
|
||||
state.sidebar_menu_items = generateSidebarMenuItems()
|
||||
}
|
||||
5
resources/js/store/dashboard/state.js
vendored
Normal file
5
resources/js/store/dashboard/state.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
merchants: [],
|
||||
announcements: [],
|
||||
sidebar_menu_items: []
|
||||
}
|
||||
51
resources/js/store/global/actions.js
vendored
Normal file
51
resources/js/store/global/actions.js
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import axiosClient from '@/config/axios'
|
||||
|
||||
export const loadMerchants = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.post('merchantlist', filter_data)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Merchants API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const allTransactions = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.post('alltransaction', filter_data)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('All Transaction API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const loadRefundedTransactions = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.post('refundedtransaction', filter_data)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Refunded API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const loadChargebackTransactions = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.get('chargeback/list', { params: filter_data })
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Chargeback API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const loadIntegratorInformation = () => {
|
||||
return axiosClient
|
||||
.get('integratorinfo')
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Integrator Information API Exception', exception);
|
||||
})
|
||||
}
|
||||
0
resources/js/store/global/getters.js
vendored
Normal file
0
resources/js/store/global/getters.js
vendored
Normal file
12
resources/js/store/global/index.js
vendored
Normal file
12
resources/js/store/global/index.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import state from "./state";
|
||||
import * as getters from "./getters";
|
||||
import * as mutations from "./mutations";
|
||||
import * as actions from "./actions";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
0
resources/js/store/global/mutations.js
vendored
Normal file
0
resources/js/store/global/mutations.js
vendored
Normal file
1
resources/js/store/global/state.js
vendored
Normal file
1
resources/js/store/global/state.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export default {}
|
||||
13
resources/js/store/index.js
vendored
Normal file
13
resources/js/store/index.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import { createStore } from 'vuex';
|
||||
|
||||
import auth from "./auth";
|
||||
import dashboard from "./dashboard";
|
||||
import global from "./global";
|
||||
|
||||
export default createStore({
|
||||
modules: {
|
||||
auth,
|
||||
dashboard,
|
||||
global
|
||||
},
|
||||
});
|
||||
19
resources/lang/en/auth.php
Normal file
19
resources/lang/en/auth.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
|
||||
];
|
||||
19
resources/lang/en/pagination.php
Normal file
19
resources/lang/en/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
|
||||
];
|
||||
22
resources/lang/en/passwords.php
Normal file
22
resources/lang/en/passwords.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'reset' => 'Your password has been reset!',
|
||||
'sent' => 'We have emailed your password reset link!',
|
||||
'throttled' => 'Please wait before retrying.',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => "We can't find a user with that email address.",
|
||||
|
||||
];
|
||||
151
resources/lang/en/validation.php
Normal file
151
resources/lang/en/validation.php
Normal file
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'The :attribute must be accepted.',
|
||||
'active_url' => 'The :attribute is not a valid URL.',
|
||||
'after' => 'The :attribute must be a date after :date.',
|
||||
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
|
||||
'alpha' => 'The :attribute may only contain letters.',
|
||||
'alpha_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.',
|
||||
'alpha_num' => 'The :attribute may only contain letters and numbers.',
|
||||
'array' => 'The :attribute must be an array.',
|
||||
'before' => 'The :attribute must be a date before :date.',
|
||||
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
|
||||
'between' => [
|
||||
'numeric' => 'The :attribute must be between :min and :max.',
|
||||
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||
'string' => 'The :attribute must be between :min and :max characters.',
|
||||
'array' => 'The :attribute must have between :min and :max items.',
|
||||
],
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'confirmed' => 'The :attribute confirmation does not match.',
|
||||
'date' => 'The :attribute is not a valid date.',
|
||||
'date_equals' => 'The :attribute must be a date equal to :date.',
|
||||
'date_format' => 'The :attribute does not match the format :format.',
|
||||
'different' => 'The :attribute and :other must be different.',
|
||||
'digits' => 'The :attribute must be :digits digits.',
|
||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||
'dimensions' => 'The :attribute has invalid image dimensions.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'email' => 'The :attribute must be a valid email address.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'file' => 'The :attribute must be a file.',
|
||||
'filled' => 'The :attribute field must have a value.',
|
||||
'gt' => [
|
||||
'numeric' => 'The :attribute must be greater than :value.',
|
||||
'file' => 'The :attribute must be greater than :value kilobytes.',
|
||||
'string' => 'The :attribute must be greater than :value characters.',
|
||||
'array' => 'The :attribute must have more than :value items.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => 'The :attribute must be greater than or equal :value.',
|
||||
'file' => 'The :attribute must be greater than or equal :value kilobytes.',
|
||||
'string' => 'The :attribute must be greater than or equal :value characters.',
|
||||
'array' => 'The :attribute must have :value items or more.',
|
||||
],
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
'integer' => 'The :attribute must be an integer.',
|
||||
'ip' => 'The :attribute must be a valid IP address.',
|
||||
'ipv4' => 'The :attribute must be a valid IPv4 address.',
|
||||
'ipv6' => 'The :attribute must be a valid IPv6 address.',
|
||||
'json' => 'The :attribute must be a valid JSON string.',
|
||||
'lt' => [
|
||||
'numeric' => 'The :attribute must be less than :value.',
|
||||
'file' => 'The :attribute must be less than :value kilobytes.',
|
||||
'string' => 'The :attribute must be less than :value characters.',
|
||||
'array' => 'The :attribute must have less than :value items.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => 'The :attribute must be less than or equal :value.',
|
||||
'file' => 'The :attribute must be less than or equal :value kilobytes.',
|
||||
'string' => 'The :attribute must be less than or equal :value characters.',
|
||||
'array' => 'The :attribute must not have more than :value items.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => 'The :attribute may not be greater than :max.',
|
||||
'file' => 'The :attribute may not be greater than :max kilobytes.',
|
||||
'string' => 'The :attribute may not be greater than :max characters.',
|
||||
'array' => 'The :attribute may not have more than :max items.',
|
||||
],
|
||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||
'mimetypes' => 'The :attribute must be a file of type: :values.',
|
||||
'min' => [
|
||||
'numeric' => 'The :attribute must be at least :min.',
|
||||
'file' => 'The :attribute must be at least :min kilobytes.',
|
||||
'string' => 'The :attribute must be at least :min characters.',
|
||||
'array' => 'The :attribute must have at least :min items.',
|
||||
],
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'not_regex' => 'The :attribute format is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'password' => 'The password is incorrect.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'regex' => 'The :attribute format is invalid.',
|
||||
'required' => 'The :attribute field is required.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute and :other must match.',
|
||||
'size' => [
|
||||
'numeric' => 'The :attribute must be :size.',
|
||||
'file' => 'The :attribute must be :size kilobytes.',
|
||||
'string' => 'The :attribute must be :size characters.',
|
||||
'array' => 'The :attribute must contain :size items.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'string' => 'The :attribute must be a string.',
|
||||
'timezone' => 'The :attribute must be a valid zone.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
'uuid' => 'The :attribute must be a valid UUID.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap our attribute placeholder
|
||||
| with something more reader friendly such as "E-Mail Address" instead
|
||||
| of "email". This simply helps us make our message more expressive.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
||||
24
resources/views/auth/credit_report_modal.blade.php
Normal file
24
resources/views/auth/credit_report_modal.blade.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<div id="new-report-modal" class="modal fade in" role="dialog">
|
||||
<div class="modal-dialog modal-dialog-centered" style="width:70% !important; margin: 0 auto">
|
||||
<form method="post" action="{{route('upload.report')}}">
|
||||
@csrf
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title" style="margin-bottom: 10px;">New credit report</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<textarea placeholder="UPLOAD CREDIT REPORT HTML" class="form-control" name="html_content" rows="10"></textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default epic-btn" data-dismiss="modal">Close</button>
|
||||
<button name="new_process_html" type="submit" class="btn btn-primary btn2">Upload</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$('#new-report-modal').modal('show')
|
||||
</script>
|
||||
74
resources/views/auth/login.blade.php
Normal file
74
resources/views/auth/login.blade.php
Normal file
@@ -0,0 +1,74 @@
|
||||
@extends('layouts.app')
|
||||
<link href="{{asset('css/login.css')}}" rel="stylesheet"/>
|
||||
@section('content')
|
||||
|
||||
<div>
|
||||
<a class="hiddenanchor" id="signup"></a>
|
||||
<a class="hiddenanchor" id="signin"></a>
|
||||
|
||||
<div class="login_wrapper" id="login-panel">
|
||||
<div class="animate form login_form">
|
||||
<section class="login_content">
|
||||
<form class="form-horizontal" method="POST" action="{{ route('login') }}">
|
||||
{{ csrf_field() }}
|
||||
@php
|
||||
$logo_path = 'images/'.config('app.name').'_logo.png';
|
||||
@endphp
|
||||
<h1><img src="{{ asset($logo_path) }}" alt="" class="login-logo" /></h1>
|
||||
|
||||
@if($errors->has('message'))
|
||||
<div class="alert alert-danger" onclick="this.classList.add('hidden')">{{ $errors->first('message') }}</div>
|
||||
@endif
|
||||
|
||||
<div {{ $errors->has('email') ? ' has-error' : '' }}>
|
||||
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required autofocus placeholder="Email">
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('email') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input id="password" type="password" class="form-control" name="password" required placeholder="Password">
|
||||
|
||||
@if ($errors->has('password'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('password') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="btn btn-success submit btn2 login-btn2" type="submit" value="Login Now" />
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="ex-links">
|
||||
<a href="{{ route('register') }}">Create New Account</a> <br>
|
||||
{{-- <a href="{{ url('register') }}">Register Now To Use Your Online Account</a> --}}
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<div class="separator">
|
||||
<div>
|
||||
<h1>{{ config('app.name') }} Portal</h1>
|
||||
<p>© @php echo date('Y'); @endphp - {{ config('app.name') }} - All Rights Reserved </p>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="footer-copyright text-center py-3">
|
||||
<strong> Secure SSL Area | This website is protected by secure portal © @php echo date('Y'); @endphp Clickletters LLC/M2C Academy LLC. All rights reserved.</strong>
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
234
resources/views/auth/manage_client.blade.php
Normal file
234
resources/views/auth/manage_client.blade.php
Normal file
@@ -0,0 +1,234 @@
|
||||
@extends('layouts.app')
|
||||
@push('css')
|
||||
<style>
|
||||
.color-red{
|
||||
color:red
|
||||
}
|
||||
.font-bold{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
</style>
|
||||
@endpush
|
||||
@section('content')
|
||||
@php
|
||||
$source_types = config('constant.sourceType');
|
||||
$user_type = auth()->user()->user_type;
|
||||
@endphp
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel-heading">
|
||||
<h3>Account Info <small>Manage your account info</small></h3>
|
||||
<div class="pull-right" style="margin-top: -30px;margin-right: 10px;">
|
||||
<button class="btn btn-sm btn-info" style="background: #FF440A !important;border-color: #FF440A !important;" type="button" id="btn_show_hide_text" onclick="return show_hide_textbox(this)" data-toggle="tooltip" title="Show or Hide Name,Email,SSN,Phone">
|
||||
<i class="fa fa-eye" style="font-size: 14px; color: black;" id="show_hide_icon" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('manage.clients')}}" id="client_form" autocomplete="off"
|
||||
enctype=multipart/form-data
|
||||
class="input-form-section">
|
||||
@csrf
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="firstname">First Name</label>
|
||||
<input class="form-control" name="creditreport[first_name]" placeholder="First Name" type="text"
|
||||
value="<?php echo auth()->user()->first_name; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Last Name">Last Name</label>
|
||||
<input class="form-control" name="creditreport[last_name]" placeholder="Last Name" type="text"
|
||||
value="<?php echo auth()->user()->last_name; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Date of Birth</label>
|
||||
<input class="form-control" name="creditreport[birth_date]" placeholder="Birth Date" type="text" maxlength="10" onkeyup="birthDateCompleted()"
|
||||
value="<?php echo auth()->user()->birth_date; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="ssn">Social Security Number</label>
|
||||
<input class="form-control" name="creditreport[ssn]"
|
||||
type="text" maxlength="4" placeholder="Last 4 digit of ssn"
|
||||
value="<?php echo auth()->user()->ssn; ?>"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Phone">Phone</label>
|
||||
<input class="form-control" name="creditreport[phone]" type="text" placeholder="Phone"
|
||||
value="<?php echo auth()->user()->phone; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Number">Street Number</label>
|
||||
<input class="form-control" name="creditreport[street_no]" placeholder="Street No" type="text"
|
||||
value="<?php echo auth()->user()->street_no; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Name">Street Name</label>
|
||||
<input class="form-control" name="creditreport[street_name]" placeholder="Street Name" type="text"
|
||||
value="<?php echo auth()->user()->street_name; ?>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="City">City</label>
|
||||
<input class="form-control" name="creditreport[city]" placeholder="City" type="text"
|
||||
value="<?php echo auth()->user()->city; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="State">State</label>
|
||||
<input class="form-control" name="creditreport[state]" placeholder="State" type="text"
|
||||
value="<?php echo auth()->user()->state; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Zip</label>
|
||||
<input class="form-control" name="creditreport[zip_code]" placeholder="Zip Code" type="text"
|
||||
value="<?php echo auth()->user()->zip_code; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Email</label>
|
||||
<input class="form-control" disabled name="creditreport[email]"
|
||||
type="text" placeholder="Email"
|
||||
value="<?php echo auth()->user()->email; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Password</label>
|
||||
<div class="input-group" id="manage_client_show_hide_password">
|
||||
<input class="form-control" name="creditreport[password]"
|
||||
type="password" placeholder="Password"
|
||||
value="{{customDecrypt(auth()->user()->password)}}">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="source_type">Source Type</label>
|
||||
<select name="creditreport[credit_report_company_type]" onchange="sourceTypeOnchange('{{auth()->user()->credit_report_company_type}}')" id="company_type" class="form-control">
|
||||
@foreach($source_types as $key=>$value)
|
||||
<option value="{{$value}}" {{auth()->user()->credit_report_company_type == $value ? 'selected':''}}> {{$key}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_content" id="upload-document-panel">
|
||||
@include('partials.upload_document')
|
||||
</div>
|
||||
<div class="col-md-12 hidden">
|
||||
@if(count($question_answer) > 0 && auth()->user()->credit_report_company_type == config('constant.sourceType.SmartCredit'))
|
||||
@include('partials.user_identity_question_answer',['question_answers'=>$question_answer])
|
||||
@endif
|
||||
</div>
|
||||
@if(isClientSubscription())
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
<input class="btn btn-success btn2" onclick="return client_form_submit(this,'{{ route('admin.ajax.get.process') }}','{{$user_type}}')" type="submit" value="Save Changes">
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="common_confirmation_modal" style="margin-top: 50px" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md" id="modal-dialog-panel">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h4 class="mb-2 text-center" style="color: red" id="common_message_text">
|
||||
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-footer" style="text-align: center">
|
||||
<button type="button" class="btn btn-secondary btn-lg" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (!empty($upload_medias))
|
||||
@include('partials.modal.upload_doc_modal')
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
@if(getSession('login') == 1)
|
||||
sessionStorage.setItem('user_data_viewed','0');
|
||||
sessionStorage.setItem('video_shown','0');
|
||||
{{setSession('login',0)}};
|
||||
@endif
|
||||
|
||||
if(sessionStorage.getItem('video_shown') === '0') {
|
||||
@if($is_first_login)
|
||||
modalView('FIRST_TIME_LOGIN_MODAL_VIEW','first_time_login_video_modal');
|
||||
// showFirstTimeLoginVideoModalView();
|
||||
@endif
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
<script src="{{asset('/')}}js/accountinfo/clientinfo.js?v=1.0.2"></script>
|
||||
@endpush
|
||||
113
resources/views/basic/pagination.blade.php
Normal file
113
resources/views/basic/pagination.blade.php
Normal file
@@ -0,0 +1,113 @@
|
||||
@if ($paginator->total()>0)
|
||||
|
||||
<?php
|
||||
$items_count = 3;
|
||||
$show_first_item = false;
|
||||
$show_last_item = false;
|
||||
|
||||
$limit_start= 1;
|
||||
$limit_end= 1;
|
||||
if (count($elements[0]) > $items_count*2) {
|
||||
$limit_start= $paginator->currentPage() - 1;
|
||||
$limit_end= $limit_start + 2;
|
||||
}
|
||||
|
||||
if($paginator->currentPage() >= $items_count) {
|
||||
$show_first_item= true;
|
||||
}
|
||||
if($paginator->lastPage() > $paginator->currentPage() + 1) {
|
||||
$show_last_item= true;
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
Showing {{($paginator->currentpage()-1)*$paginator->perpage()+1}}
|
||||
to {{($paginator->hasMorePages())?
|
||||
($paginator->currentpage()*$paginator->perpage()):
|
||||
$paginator->total()}}
|
||||
of {{$paginator->total()}} entries
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="pull-right">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-end">
|
||||
@if ($paginator->onFirstPage())
|
||||
<li class="page-item disabled">
|
||||
<a class="page-link" href="#" tabindex="-1">< Previous </a>
|
||||
</li>
|
||||
@else
|
||||
<li class="page-item"><a class="page-link" href="{{ $paginator->previousPageUrl() }}">< Previous </a></li>
|
||||
@endif
|
||||
|
||||
@foreach ($elements as $element)
|
||||
{{-- "Three Dots" Separator --}}
|
||||
@if (is_string($element))
|
||||
<li class="page-item disabled"><span class="">{{ $element }}</span></li>
|
||||
@endif
|
||||
|
||||
{{-- Array Of Links --}}
|
||||
@if (is_array($element))
|
||||
|
||||
@foreach ($element as $page => $url)
|
||||
|
||||
@if(count($element)>5)
|
||||
|
||||
@if($show_first_item and $page == 1)
|
||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||
@if($paginator->currentPage()!= 3)
|
||||
<li class="page-item disabled"><a class="page-link">...</a></li>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if($page >= $limit_start and $page <= $limit_end)
|
||||
@if ($page == $paginator->currentPage())
|
||||
<li class="page-item active"><a href=""><span class="page-link">{{ $page }}</span></a></li>
|
||||
@else
|
||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if($show_last_item and $page == $paginator->lastPage())
|
||||
@if($paginator->currentPage()!= $paginator->lastPage()-2)
|
||||
<li class="page-item disabled"><a class="page-link">...</a></li>
|
||||
@endif
|
||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||
@endif
|
||||
|
||||
@else
|
||||
|
||||
@if ($page == $paginator->currentPage())
|
||||
<li class="page-item active">
|
||||
<a class="page-link">{{ $page }}</a>
|
||||
</li>
|
||||
@else
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="{{ $url }}">{{ $page }}</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if ($paginator->hasMorePages())
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next"> Next ></a>
|
||||
</li>
|
||||
@else
|
||||
<li class="page-item disabled">
|
||||
<a class="page-link" href="#"> Next ></a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
51
resources/views/basic/terms_and_condition.blade.php
Normal file
51
resources/views/basic/terms_and_condition.blade.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<!-- Meta, title, CSS, favicons, etc. -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="{{ asset('images/CCE_favicon.png') }}"/>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="{{ asset('theme/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="nav-sm"> <!-- nav-sm -->
|
||||
|
||||
<div class="container body" style="margin-top: 10px">
|
||||
<div class="main_container" >
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-heading text-center">
|
||||
<h1>Terms of service</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
{{empty($content['terms_service'])?'':print_r($content['terms_service'])}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
58
resources/views/basic/terms_and_service_entry.blade.php
Normal file
58
resources/views/basic/terms_and_service_entry.blade.php
Normal file
@@ -0,0 +1,58 @@
|
||||
@extends('layouts.admin')
|
||||
@push('css')
|
||||
<link href="{{ asset('js/summernote/summernote.css') }}" rel="stylesheet">
|
||||
@endpush
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-heading">
|
||||
<h1>Terms of service</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('terms.of.service')}}" enctype="multipart/form-data">
|
||||
@csrf
|
||||
|
||||
<input type="hidden" name="id" value="{{empty($content['id'])?'':$content['id']}}" />
|
||||
<div class="form-group">
|
||||
<label>Title</label>
|
||||
|
||||
<input type="text" name="title" value="{{empty($content['title'])?'terms and service':$content['title']}}" class="form-control" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Description</label>
|
||||
|
||||
<textarea id="summernote" name="body" > {{empty($content['terms_service'])?'':$content['terms_service']}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
@if(isShowContent('terms.of.service'))
|
||||
<button type="submit" class="btn btn-success btn-block">Publish</button>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('script')
|
||||
<script src="{{asset('/')}}js/summernote/summernote.min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
let selctor=$('#summernote');
|
||||
common_helper.init_summernote(selctor);
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
|
||||
247
resources/views/client/list.blade.php
Normal file
247
resources/views/client/list.blade.php
Normal file
@@ -0,0 +1,247 @@
|
||||
@extends('layouts.admin')
|
||||
<style>
|
||||
#table-clients td {
|
||||
text-align: left !important;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
#table-clients th {
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
@php
|
||||
$pageLimit = $searchData['pageLimit'];
|
||||
$account_status = $searchData['account_status'];
|
||||
$search_value = $searchData['search_value'];
|
||||
$payment_status = $searchData['payment_status'];
|
||||
@endphp
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Client List</h3>
|
||||
@if(isShowContent('client.create'))
|
||||
<a href="{{route('client.create')}}" class="btn btn2 btn-success btn-flat pull-right">
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
Add Client
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
|
||||
<form action="{{route('get.clients')}}" method="get" role="search">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Show</label>
|
||||
<select name="pageLimit" id="pagination" class="form-control"
|
||||
onchange="this.form.submit()">
|
||||
<option value="10" @if($pageLimit == 10) selected @endif>10</option>
|
||||
<option value="20" @if($pageLimit == 20) selected @endif>20</option>
|
||||
<option value="50" @if($pageLimit == 50) selected @endif>50</option>
|
||||
<option value="100" @if($pageLimit == 100) selected @endif>100</option>
|
||||
<option value="500" @if($pageLimit == 500) selected @endif>500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Account Status</label>
|
||||
<select name="account_status" id="account_status" class="form-control">
|
||||
<option value="">All</option>
|
||||
@foreach(config('constant.ACCOUNT_STATUS') as $key => $obj )
|
||||
<option value="{{$obj}}"
|
||||
@if ($obj==$searchData['account_status'])
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$key}}</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Payment Status</label>
|
||||
<select name="payment_status" id="payment_status" class="form-control">
|
||||
<option value="">All</option>
|
||||
@if(!empty(config('constant.PAYMENT_STATUS')))
|
||||
@foreach(config('constant.PAYMENT_STATUS') as $key => $obj )
|
||||
<option value="{{$key}}"
|
||||
@if ($key == $searchData['payment_status'])
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$obj}}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Client Name/Email/Phone</label>
|
||||
<input id="search_value"
|
||||
type="text"
|
||||
value="{{$searchData['search_value']}}"
|
||||
placeholder="Search By Client Name/Email/Phone"
|
||||
class="form-control" name="search_value" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-primary btn-outline-primary" style="width:100%" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
@if(isShowContent('admin.ajax.process'))
|
||||
<button style="margin-top: 15px;" onclick="return multipleClientDelete()" type="button"
|
||||
class="btn btn-danger pull-left" style="margin-left: 10px"
|
||||
id="btnDeleteMultipleClient" disabled>Delete Client
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive py-5">
|
||||
<table id="table-clients" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" name="allChecked" value="all"
|
||||
onclick="common_helper.allChecked(this,'checkedBoxClient')"></th>
|
||||
<th>Client Name</th>
|
||||
<th>Email</th>
|
||||
<th>Phone</th>
|
||||
<th>Address</th>
|
||||
<th> Account Status</th>
|
||||
<th> Account Cancel Date</th>
|
||||
<th>Created At</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($users['data']))
|
||||
@foreach ($users['data'] as $key => $obj)
|
||||
@php
|
||||
$user_info = json_encode([$obj->id,$obj->email]);
|
||||
$action = 'DELETE_CLIENT';
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td><input type="checkbox" name="checkedBoxClient"
|
||||
value="{{ $user_info }}" onclick="checkedornot(this)"></td>
|
||||
<td>{{$obj->first_name.' '.$obj->last_name}}</td>
|
||||
<td>{{ $obj->email}}</td>
|
||||
<td>{{ $obj->phone }}</td>
|
||||
<td>{{ $obj->street_no.', '.$obj->street_name.', '.$obj->city }}</td>
|
||||
<td> @php echo getAccountStatus($obj->subscription_status,$obj->status) @endphp</td>
|
||||
<td>{{ ($obj->account_cancel_datetime !=null)? getStringToDateTime($obj->account_cancel_datetime,'m/d/Y h:i:s a'):'' }}</td>
|
||||
<td>{{ getStringToDateTime($obj->created_at,'m/d/Y h:i:s a') }}</td>
|
||||
<td>
|
||||
@if(isShowContent('get.client.info'))
|
||||
<a href="{{route('get.client.info',$obj->id)}}"
|
||||
class="btn btn-success" style="padding: 5px;"> <span
|
||||
class="glyphicon glyphicon-pencil" title="Edit"></span></a>
|
||||
@endif
|
||||
@if(isShowContent('admin.ajax.process'))
|
||||
<button onclick="return clientDelete({{$user_info}},'{{$action}}')"
|
||||
class="btn btn-danger" style="padding: 5px;"><span
|
||||
class="glyphicon glyphicon-trash" title="Delete"></span>
|
||||
</button>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div id="pagination_panel">
|
||||
{{ $users['data']->appends(compact('pageLimit' ,'account_status','payment_status', 'search_value')) ->links('basic.pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
const multipleClientDelete = () => {
|
||||
let action = 'DELETE_MULTIPLE_CLIENT';
|
||||
let checkedData = $("[name='checkedBoxClient']");
|
||||
let clientId = [];
|
||||
for (let checkbox of checkedData) {
|
||||
if (checkbox.checked)
|
||||
clientId.push(checkbox.value);
|
||||
}
|
||||
if (clientId.length > 0) {
|
||||
clientDelete(clientId,action);
|
||||
}
|
||||
}
|
||||
|
||||
const clientDelete = (userData,action) => {
|
||||
let html_content = `<h4>Are you sure you want to delete client?</h4>`;
|
||||
const swalresponse = common_helper.swalAleart(html_content, 'warning', 450, true, '', true, true, 'Yes');
|
||||
swalresponse.then(async function (result) {
|
||||
if (result.isConfirmed) {
|
||||
let response = await common_helper.globalAjaxRequest('{{route('admin.ajax.process')}}', 'POST', {
|
||||
action: action,
|
||||
userData: userData,
|
||||
_token: "{{ csrf_token() }}"
|
||||
});
|
||||
if (response.status) {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450,closeOnConfirm: true});
|
||||
window.location = `{{route('get.clients')}}`;
|
||||
} else {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450,closeOnConfirm: true});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const checkedornot = (e) => {
|
||||
|
||||
let allData = $("[name='checkedBoxClient']");
|
||||
|
||||
let checkedData = $("[name='checkedBoxClient']:checked");
|
||||
|
||||
let allChecked = false;
|
||||
let alldelete = false;
|
||||
|
||||
if(allData.length === checkedData.length){
|
||||
allChecked = true;
|
||||
}
|
||||
|
||||
if(checkedData.length === 0){
|
||||
alldelete = true;
|
||||
}
|
||||
|
||||
$("[name='allChecked']").prop('checked', allChecked);
|
||||
|
||||
$('#btnDeleteMultipleClient').prop('disabled', alldelete);
|
||||
|
||||
}
|
||||
|
||||
const paymentStatusOnChange = (e) => {
|
||||
let status = $('#payment_status').val();
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
@endpush
|
||||
307
resources/views/client/manual_client_create.blade.php
Normal file
307
resources/views/client/manual_client_create.blade.php
Normal file
@@ -0,0 +1,307 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left"> Client Registration</h3>
|
||||
@if(isShowContent('get.clients'))
|
||||
<a href="{{route('get.clients')}}" class="btn btn2 btn-success btn-flat pull-right">
|
||||
<i class="fa fa-list" aria-hidden="true"></i>
|
||||
Client List
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('client.insert')}}" id="client_form" autocomplete="off"
|
||||
class="input-form-section">
|
||||
@csrf
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="firstname">First Name</label>
|
||||
<input class="form-control" name="first_name" type="text" placeholder=" First Name" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Last Name">Last Name</label>
|
||||
<input class="form-control" name="last_name" type="text" placeholder=" Last Name">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Email</label>
|
||||
<input class="form-control" name="email"
|
||||
type="text" placeholder=" Email" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Password</label>
|
||||
<div class="input-group" id="manage_client_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password" placeholder=" Password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Phone">Phone</label>
|
||||
<input class="form-control" name="phone" type="text" placeholder=" Phone Number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Number">Street Number</label>
|
||||
<input class="form-control" name="street_no" type="text" placeholder="Street No">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Name">Street Name</label>
|
||||
<input class="form-control" name="street_name" type="text" placeholder="Street Name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="City">City</label>
|
||||
<input class="form-control" name="city" type="text" placeholder="City" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="State">State</label>
|
||||
<input class="form-control" name="state" type="text" placeholder="State" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="zip_code">Zip</label>
|
||||
<input class="form-control" name="zip_code" type="text" placeholder="Zip Code">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Date of Birth</label>
|
||||
<input class="form-control" name="birth_date" id="birth_date" type="text" maxlength="10" onkeyup="birthDateCompleted()" placeholder="mm/dd/yyyy" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="ssn">Social Security Number</label>
|
||||
<input class="form-control" name="ssn" maxlength="4"
|
||||
type="text" placeholder="Last 4 digit of ssn">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{-- <div class="form-group col-md-6 col-xs-12 text-left" >--}}
|
||||
{{-- <input class="form-check-input" type="checkbox" name="report_provider_info"--}}
|
||||
{{-- value="1" id="report_provider_info">--}}
|
||||
{{-- <label class="form-check-label" data-toggle="tooltip" data-placement="right" title="">--}}
|
||||
{{-- Credit Report Provider Information--}}
|
||||
{{-- </label>--}}
|
||||
{{-- </div>--}}
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="">Source Type</label>
|
||||
@php
|
||||
$source_types = config('constant.sourceType');
|
||||
@endphp
|
||||
<select name="source_type" class="form-control">
|
||||
@foreach($source_types as $key=>$value)
|
||||
<option value="{{$value}}"> {{$key}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 c" style="margin-top: 10px; text-align: center; ">
|
||||
<input class="btn btn-success btn2" type="submit" onclick="return client_form_submit(this)" value="Save Changes">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="common_confirmation_modal" style="margin-top: 50px" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md" id="modal-dialog-panel">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h4 class="mb-2 text-center" style="color: red" id="common_message_text">
|
||||
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-footer" style="text-align: center">
|
||||
<button type="button" class="btn btn-secondary btn-lg" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
<script>
|
||||
|
||||
$(function(){
|
||||
common_helper.datePicker('#birth_date','mm/dd/yyyy',true,null);
|
||||
|
||||
});
|
||||
|
||||
$("#manage_client_show_hide_password a").on('click', function(event) {
|
||||
common_helper.globalPasswordView('#manage_client_show_hide_password',event);
|
||||
});
|
||||
|
||||
const birthDateCompleted=()=>{
|
||||
let birth_date=$("[name='birth_date']").val();
|
||||
if(birth_date.length===2){
|
||||
birth_date+='/';
|
||||
}
|
||||
else if(birth_date.length===5){
|
||||
birth_date+='/';
|
||||
}
|
||||
$("[name='birth_date']").val(birth_date);
|
||||
}
|
||||
|
||||
const client_form_submit =(e)=>{
|
||||
$search_provider_info = $('#report_provider_info').prop("checked");
|
||||
$('#client_form').validate({
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email' : 'required',
|
||||
'password' : 'required',
|
||||
'street_no' : 'required',
|
||||
'street_name' : 'required',
|
||||
'city' : 'required',
|
||||
'state' : 'required',
|
||||
'zip_code' : 'required',
|
||||
'phone' : 'required',
|
||||
'birth_date': 'required',
|
||||
'ssn' : 'required',
|
||||
'source_type' : 'required',
|
||||
|
||||
},
|
||||
messages: {
|
||||
'first_name': {
|
||||
required: "Please enter first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter last name"
|
||||
}, 'email': {
|
||||
required: "Please enter email"
|
||||
}, 'password': {
|
||||
required: "Please enter password"
|
||||
},
|
||||
'street_no': {
|
||||
required: "Please enter street number"
|
||||
},
|
||||
'street_name': {
|
||||
required: "Please enter street name"
|
||||
},
|
||||
'state': {
|
||||
required: "Please enter state"
|
||||
},
|
||||
'city': {
|
||||
required: "Please enter city"
|
||||
},
|
||||
'zip_code': {
|
||||
required: "Please enter zip code"
|
||||
},
|
||||
'phone': {
|
||||
required: "Please enter phone number"
|
||||
},
|
||||
'birth_date': {
|
||||
required: "Please enter birth date",
|
||||
},
|
||||
'ssn': {
|
||||
required: "Please enter last 4 digit of your ssn"
|
||||
},
|
||||
'source_type': {
|
||||
required: "Please enter source type"
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
// submitHandler: function (form) {
|
||||
// form.submit();
|
||||
// }
|
||||
});
|
||||
if($('#client_form').valid()) {
|
||||
let url = '{{ route('admin.ajax.get.process') }}';
|
||||
let email = $('#client_form').find('input[name=email]').val();
|
||||
let password = $('[name="password"]').val();
|
||||
let source_type = $('[name="source_type"]').val();
|
||||
let ssn = $('[name="ssn"]').val();
|
||||
let data = {
|
||||
action: 'GET_SUBSCRIPTION_STATUS_CREDIT_REPORT_PROVIDER',
|
||||
email: email,
|
||||
password: password,
|
||||
source_type: source_type,
|
||||
ssn: ssn
|
||||
};
|
||||
|
||||
common_helper.globalAjaxRequestAsync(url, 'get', data, callbackfromreportprovider);
|
||||
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
const callbackfromreportprovider =(response)=>{
|
||||
|
||||
if(response.status) {
|
||||
$('#client_form').submit();
|
||||
}else {
|
||||
let html = response.message;
|
||||
$('#common_message_text').text(html);
|
||||
$('#common_confirmation_modal').modal('show');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
117
resources/views/client/recurring_list.blade.php
Normal file
117
resources/views/client/recurring_list.blade.php
Normal file
@@ -0,0 +1,117 @@
|
||||
@extends('layouts.admin')
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h1>Client Recurring List</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<form action="{{route('recurring.data') }}" method="post">
|
||||
@csrf
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Client Name</label>
|
||||
<input id="clientName"
|
||||
type="text"
|
||||
class="form-control" name="clientName" autocomplete="off">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>From Date</label>
|
||||
<input id="fdate"
|
||||
type="text"
|
||||
class="form-control " name="fdate" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>To Date</label>
|
||||
<input id="tdate"
|
||||
type="text"
|
||||
class="form-control" name="tdate" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-outline-info" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<table id="datatable-responsive" class="table table-striped table-hover table-responsive dt-responsive nowrap" cellspacing="0" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client Id</th>
|
||||
<th>Client Name</th>
|
||||
<th>Email</th>
|
||||
<th>Subscription Id</th>
|
||||
<th>Transaction Status</th>
|
||||
<th>Transaction Id</th>
|
||||
<th>Plan Amount</th>
|
||||
<th>Month Frequency</th>
|
||||
<th>Day Of Month</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($recurringInfo))
|
||||
@foreach ($recurringInfo as $key => $obj)
|
||||
@php
|
||||
if(($obj->transaction_status==config('constant.API_SUCCESS_CODE')))
|
||||
{
|
||||
$label='Success';
|
||||
}
|
||||
else{
|
||||
$label='Fail';
|
||||
}
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td>{{$obj->user_id}}</td>
|
||||
<td>{{$obj->name}}</td>
|
||||
<td>{{ $obj->email}}</td>
|
||||
<td>{{ $obj->subscription_id }}</td>
|
||||
<td>{{ $label }}</td>
|
||||
<td>{{ $obj->transaction_id}}</td>
|
||||
<td>{{ $obj->plan_amount }}</td>
|
||||
<td>{{ $obj->month_frequency}}</td>
|
||||
<td>{{ $obj->day_of_month }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="pagination_panel">
|
||||
{{ $recurringInfo->links('basic.pagination') }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#fdate,#tdate').val(common_helper.formatDate());
|
||||
})
|
||||
common_helper.datePicker('#fdate');
|
||||
common_helper.datePicker('#tdate');
|
||||
</script>
|
||||
@endpush
|
||||
507
resources/views/client/view.blade.php
Normal file
507
resources/views/client/view.blade.php
Normal file
@@ -0,0 +1,507 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
|
||||
@php
|
||||
$user_access_end_date = '';
|
||||
if(!empty($user['data']['user_access_end_date'])){
|
||||
$user_access_end_date = getStringToDate($user['data']['user_access_end_date'],'m/d/Y');
|
||||
}
|
||||
$inputData['subscription_status'] = $user['data']['subscription_status'];
|
||||
$inputData['status'] = $user['data']['status'];
|
||||
$inputData['is_import'] = $user['data']['is_import'];
|
||||
$waves = clientWaves(config('constant.MAX_WAVE'));
|
||||
@endphp
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0">
|
||||
<div class="panel panel-default panel-frm">
|
||||
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Account Info Of {{$user['data']['first_name'].' '.$user['data']['last_name']}}</h3>
|
||||
<form method="post" action="{{route('update.client.id')}}"
|
||||
autocomplete="off"
|
||||
class="input-form-section" id="client_activate_form">
|
||||
@csrf
|
||||
<input type="hidden" name="client_id" value="{{$user['data']['id']}}">
|
||||
@if(getClientStatus($user['data']))
|
||||
<div class="pull-right">
|
||||
<input type="hidden" name="type" value="1">
|
||||
<input class="btn btn-success btn2" type="submit" onclick="return client_activate(this)" value="Active">
|
||||
</div>
|
||||
@else
|
||||
<div class="pull-right">
|
||||
<input type="hidden" name="type" value="2">
|
||||
<input class="btn btn-success btn2" type="submit" onclick="return client_activate(this)" value="Reset Credit Report">
|
||||
</div>
|
||||
@endif
|
||||
{{-- @if(getEnableImportReset($inputData))--}}
|
||||
|
||||
|
||||
{{-- @endif--}}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('update.client')}}" id="client_form"
|
||||
autocomplete="off"
|
||||
class="input-form-section">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="{{$user['data']['id']}}">
|
||||
<input type="hidden" name="previous_email" value="{{$user['data']['email']}}">
|
||||
<div class="x_content">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="firstname">First Name</label>
|
||||
<input class="form-control" name="first_name" type="text" placeholder="First Name"
|
||||
value="{{$user['data']['first_name']}}" id="firstname">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Last Name">Last Name</label>
|
||||
<input class="form-control" name="last_name" type="text" placeholder="Last Name"
|
||||
value="{{$user['data']['last_name']}}" id="lastname">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Phone">Phone</label>
|
||||
<input class="form-control" name="phone" type="text" placeholder="Phone"
|
||||
value="{{$user['data']['phone']}}" id="phone">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Number">Street Number</label>
|
||||
<input class="form-control" name="street_no" type="text" placeholder="Street Number"
|
||||
value="{{$user['data']['street_no']}}" id="street_no">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Name">Street Name</label>
|
||||
<input class="form-control" name="street_name" type="text" placeholder="Street Name"
|
||||
value="{{$user['data']['street_name']}}"
|
||||
id="street_name">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="City">City</label>
|
||||
<input class="form-control" name="city" type="text" placeholder="City"
|
||||
value="{{$user['data']['city']}}" id="city">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="State">State</label>
|
||||
<input class="form-control" name="state" type="text" placeholder="State"
|
||||
value="{{$user['data']['state']}}" id="state">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="zip">Zip</label>
|
||||
<input class="form-control" name="zip_code" type="text" placeholder="Zip Code"
|
||||
value="{{$user['data']['zip_code']}}" id="zip_code">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
<input class="form-control" name="email" placeholder="Email"
|
||||
type="text"
|
||||
value="{{$user['data']['email']}}" id="email">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="password">Password</label>
|
||||
<div class="input-group" id="client_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password" placeholder="Password"
|
||||
value="{{customDecrypt($user['data']['password'])}}"
|
||||
id="password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash"
|
||||
aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Status">Status</label>
|
||||
|
||||
<select name="status" class="form-control">
|
||||
|
||||
<option
|
||||
value="1" {{ $user['data']['status'] == 1 ? 'selected' : '' }}>
|
||||
Active
|
||||
</option>
|
||||
<option
|
||||
value="2" {{ $user['data']['status'] == 2 ? 'selected' : '' }}>
|
||||
Inactive
|
||||
</option>
|
||||
<option
|
||||
value="2" {{ $user['data']['subscription_status'] == 2 ? 'selected' : '' }}>
|
||||
Canceled
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="month">Last Access Date</label>
|
||||
<input class="form-control" name="user_access_end_date" disabled value="{{$user['data']['user_access_end_date']}}" type="text" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12" id="user_access_date_div">
|
||||
<div class="form-group">
|
||||
<label for="month">Free Access Date</label>
|
||||
<input class="form-control" name="user_access_date" readonly id="user_access_end_date" type="text" value="{{$user_access_end_date}}" placeholder="mm/dd/yyyy">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<div class="form-group col-md-6 col-xs-12 text-left" >
|
||||
<input class="form-check-input" type="checkbox" name="change_wave"
|
||||
value="1" id="change_wave">
|
||||
<label class="form-check-label" data-toggle="tooltip" data-placement="right" title="">
|
||||
Unlock Wave
|
||||
</label>
|
||||
</div>
|
||||
<select name="wave" class="form-control" onchange="getDecision(this)" id="wave">
|
||||
@foreach($waves as $key => $value)
|
||||
@php $select = ($value['key'] == $user['data']['wave']) ? 'selected': ''; @endphp
|
||||
<option value="{{$value['key']}}" {{$select}}> {{$value['text']}} </option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
{{-- <input class="form-control" name="wave" type="text" value="{{$user['data']['wave']}}" >--}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-md-6 col-xs-12 text-left" >
|
||||
<input class="form-check-input" type="checkbox" name="report_provider_info"
|
||||
value="1" id="report_provider_info">
|
||||
<label class="form-check-label" data-toggle="tooltip" data-placement="right" title="">
|
||||
Credit Report Provider Information
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="credit_report_info">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="birth_date">Date of Birth</label>
|
||||
<input class="form-control" name="birth_date" id="birth_date" type="text"
|
||||
value="{{$user['data']['birth_date']}}" placeholder="mm/dd/yyyy">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="ssn">Social Security Number</label>
|
||||
<input class="form-control" name="ssn"
|
||||
type="text" maxlength="4"
|
||||
value="{{$user['data']['ssn']}}"
|
||||
placeholder="Last 4 digit of ssn"
|
||||
id="ssn">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="">Source Type</label>
|
||||
@php
|
||||
$source_types = config('constant.sourceType');
|
||||
@endphp
|
||||
<select name="source_type" class="form-control">
|
||||
@foreach($source_types as $key=>$value)
|
||||
<option value="{{$value}}" {{$user['data']['credit_report_company_type'] == $value ? 'selected':''}}> {{$key}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(isSupport())
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="month">Previous Import Date</label>
|
||||
<input class="form-control" name="last_import_date" readonly id="last_import_date" type="text" value="{{$user['data']['last_import_date']}}" placeholder="mm/dd/yyyy">
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@if(isShowContent('update.client'))
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
<input class="btn btn-success btn2" type="submit" onclick="return client_form_submit(this)" value="Save Changes">
|
||||
</div>
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="common_confirmation_modal" style="margin-top: 50px" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md" id="modal-dialog-panel">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h4 class="mb-2 text-center" style="color: red" id="common_message_text">
|
||||
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-footer" style="text-align: center">
|
||||
<button type="button" class="btn btn-secondary btn-lg" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
common_helper.datePicker('#user_access_end_date','mm/dd/yyyy',false,new Date(new Date().setDate(new Date().getDate() + 1)),null);
|
||||
common_helper.datePicker('#last_import_date','mm/dd/yyyy',true,null);
|
||||
common_helper.datePicker('#birth_date','mm/dd/yyyy',true,null);
|
||||
$('#wave').prop('disabled', true);
|
||||
|
||||
});
|
||||
|
||||
const client_form_submit =(e)=>{
|
||||
var data = $('#report_provider_info').prop("checked");
|
||||
|
||||
if(data) {
|
||||
$('#client_form').validate({
|
||||
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': 'required',
|
||||
'password': 'required',
|
||||
'birth_date': 'required',
|
||||
'street_no': 'required',
|
||||
'street_name': 'required',
|
||||
'city': 'required',
|
||||
'state': 'required',
|
||||
'zip_code': 'required',
|
||||
'phone': 'required',
|
||||
'ssn': 'required',
|
||||
'source_type': 'required',
|
||||
},
|
||||
|
||||
messages: {
|
||||
'first_name': {
|
||||
required: "Please enter first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter last name"
|
||||
}, 'email': {
|
||||
required: "Please enter email"
|
||||
}, 'password': {
|
||||
required: "Please enter password"
|
||||
},
|
||||
'birth_date': {
|
||||
required: "Please enter birth date",
|
||||
},
|
||||
'street_no': {
|
||||
required: "Please enter street number"
|
||||
},
|
||||
'street_name': {
|
||||
required: "Please enter street name"
|
||||
},
|
||||
'state': {
|
||||
required: "Please enter state"
|
||||
},
|
||||
'city': {
|
||||
required: "Please enter city"
|
||||
},
|
||||
'zip_code': {
|
||||
required: "Please enter zip code"
|
||||
},
|
||||
'phone': {
|
||||
required: "Please enter phone number"
|
||||
},
|
||||
'ssn': {
|
||||
required: "Please enter last 4 digit of ssn"
|
||||
},
|
||||
'source_type': {
|
||||
required: "Please enter source type"
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
|
||||
});
|
||||
if ($('#client_form').valid()) {
|
||||
let url = '{{ route('admin.ajax.get.process') }}';
|
||||
let previous_email = $('[name="previous_email"]').val();
|
||||
let email = $('#client_form').find('input[name=email]').val();
|
||||
let password = $('[name="password"]').val();
|
||||
let source_type = $('[name="source_type"]').val();
|
||||
let ssn = $('[name="ssn"]').val();
|
||||
let data = {
|
||||
action: 'GET_SUBSCRIPTION_STATUS_CREDIT_REPORT_PROVIDER',
|
||||
email: email,
|
||||
password: password,
|
||||
previous_email: previous_email,
|
||||
source_type: source_type,
|
||||
ssn: ssn
|
||||
};
|
||||
common_helper.globalAjaxRequestAsync(url, 'POST', data, callbackfromreportprovider);
|
||||
}
|
||||
return false;
|
||||
}else {
|
||||
$('#client_form').validate({
|
||||
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': 'required',
|
||||
'password': 'required',
|
||||
'street_no': 'required',
|
||||
'street_name': 'required',
|
||||
'city': 'required',
|
||||
'state': 'required',
|
||||
'zip_code': 'required',
|
||||
'phone': 'required'
|
||||
},
|
||||
|
||||
messages: {
|
||||
'first_name': {
|
||||
required: "Please enter first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter last name"
|
||||
}, 'email': {
|
||||
required: "Please enter email"
|
||||
}, 'password': {
|
||||
required: "Please enter password"
|
||||
},
|
||||
'street_no': {
|
||||
required: "Please enter street number"
|
||||
},
|
||||
'street_name': {
|
||||
required: "Please enter street name"
|
||||
},
|
||||
'state': {
|
||||
required: "Please enter state"
|
||||
},
|
||||
'city': {
|
||||
required: "Please enter city"
|
||||
},
|
||||
'zip_code': {
|
||||
required: "Please enter zip code"
|
||||
},
|
||||
'phone': {
|
||||
required: "Please enter phone number"
|
||||
},
|
||||
},
|
||||
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const callbackfromreportprovider =(response)=>{
|
||||
|
||||
if(response.status) {
|
||||
$('#client_form').submit();
|
||||
}else {
|
||||
let html = response.message;
|
||||
$('#common_message_text').text(html);
|
||||
$('#common_confirmation_modal').modal('show');
|
||||
}
|
||||
}
|
||||
|
||||
$("#client_show_hide_password a").on('click', function (event) {
|
||||
common_helper.globalPasswordView('#client_show_hide_password', event);
|
||||
})
|
||||
|
||||
const client_activate =(e) => {
|
||||
|
||||
let type = $('#client_activate_form').find('input[name=type]').val();
|
||||
|
||||
let html_content = `<h4>Are you sure you want to activate client?</h4>`;
|
||||
|
||||
if(type === '2'){
|
||||
html_content = `<h4>Are you sure you want to reset credit report?</h4>`;
|
||||
}
|
||||
|
||||
const swalresponse = common_helper.swalAleart(html_content, 'warning', 450, true, '', true, true, 'Yes');
|
||||
|
||||
swalresponse.then(function (result) {
|
||||
|
||||
if (result.isConfirmed) {
|
||||
$('#client_activate_form').submit();
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$("#change_wave").on('click', function (event) {
|
||||
|
||||
$('#wave').prop('disabled', !this.checked);
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
@endpush
|
||||
1117
resources/views/debug/getletter.blade.php
Normal file
1117
resources/views/debug/getletter.blade.php
Normal file
File diff suppressed because it is too large
Load Diff
22
resources/views/debug/one_time_password.blade.php
Normal file
22
resources/views/debug/one_time_password.blade.php
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
<h3 class="text-center" >One Time Password Recovery</h3>
|
||||
<form method="post" onsubmit="return oneTimeFormSubmit()" target="_blank" action="https://www.smartcredit.com/external-login">
|
||||
<input type="hidden" name="loginType" value="CUSTOMER">
|
||||
<input type="hidden" name="j_username" value="{{$email}}">
|
||||
<input type="hidden" name="j_password" class="form-control" value="{{$password}}">
|
||||
<div class="form-group text-center" >
|
||||
<button type="submit" class="btn btn-default btn2" >
|
||||
Click Here
|
||||
<span> <i class="fa fa-chevron-right"></i><i class="fa fa-chevron-right"></i></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function oneTimeFormSubmit(){
|
||||
$('#securityModal').modal('hide')
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
28
resources/views/email/account_closing_admin_letter.blade.php
Normal file
28
resources/views/email/account_closing_admin_letter.blade.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello Admin ,</p>
|
||||
<br/><br/>
|
||||
<p> User account of name {{$data['email_body']}} has been canceled from Credit Zombies partnered with Smartcredit credit report system . </p>
|
||||
|
||||
<br/><br/>
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Customer Support Team <br/>
|
||||
|
||||
Credit Zombies/ClickLetters LLC <br/>
|
||||
|
||||
Partner with SmartCredit
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
34
resources/views/email/account_closing_letter.blade.php
Normal file
34
resources/views/email/account_closing_letter.blade.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>CCE</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello {{$data['email_body']}} ,</p>
|
||||
<br/><br/>
|
||||
<p> Your account for Credit Counsel Elite partnered with Smartcredit credit report system was canceled. </p>
|
||||
<br/><br/>
|
||||
<p> If this was made by someone other than you please contact support at : support@clickletters.com</p>
|
||||
|
||||
<br/><br/>
|
||||
<p> If you need further assistance please let us know.</p>
|
||||
<br/><br/>
|
||||
<p> Credit Counsel Elite Owned by Clickletters LLC</p>
|
||||
<br/><br/>
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Customer Support Team <br/>
|
||||
|
||||
Credit Counsel Elite/ClickLetters LLC <br/>
|
||||
|
||||
Partner with SmartCredit
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>CCE</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello {{$data['email_body']}} ,</p>
|
||||
<br/>
|
||||
<p> Congratulations, your account is set to be activated soon. Our team has been notified and they will be activating you soon. </p>
|
||||
<br/>
|
||||
<p> Please allow 24 hours for all set up system to be turned on for you.</p>
|
||||
<br/>
|
||||
<p> If you do not see a link after 24 hours please check your spam folder for the email or contact support @</p>
|
||||
<p><a href = "mailto:support@clickletters.com"> support@clickletters.com </a></p>
|
||||
<br/>
|
||||
<p> We are here to help </p>
|
||||
<br/>
|
||||
|
||||
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Technical Support Team <br/>
|
||||
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
23
resources/views/email/account_registration_letter.blade.php
Normal file
23
resources/views/email/account_registration_letter.blade.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>CCE</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<br/>
|
||||
<p> Congratulations! Please activate {{$data['email_body']}} their email is {{$data['email']}} they are ready to be activated </p>
|
||||
<br/>
|
||||
<p>
|
||||
Thanks,<br/><br/>
|
||||
|
||||
Technical Support Team <br/>
|
||||
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
35
resources/views/email/client_confirmation_letter.blade.php
Normal file
35
resources/views/email/client_confirmation_letter.blade.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>CCE</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello {{$data['email_body']}} ,</p>
|
||||
<br/>
|
||||
<p> Congratulations, your account is now active! </p>
|
||||
<br/>
|
||||
<p> Please click the this link <a href="{{$data['url']}}">{{$data['url']}}</a> to login to your account. Use the email and password you set up with to login.</p>
|
||||
|
||||
<p> Your Email: {{$data['email']}}</p>
|
||||
<p> Your Password: {{$data['password']}}</p>
|
||||
<br/>
|
||||
<p> If you do not see a link after 24 hours please check your spam folder for the email or contact support:</p>
|
||||
<p><a href = "mailto:support@clickletters.com"> support@clickletters.com </a></p>
|
||||
<br/>
|
||||
<p> We are here to help </p>
|
||||
<br/>
|
||||
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Technical Support Team <br/>
|
||||
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
19
resources/views/email/letter.blade.php
Normal file
19
resources/views/email/letter.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Credit Counsel Elite</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Hello, {{$data['email_body']}}.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<p>
|
||||
Regards,<br/>
|
||||
Credit Counsel Elite
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
27
resources/views/email/payment_failed_letter.blade.php
Normal file
27
resources/views/email/payment_failed_letter.blade.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px">Hello {{$data['email_body']}} ,We just tried to process your credit report payment for Credit Zombies partnered with SmartCredit. You should see a charge after you update your card on file for clickletters LLC. Please update your card on file to process your payment today, to prevent any interruption in your services moving forward.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<p>If you have any questions please send and email to support@clickletters.com. </p>
|
||||
<br/>
|
||||
<p>
|
||||
Sincerely,<br/>
|
||||
|
||||
Customer Support <br/>
|
||||
|
||||
Credit Zombies/Clickletters <br/>
|
||||
|
||||
Partnerd with smartcredit
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
45
resources/views/email/payment_success_letter.blade.php
Normal file
45
resources/views/email/payment_success_letter.blade.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>CCE</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello {{$data['email_body']}} ,</p>
|
||||
<br/><br/>
|
||||
<p> Your purchase for Credit Zombies partnered with Smartcredit credit report system was just made. You will see a purchase on your bank statement for $24.97 from ClickLetters LLC.</p>
|
||||
<br/><br/>
|
||||
<p> If this was made buy someone other than you please contact support at : support@clickletters.com</p>
|
||||
<br/><br/>
|
||||
<p> Or call us at 614-547-6222</p>
|
||||
<br/><br/>
|
||||
<p> Between 9 am to 6pm eastern time</p>
|
||||
<br/><br/>
|
||||
<p> Please save this email for future use.</p>
|
||||
<br/><br/>
|
||||
<p> Step 1.</p>
|
||||
<br/><br/>
|
||||
<p> Login to your software to set up and get started</p>
|
||||
<br/><br/>
|
||||
<p> Here is the link: <a href="https://members.creditzombies.com/login">https://members.creditzombies.com/login</a></p>
|
||||
<br/><br/>
|
||||
<p> If you need further assistance please let us know, and thank you for choosing Credit Counsel Elite partner with SmartCredit</p>
|
||||
<br/><br/>
|
||||
<p> Credit Counsel Elite Owned by Clickletters LLC</p>
|
||||
<br/><br/>
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Customer Support Team <br/>
|
||||
|
||||
Credit Counsel Elite/ClickLetters LLC <br/>
|
||||
|
||||
Partner with SmartCredit
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
20
resources/views/email/reminderletter.blade.php
Normal file
20
resources/views/email/reminderletter.blade.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>businesscreditassistance</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Hello, </p>
|
||||
<br/>
|
||||
<p>{{$data['email_body']}}.</p>
|
||||
<br/>
|
||||
<p>
|
||||
Regards,<br/>
|
||||
businesscreditassistance.com
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
139
resources/views/employee/employee_info.blade.php
Normal file
139
resources/views/employee/employee_info.blade.php
Normal file
@@ -0,0 +1,139 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 25px;padding-right: 15px">
|
||||
<h3 class="pull-left">Employee Registration</h3>
|
||||
@if(isShowContent('employee.list'))
|
||||
<a href="{{route('employee.list')}}" class="btn btn-success btn-flat pull-right">
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
Employee List
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('insert.employee')}}" id="client_form" autocomplete="on" enctype=multipart/form-data class="input-form-section">
|
||||
@csrf
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="first_name">First Name</label>
|
||||
<input class="form-control" name="first_name" type="text"
|
||||
id="firstname">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="last_name">Last Name</label>
|
||||
<input class="form-control" name="last_name" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
<input class="form-control" name="email" value=""
|
||||
type="text" autocomplete="on">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="password">Password</label>
|
||||
<div class="input-group" id="employee_registration_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password"
|
||||
id="password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12" style="margin-left: 10px">
|
||||
@include('partials.permission',['moduleSubmoduleAssoc'=>$moduleSubmoduleAssoc])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
@if(isShowContent('insert.employee'))
|
||||
<input class="btn btn-success btn2" type="submit" value="Save Changes">
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
<script src="{{asset('js/jsvalidate/validate-latest.js')}}"></script>
|
||||
<script>
|
||||
$('#client_form').validate({
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': { 'required':true,'email':true},
|
||||
'password': 'required',
|
||||
'userRole': 'required',
|
||||
},
|
||||
messages: {
|
||||
|
||||
'first_name': {
|
||||
required: "Please enter your first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter your last name"
|
||||
},
|
||||
'email': {
|
||||
required: "Please enter an email address",
|
||||
email: "Please enter a valid email address"
|
||||
},
|
||||
'password': {
|
||||
required: "Please enter password again",
|
||||
},
|
||||
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
$('#employee_registration_show_hide_password a').on('click', function(event){
|
||||
common_helper.globalPasswordView('#employee_registration_show_hide_password',event);
|
||||
})
|
||||
const birthDateCompleted=()=>{
|
||||
let birth_date=$("[name='birth_date']").val();
|
||||
if(birth_date.length===2){
|
||||
birth_date+='/';
|
||||
}
|
||||
else if(birth_date.length===5){
|
||||
birth_date+='/';
|
||||
}
|
||||
$("[name='birth_date']").val(birth_date);
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
135
resources/views/employee/employee_info_edit.blade.php
Normal file
135
resources/views/employee/employee_info_edit.blade.php
Normal file
@@ -0,0 +1,135 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 25px;padding-right: 15px">
|
||||
<h3 class="pull-left">Information of {{$employee['first_name'].' '.$employee['last_name']}}</h3>
|
||||
@if(isShowContent('employee.list'))
|
||||
<a href="{{route('employee.list')}}" class="btn btn-success btn-flat pull-right">
|
||||
<i class="fa fa-list" aria-hidden="true"></i>
|
||||
Employee List
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('update.employee')}}" id="employee_edit_form" autocomplete="on" enctype=multipart/form-data class="input-form-section">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="{{$employee['id']}}">
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="first_name">First Name</label>
|
||||
<input class="form-control"
|
||||
name="first_name"
|
||||
type="text"
|
||||
value="{{$employee['first_name']}}"
|
||||
id="firstname">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="last_name">Last Name</label>
|
||||
<input class="form-control" name="last_name" value="{{$employee['last_name']}}" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
<input class="form-control" name="email" value="{{$employee['email']}}"
|
||||
type="text" autocomplete="on">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="password">Password</label>
|
||||
<div class="input-group" id="employee_edit_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password"
|
||||
value="{{customDecrypt($employee['password'])}}"
|
||||
id="password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12" style="margin-left: 10px">
|
||||
@include('partials.permission',['moduleSubmoduleAssoc'=>$moduleSubmoduleAssoc,'employee_permission'=>$employee_permission])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
@if(isShowContent('update.employee'))
|
||||
<input class="btn btn-success btn2" type="submit" value="Save Changes">
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
<script src="{{asset('js/jsvalidate/validate-latest.js')}}"></script>
|
||||
<script>
|
||||
$('#employee_edit_form').validate({
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': { 'required':true,'email':true},
|
||||
'password': 'required',
|
||||
'userRole': 'required',
|
||||
},
|
||||
messages: {
|
||||
|
||||
'first_name': {
|
||||
required: "Please enter your first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter your last name"
|
||||
},
|
||||
'email': {
|
||||
required: "Please enter an email address",
|
||||
email: "Please enter a valid email address"
|
||||
},
|
||||
'password': {
|
||||
required: "Please enter password again",
|
||||
},
|
||||
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
$('#employee_edit_show_hide_password a').on('click', function(event){
|
||||
common_helper.globalPasswordView('#employee_edit_show_hide_password',event);
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
204
resources/views/employee/employee_list.blade.php
Normal file
204
resources/views/employee/employee_list.blade.php
Normal file
@@ -0,0 +1,204 @@
|
||||
@extends('layouts.admin')
|
||||
<style>
|
||||
#table-clients td {
|
||||
text-align: left !important;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
#table-clients th {
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@php
|
||||
$pageLimit = $searchData['pageLimit'];
|
||||
$search_value = $searchData['search_value'];
|
||||
@endphp
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Employee List</h3>
|
||||
@if(isShowContent('create.employee'))
|
||||
<a href="{{route('create.employee')}}" class="btn btn-success btn-flat pull-right">
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
Add Employee
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
|
||||
<form action="{{route('employee.list')}}" method="get" role="search">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Show</label>
|
||||
<select name="pageLimit" id="pagination" class="form-control"
|
||||
onchange="this.form.submit()">
|
||||
<option value="10" @if($pageLimit == 10) selected @endif>10</option>
|
||||
<option value="20" @if($pageLimit == 20) selected @endif>20</option>
|
||||
<option value="50" @if($pageLimit == 50) selected @endif>50</option>
|
||||
<option value="100" @if($pageLimit == 100) selected @endif>100</option>
|
||||
<option value="500" @if($pageLimit == 500) selected @endif>500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Employee Name/Email</label>
|
||||
<input id="search_value"
|
||||
type="text"
|
||||
value="{{$searchData['search_value']}}"
|
||||
placeholder="Search By Name/Email"
|
||||
class="form-control" name="search_value" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-outline-info" style="width:100%" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
@if(isShowContent('admin.ajax.process'))
|
||||
<button style="margin-top: 15px;" onclick="return multipleEmployeeDelete()" type="button"
|
||||
class="btn btn-danger pull-left" style="margin-left: 10px"
|
||||
id="btnDeleteMultipleEmployee" disabled>Delete Employee
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive py-5">
|
||||
<table id="table-clients" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" name="allChecked" value="all"
|
||||
onclick="common_helper.allChecked(this,'checkedBoxEmployee')"></th>
|
||||
<th>Employee Name</th>
|
||||
<th>Email</th>
|
||||
<th>Created At</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($employees))
|
||||
@foreach ($employees as $key => $obj)
|
||||
@php
|
||||
$employee_info = json_encode([$obj->id,$obj->email]);
|
||||
$action = 'DELETE_EMPLOYEE';
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td style="text-align: center !important;"><input type="checkbox" name="checkedBoxEmployee"
|
||||
value="{{$employee_info}}" onclick="checkedornot(this)"></td>
|
||||
<td>{{$obj->first_name.' '.$obj->last_name}}</td>
|
||||
<td>{{ $obj->email}}</td>
|
||||
<td> {{ getStringToDateTime($obj->created_at,'m/d/Y h:i:s a') }} </td>
|
||||
<td>
|
||||
@if(isShowContent('get.employee.info'))
|
||||
<a href="{{route('get.employee.info',$obj->id)}}"
|
||||
class="btn btn-success" style="padding: 5px;"> <span
|
||||
class="glyphicon glyphicon-pencil" title="Edit"></span></a>
|
||||
@endif
|
||||
|
||||
@if(isShowContent('get.employee.info'))
|
||||
<button onclick="return employeeDelete({{$employee_info}},'{{$action}}')"
|
||||
class="btn btn-danger" style="padding: 5px;"><span
|
||||
class="glyphicon glyphicon-trash" title="Delete"></span>
|
||||
</button>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div id="pagination_panel">
|
||||
{{ $employees->appends(compact('pageLimit' , 'search_value')) ->links('basic.pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
const allEmployeeChecked =(e)=>{
|
||||
$('input:checkbox').prop('checked',e.checked);
|
||||
$('#btnDeleteMultipleEmployee').prop('disabled',(!e.checked));
|
||||
}
|
||||
|
||||
const multipleEmployeeDelete = () => {
|
||||
let action = 'DELETE_MULTIPLE_EMPLOYEE';
|
||||
let checkedData = $("[name='checkedBoxEmployee']");
|
||||
let clientId = [];
|
||||
for (let checkbox of checkedData) {
|
||||
if (checkbox.checked)
|
||||
clientId.push(checkbox.value);
|
||||
}
|
||||
if (clientId.length > 0) {
|
||||
employeeDelete(clientId,action);
|
||||
}
|
||||
}
|
||||
|
||||
const employeeDelete = (userData,action) => {
|
||||
let html_content = `<h4>Are you sure you want to delete employee?</h4>`;
|
||||
const swalresponse = common_helper.swalAleart(html_content, 'warning', 450, true, '', true, true, 'Yes');
|
||||
swalresponse.then(async function (result) {
|
||||
if (result.isConfirmed) {
|
||||
let response = await common_helper.globalAjaxRequest('{{route('admin.ajax.process')}}', 'POST', {
|
||||
action: action,
|
||||
userData: userData,
|
||||
delete_type:'employee',
|
||||
_token: "{{ csrf_token() }}"
|
||||
});
|
||||
if (response.status) {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450, closeOnConfirm: true});
|
||||
window.location = `{{route('employee.list')}}`;
|
||||
} else {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450, closeOnConfirm: true});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const checkedornot = (e) => {
|
||||
|
||||
let allData = $("[name='checkedBoxEmployee']");
|
||||
let checkedData = $("[name='checkedBoxEmployee']:checked");
|
||||
let allChecked = false;
|
||||
let alldelete = false;
|
||||
|
||||
if(allData.length === checkedData.length){
|
||||
allChecked = true;
|
||||
}
|
||||
|
||||
if(checkedData.length === 0){
|
||||
alldelete = true;
|
||||
}
|
||||
|
||||
$("[name='allChecked']").prop('checked', allChecked);
|
||||
|
||||
$('#btnDeleteMultipleEmployee').prop('disabled', alldelete);
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
1233
resources/views/epicvelocity/getletter.blade.php
Normal file
1233
resources/views/epicvelocity/getletter.blade.php
Normal file
File diff suppressed because it is too large
Load Diff
22
resources/views/epicvelocity/one_time_password.blade.php
Normal file
22
resources/views/epicvelocity/one_time_password.blade.php
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
<h3 class="text-center" >One Time Password Recovery</h3>
|
||||
<form method="post" onsubmit="return oneTimeFormSubmit()" target="_blank" action="https://www.smartcredit.com/external-login">
|
||||
<input type="hidden" name="loginType" value="CUSTOMER">
|
||||
<input type="hidden" name="j_username" value="{{$email}}">
|
||||
<input type="hidden" name="j_password" class="form-control" value="{{$password}}">
|
||||
<div class="form-group text-center" >
|
||||
<button type="submit" class="btn btn-default btn2" >
|
||||
Click Here
|
||||
<span> <i class="fa fa-chevron-right"></i><i class="fa fa-chevron-right"></i></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function oneTimeFormSubmit(){
|
||||
$('#securityModal').modal('hide')
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
142
resources/views/errors/404.blade.php
Normal file
142
resources/views/errors/404.blade.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>404</title>
|
||||
|
||||
<style id="" media="all">
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: url(/fonts.gstatic.com/s/montserrat/v25/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvC73w0aXpsog.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
#notfound {
|
||||
position: relative;
|
||||
height: 100vh
|
||||
}
|
||||
|
||||
#notfound .notfound {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%)
|
||||
}
|
||||
|
||||
.notfound {
|
||||
max-width: 520px;
|
||||
width: 100%;
|
||||
line-height: 1.4;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.notfound .notfound-404 {
|
||||
position: relative;
|
||||
height: 240px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1 {
|
||||
font-family: montserrat, sans-serif;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
font-size: 252px;
|
||||
font-weight: 900;
|
||||
margin: 0;
|
||||
color: #262626;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: -40px;
|
||||
margin-left: -20px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1>span {
|
||||
text-shadow: -8px 0 0 #fff
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h3 {
|
||||
font-family: cabin, sans-serif;
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #262626;
|
||||
margin: 0;
|
||||
letter-spacing: 3px;
|
||||
padding-left: 6px
|
||||
}
|
||||
|
||||
.notfound h2 {
|
||||
font-family: cabin, sans-serif;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
text-transform: uppercase;
|
||||
color: #000;
|
||||
margin-top: 0;
|
||||
margin-bottom: 25px
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 767px) {
|
||||
.notfound .notfound-404 {
|
||||
height: 200px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1 {
|
||||
font-size: 200px
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
.notfound .notfound-404 {
|
||||
height: 162px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1 {
|
||||
font-size: 162px;
|
||||
height: 150px;
|
||||
line-height: 162px
|
||||
}
|
||||
|
||||
.notfound h2 {
|
||||
font-size: 16px
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<meta name="robots" content="noindex, follow">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="notfound">
|
||||
<div class="notfound">
|
||||
<div class="notfound-404">
|
||||
<h3>Oops! Page not found</h3>
|
||||
<h1><span>4</span><span>0</span><span>4</span></h1>
|
||||
</div>
|
||||
<h2>we are sorry, but the page you requested was not found</h2>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
144
resources/views/history/list.blade.php
Normal file
144
resources/views/history/list.blade.php
Normal file
@@ -0,0 +1,144 @@
|
||||
|
||||
@extends('layouts.admin')
|
||||
|
||||
@push('css')
|
||||
<link href="{{ asset('css/support/support.css') }}" rel="stylesheet">
|
||||
@endpush
|
||||
|
||||
@php
|
||||
$pageLimit = $searchData['pageLimit'];
|
||||
$status_code = $searchData['status_code'];
|
||||
@endphp
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Iq Call Histories</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<form action="{{route('list.iq.history')}}" method="get" role="search">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Show</label>
|
||||
<select name="pageLimit" id="pagination" class="form-control"
|
||||
onchange="this.form.submit()">
|
||||
<option value="10" @if($pageLimit == 10) selected @endif>10</option>
|
||||
<option value="20" @if($pageLimit == 20) selected @endif>20</option>
|
||||
<option value="50" @if($pageLimit == 50) selected @endif>50</option>
|
||||
<option value="100" @if($pageLimit == 100) selected @endif>100</option>
|
||||
<option value="500" @if($pageLimit == 500) selected @endif>500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>From Date</label>
|
||||
<input id="fdate"
|
||||
type="text"
|
||||
class="form-control" name="fdate"
|
||||
value="{{$searchData['fdate']}}"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>To Date</label>
|
||||
<input id="tdate"
|
||||
type="text"
|
||||
class="form-control" name="tdate"
|
||||
value="{{$searchData['tdate']}}"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Page Status</label>
|
||||
<select name="status_code" class="form-control">
|
||||
<option value="" @if($status_code == '') selected @endif>Please Select</option>
|
||||
<option value="1" @if($status_code == 1) selected @endif>Ip Blocked</option>
|
||||
<option value="2" @if($status_code == 2) selected @endif>Success</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-primary btn-outline-primary" style="width:100%" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-primary btn-outline-primary" name="export" value="1" style="width:100%" type="submit">Excel Export</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive py-5">
|
||||
<table id="table-histories" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>IP</th>
|
||||
<th>Port</th>
|
||||
<th>Page</th>
|
||||
<th>Status Code</th>
|
||||
<th>Status</th>
|
||||
<th>Created On</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($histories))
|
||||
@foreach ($histories as $key => $obj)
|
||||
@php
|
||||
$status = "Success";
|
||||
if($obj->error_code == 403)
|
||||
$status = "Failed";
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td>{{ $obj->id }}</td>
|
||||
<td>{{$obj->ip}}</td>
|
||||
<td>{{$obj->port}}</td>
|
||||
<td>{{$obj->page}}</td>
|
||||
<td>{{$obj->error_code}}</td>
|
||||
<td>{{$status}}</td>
|
||||
<td>{{$obj->created_at}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div id="pagination_panel">
|
||||
{{ $histories->links('basic.pagination') }}
|
||||
<input type="hidden" name="redirect_url" value="{{route('list.iq.history')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
$(function() {
|
||||
common_helper.datePicker('#fdate',"yyyy-mm-dd",true,null);
|
||||
common_helper.datePicker('#tdate',"yyyy-mm-dd",true,null);
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
191
resources/views/layouts/admin.blade.php
Normal file
191
resources/views/layouts/admin.blade.php
Normal file
@@ -0,0 +1,191 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<!-- Meta, title, CSS, favicons, etc. -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="{{ asset('images/CCE_favicon.png') }}"/>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="{{ asset('theme/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
|
||||
<!-- NProgress -->
|
||||
<link href="{{ asset('theme/nprogress/nprogress.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-progressbar -->
|
||||
<link href="{{ asset('theme/bootstrap-progressbar/css/bootstrap-progressbar-3.3.4.min.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-daterangepicker -->
|
||||
<link href="{{ asset('theme/bootstrap-daterangepicker/daterangepicker.css') }}" rel="stylesheet">
|
||||
<!-- Custom Theme Style -->
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<link href="{{ asset('theme/google-code-prettify/bin/prettify.min.css') }}" rel="stylesheet">
|
||||
<!-- Select2 -->
|
||||
<link href="{{ asset('theme/select2/dist/css/select2.min.css') }}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{{ asset('css/loader.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('css/spinner.css') }}">
|
||||
<link href="{{ asset('theme/build/css/custom.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/improved.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/rtg_custom.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/custom.css') }}" rel="stylesheet">
|
||||
<!-- Magnific Popup Style-->
|
||||
<link href="{{ asset('js/magnify/magnific-popup.css') }}" rel="stylesheet">
|
||||
<!-- Datepicker css-->
|
||||
<link href="{{ asset('css/datepicker.css') }}" rel="stylesheet">
|
||||
<!-- summernote css-->
|
||||
<link href="{{ asset('js/summernote/summernote.css') }}" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
.container_body{
|
||||
height: fit-content;
|
||||
min-height: 752px !important;
|
||||
}
|
||||
.tr-height{
|
||||
line-height: 45px;
|
||||
min-height: 45px;
|
||||
height: 45px;
|
||||
}
|
||||
.swal2-confirm,.swal2-cancel {
|
||||
font-size: 1.4em !important;
|
||||
}
|
||||
ul#remove {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
@stack('css')
|
||||
|
||||
</head>
|
||||
|
||||
<body class="nav-md"> <!-- nav-sm -->
|
||||
<div id="spinner">
|
||||
<div id="loading">
|
||||
<span class="timer-loader">Loading…</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container body">
|
||||
<div class="main_container" >
|
||||
@if (Auth::check())
|
||||
@include('partials/adminsidemenu')
|
||||
@include('partials/admintopbar')
|
||||
<div class="right_col container_body" role="main" >
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger" onclick="this.classList.add('hidden');">
|
||||
<ul id="remove">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('success'))
|
||||
<div class="alert alert-success" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('success') }}
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('error'))
|
||||
<div class="alert alert-danger" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('error') }}
|
||||
</div>
|
||||
@endif
|
||||
@yield('content')
|
||||
</div>
|
||||
@else
|
||||
@yield('content')
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@include('partials.footer')
|
||||
<!-- jQuery -->
|
||||
<script src="{{ asset('theme/jquery/dist/jquery.min.js') }}"></script>
|
||||
<!-- Bootstrap -->
|
||||
<script src="{{ asset('theme/bootstrap/dist/js/bootstrap.min.js') }}"></script>
|
||||
<!-- Datepicker Script-->
|
||||
<script src="{{asset('/')}}js/datepicker.js"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('theme/fastclick/lib/fastclick.js') }}"></script>
|
||||
|
||||
<!-- NProgress -->
|
||||
<script src="{{ asset('theme/nprogress/nprogress.js') }}"></script>
|
||||
|
||||
<!-- validation Scripts -->
|
||||
<script src="{{asset('/')}}js/jsvalidate/jquery.validate.min.js"></script>
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<script src="{{ asset('theme/bootstrap-wysiwyg/js/bootstrap-wysiwyg.min.js') }}"></script>
|
||||
<script src="{{ asset('theme/jquery.hotkeys/jquery.hotkeys.js') }}"></script>
|
||||
<script src="{{ asset('theme/google-code-prettify/src/prettify.js') }}"></script>
|
||||
|
||||
|
||||
<!-- Custom Theme Scripts -->
|
||||
<script src="{{ asset('theme/build/js/custom.min.js') }}"></script>
|
||||
<script src="{{asset('/')}}js/Common/common-helper.js?v=1.0.2"></script>
|
||||
|
||||
<!-- Magnific Popup Script-->
|
||||
<script src="{{ asset('js/magnify/jquery.magnific-popup.js') }}"></script>
|
||||
|
||||
<!-- Sweetalert Script-->
|
||||
<script src="{{ asset('js/sweetalert2/sweetalert2.min.js') }}"></script>
|
||||
|
||||
<!-- summernote -->
|
||||
<script src="{{asset('/')}}js/summernote/summernote.min.js"></script>
|
||||
|
||||
<!-- <script>
|
||||
$(window).ready(function(){
|
||||
$(".right_col").css("height", $(document).height());
|
||||
$(".left_col").css("height", $(document).height());
|
||||
});
|
||||
</script> -->
|
||||
|
||||
<script type="text/javascript">
|
||||
function validDate(dValue) {
|
||||
if (dValue == '') dValue = $('#exp_date').val();
|
||||
var result = false;
|
||||
dValue = dValue.split('/');
|
||||
var pattern = /^\d{2}$/;
|
||||
var pattern1 = /^\d{4}$/;
|
||||
if (dValue[0] < 1 || dValue[0] > 12)
|
||||
result = true;
|
||||
|
||||
if (!pattern.test(dValue[0]) || !pattern1.test(dValue[1]))
|
||||
result = true;
|
||||
|
||||
if (dValue[2])
|
||||
result = true;
|
||||
|
||||
if (result) {
|
||||
alert("Please enter a valid date in MM/YYYY format.");
|
||||
$('#exp_date').val('');
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
const globalAjaxRequest = async (url,method,data = {})=>{
|
||||
$('#spinner').show();
|
||||
let response = {}
|
||||
try {
|
||||
response = await $.ajax({
|
||||
type: method,
|
||||
url: url,
|
||||
data: data
|
||||
})
|
||||
if (response) {
|
||||
$('#spinner').hide();
|
||||
}
|
||||
}catch (e) {
|
||||
$('#spinner').hide();
|
||||
}
|
||||
return response;
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="https://cdn.ywxi.net/js/1.js" async></script>
|
||||
@stack('script')
|
||||
</body>
|
||||
</html>
|
||||
133
resources/views/layouts/app.blade.php
Normal file
133
resources/views/layouts/app.blade.php
Normal file
@@ -0,0 +1,133 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<!-- Meta, title, CSS, favicons, etc. -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="{{ asset('images/CCE_favicon.png') }}"/>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="{{ asset('theme/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
|
||||
<!-- NProgress -->
|
||||
<link href="{{ asset('theme/nprogress/nprogress.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-progressbar -->
|
||||
<link href="{{ asset('theme/bootstrap-progressbar/css/bootstrap-progressbar-3.3.4.min.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-daterangepicker -->
|
||||
<link href="{{ asset('theme/bootstrap-daterangepicker/daterangepicker.css') }}" rel="stylesheet">
|
||||
<!-- Custom Theme Style -->
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<link href="{{ asset('theme/google-code-prettify/bin/prettify.min.css') }}" rel="stylesheet">
|
||||
<!-- Select2 -->
|
||||
<link href="{{ asset('theme/select2/dist/css/select2.min.css') }}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{{ asset('css/loader.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('css/spinner.css') }}">
|
||||
<link href="{{ asset('theme/build/css/custom.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/improved.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/rtg_custom.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/iq-default.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/smart_credit_report.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/custom.css') }}" rel="stylesheet">
|
||||
<!-- Magnific Popup Style-->
|
||||
<link href="{{ asset('js/magnify/magnific-popup.css') }}" rel="stylesheet">
|
||||
<!-- Summernote Style-->
|
||||
<link href="{{ asset('js/summernote/summernote.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/client_layout.css') }}" rel="stylesheet">
|
||||
|
||||
@stack('css')
|
||||
|
||||
</head>
|
||||
|
||||
<body class="nav-md"> <!-- nav-sm -->
|
||||
<div id="spinner" class="loading">
|
||||
<div id="loading">
|
||||
<span class="timer-loader">Loading…</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container body">
|
||||
<div class="main_container">
|
||||
@if (Auth::check())
|
||||
@include('partials/sidemenu')
|
||||
@include('partials/topbar')
|
||||
<div class="right_col container_body" role="main" >
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger" style="margin-top: 50px" onclick="this.classList.add('hidden');">
|
||||
<ul id="remove">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('success'))
|
||||
<div class="alert alert-success" style="margin-top: 50px" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('success') }}
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('error'))
|
||||
<div class="alert alert-danger" style="margin-top: 50px" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('error') }}
|
||||
</div>
|
||||
@endif
|
||||
@yield('content')
|
||||
{{-- @include('partials.modal_views')--}}
|
||||
@include('partials.footer')
|
||||
</div>
|
||||
@else
|
||||
@yield('content')
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{{ asset('theme/jquery/dist/jquery.min.js') }}"></script>
|
||||
<!-- Bootstrap -->
|
||||
<script src="{{ asset('theme/bootstrap/dist/js/bootstrap.min.js') }}"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('theme/fastclick/lib/fastclick.js') }}"></script>
|
||||
|
||||
<!-- NProgress -->
|
||||
<script src="{{ asset('theme/nprogress/nprogress.js') }}"></script>
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<script src="{{ asset('theme/bootstrap-wysiwyg/js/bootstrap-wysiwyg.min.js') }}"></script>
|
||||
<script src="{{ asset('theme/jquery.hotkeys/jquery.hotkeys.js') }}"></script>
|
||||
<script src="{{ asset('theme/google-code-prettify/src/prettify.js') }}"></script>
|
||||
|
||||
<!-- validation Scripts -->
|
||||
<script src="{{asset('/')}}js/jsvalidate/jquery.validate.min.js"></script>
|
||||
|
||||
<!-- Custom Theme Scripts -->
|
||||
<script src="{{ asset('theme/build/js/custom.min.js') }}"></script>
|
||||
<script src="{{asset('/')}}js/Common/common-helper.js?v=1.0.2"></script>
|
||||
|
||||
<!-- Magnific Popup Script-->
|
||||
<script src="{{ asset('js/magnify/jquery.magnific-popup.js') }}"></script>
|
||||
|
||||
<!-- Sweetalert Script-->
|
||||
<script src="{{ asset('js/sweetalert2/sweetalert2.min.js') }}"></script>
|
||||
|
||||
<!-- vimeo player -->
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
|
||||
<!-- summernote -->
|
||||
<script src="{{asset('/')}}js/summernote/summernote.min.js"></script>
|
||||
<!-- <script>
|
||||
$(window).ready(function(){
|
||||
$(".right_col").css("height", $(document).height());
|
||||
$(".left_col").css("height", $(document).height());
|
||||
});
|
||||
</script> -->
|
||||
|
||||
<script type="text/javascript" src="https://cdn.ywxi.net/js/1.js" async></script>
|
||||
@stack('script')
|
||||
</body>
|
||||
</html>
|
||||
87
resources/views/layouts/lg-pdf-css.blade.php
Normal file
87
resources/views/layouts/lg-pdf-css.blade.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<head>
|
||||
<title>pdf</title>
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ public_path('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ public_path('css/iq-default.min.css') }}" rel="stylesheet">
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-size: 18px;
|
||||
margin-top: 120px;
|
||||
font-family: -webkit-body;
|
||||
color: black;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
text-align: justify;
|
||||
|
||||
}
|
||||
.span-red { color: red; }
|
||||
.span-large { font-size: 20px; text-align: center; }
|
||||
.span-ul {text-decoration: underline; color: #333;background-color: yellow;font-size: 18px;}
|
||||
.span-blue { color: #8aaed3;font-size: 20px; }
|
||||
.txt-cen-ul {text-align: center;text-decoration: underline;font-weight: bold;}
|
||||
.span-ul2 {text-decoration: underline; color: #333;}
|
||||
/* div.cb-content * {
|
||||
background-color: #eded80;
|
||||
} */
|
||||
.bg-yellow {
|
||||
background-color:#e3f10d;
|
||||
font-weight: bold;
|
||||
}
|
||||
.bg-pink {
|
||||
background-color: #ead0ea;
|
||||
}
|
||||
.bg-tra {
|
||||
background-color: #DAB96A;
|
||||
}
|
||||
.bg-exp {
|
||||
background-color: #98BDC5;
|
||||
}
|
||||
.bg-equ {
|
||||
background-color: #CBD06C;
|
||||
}
|
||||
.bg-yellow2 {
|
||||
background-color:#e8de5e;
|
||||
}
|
||||
.cb-br {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
background-color: #ccc;
|
||||
}
|
||||
.span-cl-green {
|
||||
color: #1bd618
|
||||
}
|
||||
.addr_hsrty{
|
||||
font-size:9px;
|
||||
border-spacing: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.addr_hsrty td{
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
table.addr_hsrty td.headerTUC, table.addr_hsrty td.headerEXP, table.addr_hsrty td.headerEQF {
|
||||
background-color: transparent !important;
|
||||
color: black;
|
||||
}
|
||||
.cl-diff {
|
||||
font-weight: bold !important;
|
||||
font-size: 13px !important;
|
||||
/*color: red;
|
||||
mix-blend-mode: exclusion;*/
|
||||
}
|
||||
.clr-red {
|
||||
color: red;
|
||||
}
|
||||
.bg-light-red {
|
||||
background-color: #f19191;
|
||||
}
|
||||
.span-simple-ul {text-decoration: underline;}
|
||||
.acct-cb-img table{
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.lower-part table{
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
91
resources/views/layouts/lg-pdf.blade.php
Normal file
91
resources/views/layouts/lg-pdf.blade.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@include('layouts.lg-pdf-css')
|
||||
<body>
|
||||
<div class="container" style="margin-top: 30px;">
|
||||
<div class="row" id="pdf">
|
||||
<div class="row"><br></div>
|
||||
<div class="row">
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td style="width:50%">
|
||||
<span style="float:left" class="span-red">Today's Date is: <span
|
||||
class="span-ul">{{$universal['today']}}</span></span>
|
||||
</td>
|
||||
<td style="width:50%">
|
||||
<span
|
||||
class="span-large">Credit Report Data Resource:</span> <span
|
||||
style="font-size:16px;" class="span-ul" style="float: right;">{{$universal['cr_resource']}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<p class="span-red">My First and Last Name is and ONLY is <span
|
||||
class="span-ul">{{$universal['name']}}</span></p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p class="span-red">My Address Street Number, Street Name, City, and State is and only is</p>
|
||||
<p class="span-ul">{{$universal['address']}}</p><br>
|
||||
<p class="span-red">My Date of Birth is and only is <span class="span-ul">{{$universal['dob']}}</span>
|
||||
</p>
|
||||
<p class="span-red">My current Legally acquired lawful Social Security Number last four is and only is
|
||||
<span class="span-ul">{{$universal['ssn']}}</span></p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>****To begin, I would like to ensure you have and ONLY RETAIN current, TRUE, CORRECT, COMPLETE, and
|
||||
MANDATED REPORTED information per FCRA regulations, any and all others that might be reported now or
|
||||
else wise I DEMAND, as is my lawful RIGHT(s) to do so, that you annul permanently and immediately any
|
||||
and all deficient of these afore-noted conditions, mentioned or not, especially if related directly or
|
||||
indirectly to any potentially injurious information be it true or unknown! Again, I DO NOT AUTHORIZE you
|
||||
to mis-report any mis-information now or ever, please review and ENSURE your adequate and full
|
||||
accordance to the laws upon which govern your practice of reporting consumer credit profiles. </p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(a)I do NOT have any requisite OTHER NAMES or aliases and I do NOT desire any OTHER NAMES or aliases to
|
||||
be retained or reported, if ANY DELETE NOW or produce PROOF of your legitimate AUTHORITY to retain much
|
||||
less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(b)I do NOT have any requisite OTHER CURRENT addresses and I do NOT desire any OTHER ADDRESSES to be
|
||||
retained or reported, if ANY DELETE NOW or produce PROOF of your legitimate AUTHORITY to retain much
|
||||
less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(c )I do NOT have any requisite OTHER SSNs and I do NOT desire any OTHER SSNs to be retained or reported,
|
||||
if ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much less report without
|
||||
infringing my consumer right(s)..</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(d)I do NOT have any requisite OTHER Dates of Birth and I do NOT desire any OTHER Dates of Birth to be
|
||||
retained or reported, if ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much
|
||||
less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(e)I do NOT have any requisite telephone numbers and I do NOT desire any telephone numbers to be retained
|
||||
or reported, if ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much less report
|
||||
without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(f)I do NOT have any requisite employers and I do NOT desire any employers to be retained or reported, if
|
||||
ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much less report without
|
||||
infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(g)I do NOT have any requisite spouses/ roommates/ co-applicants and I do NOT desire any spouses/
|
||||
roommates/ co-applicants to be retained or reported, if ANY DELETE NOW or product PROOF of your
|
||||
legitimate AUTHORITY to retain much less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
|
||||
@yield('content')
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
42
resources/views/layouts/lg-pdf2.blade.php
Normal file
42
resources/views/layouts/lg-pdf2.blade.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@include('layouts.lg-pdf-css')
|
||||
<body>
|
||||
<div class="container" style="margin-top: 30px;">
|
||||
<div class="row" id="pdf">
|
||||
<div class="row"><br></div>
|
||||
<div class="row">
|
||||
@yield('header_content')
|
||||
<!-- <p><span style="float:left" class="span-red">Today's Date is: <span class="span-ul">{{$universal['today']}}</span></span> <span style="margin-left: 90px;width: 200px;" class="span-large">Credit Report Data Resource:</span> <span style="font-size:16px;" class="span-ul" style="float: right;">{{$universal['cr_resource']}} </span></p>-->
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td style="width:50%">
|
||||
<span style="float:left" class="span-red">Today's Date is: <span
|
||||
class="span-ul">{{$universal['today']}}</span></span>
|
||||
</td>
|
||||
<td style="width:50%">
|
||||
<span
|
||||
style="margin-left: 90px;width: 150px;"
|
||||
class="span-large">Credit Report Data Resource:</span> <span
|
||||
style="font-size:16px;" class="span-ul" style="float: right;">{{$universal['cr_resource']}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><br>
|
||||
<div class="row">
|
||||
<p class="span-red">My First and Last Name is and ONLY is <span class="span-ul">{{$universal['name']}} </span></p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p class="span-red">My Address Street Number, Street Name, City, and State is and only is</p>
|
||||
<p class="span-ul">{{$universal['address']}} </p><br>
|
||||
<p class="span-red">My Date of Birth is and only is <span class="span-ul">{{$universal['dob']}} </span></p>
|
||||
|
||||
</div>
|
||||
|
||||
@yield('content')
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user