Загрузка данных


<!DOCTYPE html>
<html lang="ru">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <link rel="stylesheet" href="css/normalize.css">
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" href="vendor/nouislider/nouislider.css">
  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
  <title>Кекстаграм</title>
</head>

<body>
  <main>

    <!-- Фильтрация изображений от других пользователей -->
    <section class="img-filters  img-filters--inactive  container">
      <h2 class="img-filters__title  visually-hidden">Фильтр фотографий</h2>
      <form class="img-filters__form" action="index.html" method="get" autocomplete="off">
        <button type=button class="img-filters__button  img-filters__button--active" id="filter-default">По умолчанию</button>
        <button type=button class="img-filters__button" id="filter-random">Случайные</button>
        <button type=button class="img-filters__button" id="filter-discussed">Обсуждаемые</button>
      </form>
    </section>

    <!-- Контейнер для изображений от других пользователей -->
    <section class="pictures  container">
      <h2 class="pictures__title  visually-hidden">Фотографии других пользователей</h2>

      <!-- Поле для загрузки нового изображения на сайт -->
      <section class="img-upload">
        <div class="img-upload__wrapper">
          <h2 class="img-upload__title  visually-hidden">Загрузка фотографии</h2>
          <form class="img-upload__form" method="post" action="https://32.javascript.htmlacademy.pro/kekstagram" enctype="multipart/form-data" id="upload-select-image" autocomplete="off">

            <!-- Изначальное состояние поля для загрузки изображения -->
            <fieldset class="img-upload__start">
              <input type="file" id="upload-file" class="img-upload__input  visually-hidden" name="filename" accept="image/png, image/jpeg" required>
              <label for="upload-file" class="img-upload__label  img-upload__control">Загрузить</label>
            </fieldset>

            <!-- Форма редактирования изображения -->
            <div class="img-upload__overlay  hidden">
              <div class="img-upload__wrapper">
                <div class="img-upload__preview-container">

                  <!-- Изменение размера изображения -->
                  <fieldset class="img-upload__scale  scale">
                    <button type="button" class="scale__control  scale__control--smaller">Уменьшить</button>
                    <input type="text" class="scale__control  scale__control--value" value="100%" title="Image Scale" name="scale" readonly>
                    <button type="button" class="scale__control  scale__control--bigger">Увеличить</button>
                  </fieldset>

                  <!-- Предварительный просмотр изображения -->
                  <div class="img-upload__preview">
                    <img src="img/upload-default-image.jpg" alt="Предварительный просмотр фотографии">
                  </div>

                  <!-- Изменение глубины эффекта, накладываемого на изображение -->
                  <fieldset class="img-upload__effect-level  effect-level">
                    <input class="effect-level__value" type="number" step="any" name="effect-level" value="">
                    <div class="effect-level__slider"></div>
                  </fieldset>

                  <!-- Кнопка для закрытия формы редактирования изображения -->
                  <button type="reset" class="img-upload__cancel  cancel" id="upload-cancel">Закрыть</button>
                </div>

                <!-- Наложение эффекта на изображение -->
                <fieldset class="img-upload__effects  effects">
                  <ul class="effects__list">
                    <li class="effects__item">
                      <input type="radio" class="effects__radio  visually-hidden" name="effect" id="effect-none" value="none" checked>
                      <label for="effect-none" class="effects__label">
                        <span class="effects__preview  effects__preview--none">Превью фото без эффекта</span>
                        Оригинал
                      </label>
                    </li>
                    <li class="effects__item">
                      <input type="radio" class="effects__radio  visually-hidden" name="effect" id="effect-chrome" value="chrome">
                      <label for="effect-chrome" class="effects__label">
                        <span class="effects__preview  effects__preview--chrome">Превью эффекта Хром</span>
                        Хром
                      </label>
                    </li>
                    <li class="effects__item">
                      <input type="radio" class="effects__radio  visually-hidden" name="effect" id="effect-sepia" value="sepia">
                      <label for="effect-sepia" class="effects__label">
                        <span class="effects__preview  effects__preview--sepia">Превью эффекта Сепия</span>
                        Сепия
                      </label>
                    </li>
                    <li class="effects__item">
                      <input type="radio" class="effects__radio  visually-hidden" name="effect" id="effect-marvin" value="marvin">
                      <label for="effect-marvin" class="effects__label">
                        <span class="effects__preview  effects__preview--marvin">Превью эффекта Марвин</span>
                        Марвин
                      </label>
                    </li>
                    <li class="effects__item">
                      <input type="radio" class="effects__radio  visually-hidden" name="effect" id="effect-phobos" value="phobos">
                      <label for="effect-phobos" class="effects__label">
                        <span class="effects__preview  effects__preview--phobos">Превью эффекта Фобос</span>
                        Фобос
                      </label>
                    </li>
                    <li class="effects__item">
                      <input type="radio" class="effects__radio  visually-hidden" name="effect" id="effect-heat" value="heat">
                      <label for="effect-heat" class="effects__label">
                        <span class="effects__preview  effects__preview--heat">Превью эффекта Зной</span>
                        Зной
                      </label>
                    </li>
                  </ul>
                </fieldset>

                <!-- Добавление хэштегов и комментария к изображению -->
                <fieldset class="img-upload__text text">
                  <div class="img-upload__field-wrapper">
                    <input type="text" class="text__hashtags" name="hashtags" id="hashtags" placeholder="#ХэшТег">
                  </div>
                  <div class="img-upload__field-wrapper">
                    <textarea class="text__description" name="description" id="description" placeholder="Ваш комментарий..."></textarea>
                  </div>
                </fieldset>

                <!-- Кнопка для отправки данных на сервер -->
                <button type="submit" class="img-upload__submit" id="upload-submit">Опубликовать</button>
              </div>
            </div>
          </form>
        </div>
      </section>

      <!-- Здесь будут изображения других пользователей -->

    </section>

    <!-- Полноэкранный показ изображения -->
    <section class="big-picture  overlay  hidden">
      <h2 class="big-picture__title  visually-hidden">Просмотр фотографии</h2>
      <div class="big-picture__preview">

        <!-- Просмотр изображения -->
        <div class="big-picture__img">
          <img src="img/logo-background-3.jpg" alt="Девушка в купальнике" width="600" height="600">
        </div>

        <!-- Информация об изображении. Подпись, комментарии, количество лайков -->
        <div class="big-picture__social  social">
          <div class="social__header">
            <img class="social__picture" src="img/avatar-1.svg" alt="Аватар автора фотографии" width="35" height="35">
            <p class="social__caption">Тестим новую камеру! =)</p>
            <p class="social__likes">Нравится <span class="likes-count">356</span></p>
          </div>

          <!-- Комментарии к изображению -->
          <div class="social__comment-count"><span class="social__comment-shown-count">5</span> из <span class="social__comment-total-count">125</span> комментариев</div>
          <ul class="social__comments">
            <li class="social__comment">
              <img class="social__picture" src="img/avatar-4.svg" alt="Аватар комментатора фотографии" width="35" height="35">
              <p class="social__text">Мега фото! Просто обалдеть. Как вам так удалось?</p>
            </li>
            <li class="social__comment">
              <img class="social__picture" src="img/avatar-3.svg" alt="Аватар комментатора фотографии" width="35" height="35">
              <p class="social__text">Да это фоташоп!!!!!!!!</p>
            </li>
          </ul>

          <!-- Кнопка для загрузки новой порции комментариев -->
          <button type="button" class="social__comments-loader  comments-loader">Загрузить еще</button>

          <!-- Форма для отправки комментария -->
          <div class="social__footer">
            <img class="social__picture" src="img/avatar-6.svg" alt="Аватар комментатора фотографии" width="35" height="35">
            <input type="text" class="social__footer-text" placeholder="Ваш комментарий...">
            <button type="button" class="social__footer-btn" name="button">Отправить</button>
          </div>
        </div>

        <!-- Кнопка для выхода из полноэкранного просмотра изображения -->
        <button type="reset" class="big-picture__cancel  cancel" id="picture-cancel">Закрыть</button>
      </div>
    </section>
  </main>

  <footer class="page-footer  container">
    <div class="page-footer__wrapper">
      <div class="page-footer__copyright  copyright">
        <a class="copyright__link  copyright__link--image" href="https://htmlacademy.ru/intensive/javascript"><img src="img/htmla-logo.svg" width="130" height="45" alt="HTML Academy"></a>
        <p>Сделано в <a class="copyright__link  copyright__link--text" href="https://htmlacademy.ru/intensive/javascript">HTML Academy</a></p>
      </div>
      <ul class="page-footer__contacts  contacts">
        <li><a href="https://twitter.com/htmlacademy_ru" class="contacts__link  contacts__link--twitter">Twitter</a></li>
        <li><a href="https://vk.com/htmlacademy" class="contacts__link  contacts__link--vk">VK</a></li>
      </ul>
    </div>
  </footer>

  <!-- Шаблон изображения случайного пользователя -->
  <template id="picture">
    <a href="#" class="picture">
      <img class="picture__img" src="" width="182" height="182" alt="Случайная фотография">
      <p class="picture__info">
        <span class="picture__comments"></span>
        <span class="picture__likes"></span>
      </p>
    </a>
  </template>

  <!-- Сообщение с ошибкой загрузки изображения -->
  <template id="error">
    <section class="error">
      <div class="error__inner">
        <h2 class="error__title">Ошибка загрузки файла</h2>
        <button type="button" class="error__button">Попробовать ещё раз</button>
      </div>
    </section>
  </template>

  <!-- Сообщение об успешной загрузке изображения -->
  <template id="success">
    <section class="success">
      <div class="success__inner">
        <h2 class="success__title">Изображение успешно загружено</h2>
        <button type="button" class="success__button">Круто!</button>
      </div>
    </section>
  </template>

  <!-- Сообщение с ошибкой загрузки изображений от других пользователей -->
  <template id="data-error">
    <section class="data-error">
      <h2 class="data-error__title">Не удалось загрузить данные</h2>
    </section>
  </template>
  <script src="vendor/nouislider/nouislider.js"></script>
  <script src="vendor/pristine/pristine.min.js"></script>
  <script type="module" src="js/main.js" defer></script>
  <script src="js/functions.js" defer></script>
</body>

</html>