31 lines
1010 B
HTML
31 lines
1010 B
HTML
<form id="airport-search-form">
|
|
<input type="text" id="q" name="q" />
|
|
<button type="submit" name="Los" title="Los">Los</button>
|
|
</form>
|
|
<div id="airport-results"></div>
|
|
|
|
<script type="module">
|
|
import { Calco2latoClient } from '/js/calco2lato.js';
|
|
|
|
const api = new Calco2latoClient('/api-proxy.php');
|
|
|
|
const form = document.querySelector('#airport-search-form');
|
|
const list = document.querySelector('#airport-results');
|
|
|
|
form.addEventListener('submit', async (e) => {
|
|
e.preventDefault();
|
|
list.innerHTML = 'Loading…';
|
|
try {
|
|
const q = new FormData(form).get('q');
|
|
const airports = await api.searchAirports(q, 10, 1);
|
|
list.innerHTML = airports.map(a => `<li>${a.display}</li>`).join('');
|
|
} catch (err) {
|
|
list.innerHTML = `<li style="color:red">${err.message}</li>`;
|
|
}
|
|
});
|
|
|
|
// Example flight estimate:
|
|
// const est = await api.estimateFlight({ origin: 'FRA', destination: 'LHR', pax: 1, cabin: 'economy' });
|
|
// console.log(est.summary());
|
|
</script>
|