ctrlpanel/themes/default/views/models/redeem_voucher_modal.blade.php

110 lines
4 KiB
PHP
Raw Normal View History

2021-07-09 22:18:22 +00:00
<!-- The Modal -->
<div class="modal fade" id="redeemVoucherModal">
<div class="modal-dialog">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
2021-12-13 09:42:22 +00:00
<h4 class="modal-title">{{__('Redeem voucher code')}}</h4>
2021-07-09 22:18:22 +00:00
<button type="button" class="close" data-dismiss="modal">&times;</button>
</div>
<!-- Modal body -->
<div class="modal-body">
2021-07-10 06:58:11 +00:00
<form id="redeemVoucherForm" onsubmit="return false" method="post" action="{{route('voucher.redeem')}}">
2021-07-09 22:18:22 +00:00
<div class="form-group">
2021-12-13 09:42:22 +00:00
<label for="redeemVoucherCode">{{__('Code')}}</label>
2021-07-09 22:18:22 +00:00
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">
<i class="fas fa-money-check-alt"></i>
</div>
</div>
<input id="redeemVoucherCode" name="code" placeholder="SUMMER" type="text"
class="form-control">
2021-07-09 22:18:22 +00:00
</div>
2021-07-10 06:58:11 +00:00
<span id="redeemVoucherCodeError" class="text-danger"></span>
<span id="redeemVoucherCodeSuccess" class="text-success"></span>
2021-07-09 22:18:22 +00:00
</div>
</form>
</div>
<!-- Modal footer -->
<div class="modal-footer">
2021-12-13 09:42:22 +00:00
<button type="button" class="btn btn-danger" data-dismiss="modal">{{__('Close')}}</button>
<button name="submit" id="redeemVoucherSubmit" onclick="redeemVoucherCode()" type="button"
2021-12-13 09:42:22 +00:00
class="btn btn-primary">{{__('Redeem')}}
</button>
2021-07-09 22:18:22 +00:00
</div>
</div>
</div>
</div>
<script>
function redeemVoucherCode() {
2021-07-10 06:58:11 +00:00
let form = document.getElementById('redeemVoucherForm')
let button = document.getElementById('redeemVoucherSubmit')
let input = document.getElementById('redeemVoucherCode')
console.log(form.method, form.action)
2021-07-10 06:58:11 +00:00
button.disabled = true
2021-07-09 22:18:22 +00:00
$.ajax({
method: form.method,
url: form.action,
2021-07-10 06:58:11 +00:00
dataType: 'json',
data: {
"_token": "{{ csrf_token() }}",
code: input.value
2021-07-10 06:58:11 +00:00
},
success: function (response) {
2021-07-10 06:58:11 +00:00
resetForm()
redeemVoucherSetSuccess(response)
setTimeout(() => {
$('#redeemVoucherModal').modal('toggle');
} , 1500)
2021-07-10 06:58:11 +00:00
},
error: function (jqXHR, textStatus, errorThrown) {
2021-07-10 06:58:11 +00:00
resetForm()
redeemVoucherSetError(jqXHR)
2021-07-10 06:58:11 +00:00
console.error(jqXHR.responseJSON)
},
2021-07-09 22:18:22 +00:00
})
}
2021-07-10 06:58:11 +00:00
function resetForm() {
2021-07-10 06:58:11 +00:00
let button = document.getElementById('redeemVoucherSubmit')
let input = document.getElementById('redeemVoucherCode')
let successLabel = document.getElementById('redeemVoucherCodeSuccess')
let errorLabel = document.getElementById('redeemVoucherCodeError')
input.classList.remove('is-invalid')
input.classList.remove('is-valid')
successLabel.innerHTML = ''
errorLabel.innerHTML = ''
button.disabled = false
}
function redeemVoucherSetError(error) {
2021-07-10 06:58:11 +00:00
let input = document.getElementById('redeemVoucherCode')
let errorLabel = document.getElementById('redeemVoucherCodeError')
input.classList.add("is-invalid")
errorLabel.innerHTML = error.status === 422 ? error.responseJSON.errors.code[0] : error.responseJSON.message
2021-07-10 06:58:11 +00:00
}
function redeemVoucherSetSuccess(response) {
2021-07-10 06:58:11 +00:00
let input = document.getElementById('redeemVoucherCode')
let successLabel = document.getElementById('redeemVoucherCodeSuccess')
successLabel.innerHTML = response.success
input.classList.remove('is-invalid')
input.classList.add('is-valid')
}
2021-07-09 22:18:22 +00:00
</script>