34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
if (window.bootstrap) {
|
|
document.querySelectorAll('.toast').forEach((toastEl) => {
|
|
const toast = new bootstrap.Toast(toastEl, { delay: 4200 });
|
|
toast.show();
|
|
});
|
|
}
|
|
|
|
const pickupInput = document.querySelector('[data-route-source]');
|
|
const destinationInput = document.querySelector('[data-route-destination]');
|
|
const preview = document.querySelector('[data-route-preview]');
|
|
|
|
const syncRoutePreview = () => {
|
|
if (!preview) return;
|
|
const pickup = pickupInput?.value.trim() || 'Origen';
|
|
const destination = destinationInput?.value.trim() || 'Destino';
|
|
preview.textContent = `${pickup} → ${destination}`;
|
|
};
|
|
|
|
[pickupInput, destinationInput].forEach((input) => {
|
|
input?.addEventListener('input', syncRoutePreview);
|
|
});
|
|
syncRoutePreview();
|
|
|
|
const now = new Date();
|
|
now.setMinutes(now.getMinutes() - now.getTimezoneOffset());
|
|
const minDateTime = now.toISOString().slice(0, 16);
|
|
document.querySelectorAll('[data-min-now]').forEach((input) => {
|
|
if (!input.getAttribute('min')) {
|
|
input.setAttribute('min', minDateTime);
|
|
}
|
|
});
|
|
});
|