Effortless Flight Searches with Archie.ai: Find Your Return Flights Easily

Return flights - Поиск обратных рейсов на Archie.ai - Найдите обратные рейсы




  
  
  Return flights - Archie.ai
  
  
  
    body {
      margin: 0;
      font-family: 'Helvetica', 'Arial', sans-serif;
    }

    .container {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      height: 100vh;
    }

    form {
      margin: 80px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .input-container {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .mdc-text-field {
      width: 300px;
    }

    .button-container {
      display: flex;
      gap: 12px;
    }

    #results {
      padding: 32px;
      max-width: 600px;
      line-height: 1.5em;
      background-color: #efefef;
      text-align: left;
    }

    .visually-hidden {
      display: none;
    }

    .bold {
      font-weight: bold;
    }
  



  <div class="container">
    <div class="form-container">
      <h1>Поиск обратных рейсов</h1>
      <p>Укажите место отправления, место назначения и даты, чтобы найти обратные рейсы.</p>
      
        <div class="input-container">
          
            
            
          
          <div class="mdc-text-field-helper-line">
            <div class="mdc-text-field-helper-text" aria-hidden="true">
              Место отправления
            </div>
          </div>
        </div>

        <div class="input-container">
          
            
            
          
          <div class="mdc-text-field-helper-line">
            <div class="mdc-text-field-helper-text" aria-hidden="true">
              Место назначения
            </div>
          </div>
        </div>

        <div class="input-container">
          
            
            
          
          <div class="mdc-text-field-helper-line">
            <div class="mdc-text-field-helper-text" aria-hidden="true">
              Дата вылета
            </div>
          </div>
        </div>

        <div class="input-container">
          
            
            
          
          <div class="mdc-text-field-helper-line">
            <div class="mdc-text-field-helper-text" aria-hidden="true">
              Дата возвращения
            </div>
          </div>
        </div>

        <div class="button-container">
          
            
            
            Найти рейсы
            Загрузка...
          
          
            
            
            Очистить
          
        </div>
      
    </div>
    <div class="visually-hidden" id="results"></div>
  </div>

  
    (function () {
      const form = document.getElementById('form');
      const results = document.getElementById('results');

      const submitButton = document.getElementById('submit-button');
      const submitButtonCopy = document.getElementById('submit-button-copy');
      const loading = document.getElementById('loading');

      const textFields = document.querySelectorAll('.mdc-text-field');
      textFields.forEach((field) =>
        mdc.textField.MDCTextField.attachTo(field)
      );

      const buttons = document.querySelectorAll('.mdc-button');
      buttons.forEach((btn) => mdc.ripple.MDCRipple.attachTo(btn));

      const toggleElementDisable = (element, disable) => {
        disable ? element.setAttribute('disabled', true) : element.removeAttribute('disabled');
      }

      const toggleVisuallyHidden = (element, remove) => {
        remove ? element.classList.remove('visually-hidden') : element.classList.add('visually-hidden');
      }

      const checkSyntax = (result) => {
        if (result.includes('```')) {
          return result.includes('```json') ? result.slice(7, -3) : result.slice(3, -3)
        }

        return result;
      }

      const displayResults = (data) => {
        toggleVisuallyHidden(loading, false);
        toggleVisuallyHidden(submitButtonCopy, true);
        toggleVisuallyHidden(results, true);

        let output = checkSyntax(data.candidates[0].output);
        const resultObject = JSON.parse(output);

        const formattedResults = `
          <p><b>Рейс туда:</b></p>
          <ul>
            <li>Авиакомпания: ${resultObject.itineraries[0].outbound.flights[0].carrier}</li>
            <li>Номер рейса: ${resultObject.itineraries[0].outbound.flights[0].flightNumber}</li>
            <li>Отправление: ${resultObject.itineraries[0].outbound.flights[0].origin.name} (${resultObject.itineraries[0].outbound.flights[0].origin.iataCode})</li>
            <li>Прибытие: ${resultObject.itineraries[0].outbound.flights[0].destination.name} (${resultObject.itineraries[0].outbound.flights[0].destination.iataCode})</li>
            <li>Дата вылета: ${resultObject.itineraries[0].outbound.flights[0].departsAt}</li>
            <li>Дата прибытия: ${resultObject.itineraries[0].outbound.flights[0].arrivesAt}</li>
          </ul>

          <p><b>Обратный рейс:</b></p>
          <ul>
            <li>Авиакомпания: ${resultObject.itineraries[0].inbound.flights[0].carrier}</li>
            <li>Номер рейса: ${resultObject.itiner
To leave a comment you need to Login / Create account