Compare commits
No commits in common. "7aa57f6082cc29d9f4585b754ad8913d86da6bfd" and "b9bbdc78a2fdc45f4d33e1c4df810be3bbbaf9c5" have entirely different histories.
7aa57f6082
...
b9bbdc78a2
|
|
@ -122,7 +122,7 @@
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="position-relative">
|
<div class="position-relative">
|
||||||
<label class="form-label">{{ __('addresses.phone') }}</label>
|
<label class="form-label">{{ __('addresses.phone') }}</label>
|
||||||
<input type="number" class="form-control new-phone" required>
|
<input type="tel" class="form-control new-phone" required>
|
||||||
<div class="invalid-feedback">{{ __('addresses.please_enter_phone') }}</div>
|
<div class="invalid-feedback">{{ __('addresses.please_enter_phone') }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -169,7 +169,7 @@
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="position-relative">
|
<div class="position-relative">
|
||||||
<label class="form-label">{{ __('addresses.zip_code') }}</label>
|
<label class="form-label">{{ __('addresses.zip_code') }}</label>
|
||||||
<input type="number" class="form-control new-zip" required>
|
<input type="text" class="form-control new-zip" required>
|
||||||
<div class="invalid-feedback">{{ __('addresses.please_enter_zip_code') }}</div>
|
<div class="invalid-feedback">{{ __('addresses.please_enter_zip_code') }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1066,7 +1066,7 @@
|
||||||
|
|
||||||
// Get postal code
|
// Get postal code
|
||||||
const zipInput = isNewAddress ?
|
const zipInput = isNewAddress ?
|
||||||
form.querySelector('.new-zip') : form.querySelector('.postal_code');
|
form.querySelector('#new-zip') : form.querySelector('.postal_code');
|
||||||
if (zipInput) submitData.postal_code = zipInput.value;
|
if (zipInput) submitData.postal_code = zipInput.value;
|
||||||
|
|
||||||
// Get latitude
|
// Get latitude
|
||||||
|
|
@ -1122,34 +1122,9 @@
|
||||||
if (isNewAddress) {
|
if (isNewAddress) {
|
||||||
// Close modal and reload page
|
// Close modal and reload page
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// Try multiple methods to close the modal
|
|
||||||
try {
|
|
||||||
// Method 1: Using Bootstrap 5 API if available
|
|
||||||
if (typeof bootstrap !== 'undefined' && bootstrap.Modal) {
|
|
||||||
const modal = bootstrap.Modal.getInstance(newAddressModal);
|
const modal = bootstrap.Modal.getInstance(newAddressModal);
|
||||||
if (modal) modal.hide();
|
if (modal) modal.hide();
|
||||||
} else {
|
reloadAddresses();
|
||||||
// Method 2: Using jQuery if available
|
|
||||||
if (typeof $ !== 'undefined') {
|
|
||||||
$(newAddressModal).modal('hide');
|
|
||||||
} else {
|
|
||||||
// Method 3: Using native DOM manipulation
|
|
||||||
newAddressModal.style.display = 'none';
|
|
||||||
document.body.classList.remove('modal-open');
|
|
||||||
const backdrop = document.querySelector('.modal-backdrop');
|
|
||||||
if (backdrop) backdrop.remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.warn('Error closing modal:', error);
|
|
||||||
// Fallback: hide modal manually
|
|
||||||
newAddressModal.style.display = 'none';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Refresh page after successful submission
|
|
||||||
setTimeout(() => {
|
|
||||||
window.location.reload();
|
|
||||||
}, 500);
|
|
||||||
}, 1500);
|
}, 1500);
|
||||||
} else {
|
} else {
|
||||||
// Close the edit form and show preview after delay
|
// Close the edit form and show preview after delay
|
||||||
|
|
@ -1168,7 +1143,6 @@
|
||||||
reloadAddresses();
|
reloadAddresses();
|
||||||
}, 2000);
|
}, 2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Show error message in form
|
// Show error message in form
|
||||||
const errorElement = form.querySelector(isNewAddress ?
|
const errorElement = form.querySelector(isNewAddress ?
|
||||||
|
|
|
||||||
|
|
@ -107,29 +107,61 @@
|
||||||
<a type="button" href="{{ route('addresses') }}"
|
<a type="button" href="{{ route('addresses') }}"
|
||||||
class="btn btn-outline-primary btn-sm">Edit</a>
|
class="btn btn-outline-primary btn-sm">Edit</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="row g-1">
|
<div class="row g-3">
|
||||||
<div>
|
<div class="col-md-6">
|
||||||
<span id="firstName"></span>
|
<label for="firstName"
|
||||||
(<span id="phone"></span>)
|
class="form-label">{{ __('checkout.first_name') }}</label>
|
||||||
|
<input type="text" class="form-control" id="firstName" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
</div>
|
</div>
|
||||||
|
{{-- <div class="col-md-6">
|
||||||
<div id="address"></div>
|
<label for="lastName"
|
||||||
|
class="form-label">{{ __('checkout.last_name') }}</label>
|
||||||
<div>
|
<input type="text" class="form-control" id="lastName" readonly
|
||||||
<span id="city"></span>,
|
style="border: none; background-color: #f8f9fa;">
|
||||||
<span id="state"></span>, <span id="zip"></span>
|
</div> --}}
|
||||||
|
<div class="col-12">
|
||||||
|
<label for="phone"
|
||||||
|
class="form-label">{{ __('checkout.phone') }}</label>
|
||||||
|
<input type="tel" class="form-control" id="phone" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
<div>
|
<label for="address"
|
||||||
<span id="latitude"></span>,
|
class="form-label">{{ __('checkout.address') }}</label>
|
||||||
<span id="longitude"></span>
|
<input type="text" class="form-control" id="address" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label for="city"
|
||||||
|
class="form-label">{{ __('checkout.city') }}</label>
|
||||||
|
<input type="text" class="form-control" id="city" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label for="state"
|
||||||
|
class="form-label">{{ __('checkout.state') }}</label>
|
||||||
|
<input type="text" class="form-control" id="state" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2">
|
||||||
|
<label for="zip"
|
||||||
|
class="form-label">{{ __('checkout.zip') }}</label>
|
||||||
|
<input type="text" class="form-control" id="zip" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label for="latitude"
|
||||||
|
class="form-label">Latitude</label>
|
||||||
|
<input type="text" class="form-control" id="latitude" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label for="longitude"
|
||||||
|
class="form-label">Longitude</label>
|
||||||
|
<input type="text" class="form-control" id="longitude" readonly
|
||||||
|
style="border: none; background-color: #f8f9fa;">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -298,16 +330,15 @@
|
||||||
|
|
||||||
if (selectedOption && selectedOption.value) {
|
if (selectedOption && selectedOption.value) {
|
||||||
// Populate all shipping address form fields
|
// Populate all shipping address form fields
|
||||||
document.getElementById('firstName').textContent = selectedOption.dataset.firstName || '';
|
document.getElementById('firstName').value = selectedOption.dataset.firstName || '';
|
||||||
// document.getElementById('lastName').value = selectedOption.dataset.lastName || '';
|
// document.getElementById('lastName').value = selectedOption.dataset.lastName || '';
|
||||||
document.getElementById('address').textContent = selectedOption.dataset.address || '';
|
document.getElementById('address').value = selectedOption.dataset.address || '';
|
||||||
document.getElementById('city').textContent = selectedOption.dataset.city || '';
|
document.getElementById('city').value = selectedOption.dataset.city || '';
|
||||||
document.getElementById('state').textContent = selectedOption.dataset.state || '';
|
document.getElementById('state').value = selectedOption.dataset.state || '';
|
||||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
document.getElementById('zip').value = selectedOption.dataset.postcode || '';
|
||||||
document.getElementById('phone').textContent = selectedOption.dataset.phone || '';
|
document.getElementById('phone').value = selectedOption.dataset.phone || '';
|
||||||
document.getElementById('latitude').textContent = selectedOption.dataset.latitude || '';
|
document.getElementById('latitude').value = selectedOption.dataset.latitude || '';
|
||||||
document.getElementById('longitude').textContent = selectedOption.dataset.longitude || '';
|
document.getElementById('longitude').value = selectedOption.dataset.longitude || '';
|
||||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
|
||||||
|
|
||||||
// Update order summary with postcode
|
// Update order summary with postcode
|
||||||
if (selectedOption.dataset.postcode) {
|
if (selectedOption.dataset.postcode) {
|
||||||
|
|
@ -328,34 +359,30 @@
|
||||||
|
|
||||||
if (this.value === 'new' || this.value === '') {
|
if (this.value === 'new' || this.value === '') {
|
||||||
// Clear form fields for new address
|
// Clear form fields for new address
|
||||||
document.getElementById('firstName').textContent = '';
|
document.getElementById('firstName').value = '';
|
||||||
// document.getElementById('lastName').value = '';
|
// document.getElementById('lastName').value = '';
|
||||||
document.getElementById('address').textContent = '';
|
document.getElementById('address').value = '';
|
||||||
document.getElementById('city').textContent = '';
|
document.getElementById('city').value = '';
|
||||||
document.getElementById('state').textContent = '';
|
document.getElementById('state').value = '';
|
||||||
document.getElementById('zip').textContent = '';
|
document.getElementById('zip').value = '';
|
||||||
document.getElementById('phone').textContent = '';
|
document.getElementById('phone').value = '';
|
||||||
document.getElementById('latitude').textContent = '';
|
document.getElementById('latitude').value = '';
|
||||||
document.getElementById('longitude').textContent = '';
|
document.getElementById('longitude').value = '';
|
||||||
document.getElementById('zip').textContent = '';
|
document.getElementById('zip').value = '';
|
||||||
// Clear address ID input
|
// Clear address ID input
|
||||||
document.getElementById('addressIdInput').value = '';
|
document.getElementById('addressIdInput').value = '';
|
||||||
} else {
|
} else {
|
||||||
// Populate form fields with selected address
|
// Populate form fields with selected address
|
||||||
document.getElementById('firstName').textContent = selectedOption.dataset
|
document.getElementById('firstName').value = selectedOption.dataset.firstName || '';
|
||||||
.firstName || '';
|
|
||||||
// document.getElementById('lastName').value = selectedOption.dataset.lastName || '';
|
// document.getElementById('lastName').value = selectedOption.dataset.lastName || '';
|
||||||
document.getElementById('address').textContent = selectedOption.dataset.address ||
|
document.getElementById('address').value = selectedOption.dataset.address || '';
|
||||||
'';
|
document.getElementById('city').value = selectedOption.dataset.city || '';
|
||||||
document.getElementById('city').textContent = selectedOption.dataset.city || '';
|
document.getElementById('state').value = selectedOption.dataset.state || '';
|
||||||
document.getElementById('state').textContent = selectedOption.dataset.state || '';
|
document.getElementById('zip').value = selectedOption.dataset.postcode || '';
|
||||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
document.getElementById('phone').value = selectedOption.dataset.phone || '';
|
||||||
document.getElementById('phone').textContent = selectedOption.dataset.phone || '';
|
document.getElementById('latitude').value = selectedOption.dataset.latitude || '';
|
||||||
document.getElementById('latitude').textContent = selectedOption.dataset.latitude ||
|
document.getElementById('longitude').value = selectedOption.dataset.longitude || '';
|
||||||
'';
|
document.getElementById('zip').value = selectedOption.dataset.postcode || '';
|
||||||
document.getElementById('longitude').textContent = selectedOption.dataset
|
|
||||||
.longitude || '';
|
|
||||||
document.getElementById('zip').textContent = selectedOption.dataset.postcode || '';
|
|
||||||
// Update address ID input
|
// Update address ID input
|
||||||
document.getElementById('addressIdInput').value = this.value;
|
document.getElementById('addressIdInput').value = this.value;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue