Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/irina-anat/goit-js-hw-08
Project Infrastructure. Web Storage.
https://github.com/irina-anat/goit-js-hw-08
input javascript localstorage lodashthrottle npm template
Last synced: about 1 month ago
JSON representation
Project Infrastructure. Web Storage.
- Host: GitHub
- URL: https://github.com/irina-anat/goit-js-hw-08
- Owner: Irina-anat
- Created: 2023-04-04T07:38:11.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-06T16:11:14.000Z (about 1 year ago)
- Last Synced: 2024-11-10T11:31:21.486Z (3 months ago)
- Topics: input, javascript, localstorage, lodashthrottle, npm, template
- Language: JavaScript
- Homepage: https://irina-anat.github.io/goit-js-hw-08/
- Size: 1.96 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Критерії приймання
* Створено репозиторій goit-js-hw-08.
* Домашня робота містить два посилання: на вихідні файли і робочу сторінку на GitHub Pages.
* В консолі відсутні помилки і попередження під час відкриття живої сторінки завдання.
* Проект зібраний за допомогою parcel-project-template.
* Код відформатований за допомогою Prettier.
## Стартові файли
Завантажуй стартові файли з готовою розміткою, стилями та підключеними файлами скриптів для кожного завдання. Скопіюй їх собі в проект, повністю замінивши папку src у parcel-project-template.## Завдання 1 - бібліотека SimpleLightbox
Виконуй це завдання у файлах 01-gallery.html і 01-gallery.js. Розбий його на декілька підзавдань:1. Додай бібліотеку SimpleLightbox як залежність проекту, використовуючи npm (посилання на CDN з твоєї минулої роботи більше не потрібне).
2. Використовуй свій JavaScript код з попередньої домашньої роботи, але виконай рефакторинг з урахуванням того, що бібліотека була встановлена через npm (синтаксис import/export).
Для того щоб підключити CSS код бібліотеки в проект, необхідно додати ще один імпорт, крім того, що описаний в документації.```
// Описаний в документації
import SimpleLightbox from "simplelightbox";
// Додатковий імпорт стилів
import "simplelightbox/dist/simple-lightbox.min.css";
```## Завдання 2 - відеоплеєр
HTML містить < iframe> з відео для Vimeo плеєра. Напиши скрипт, який буде зберігати поточний час відтворення відео у локальне сховище і, після перезавантаження сторінки, продовжувати відтворювати відео з цього часу.```
```
Виконуй це завдання у файлах 02-video.html і 02-video.js. Розбий його на декілька підзавдань:
1. Ознайомся з документацією бібліотеки Vimeo плеєра.
2. Додай бібліотеку як залежність проекту через npm.
3. Ініціалізуй плеєр у файлі скрипта як це описано в секції pre-existing player, але враховуй, що у тебе плеєр доданий як npm пакет, а не через CDN.
4. Вивчи документацію методу on() і почни відстежувати подію timeupdate - оновлення часу відтворення.
5. Зберігай час відтворення у локальне сховище. Нехай ключем для сховища буде рядок "videoplayer-current-time".
6. Під час перезавантаження сторінки скористайся методом setCurrentTime() з метою відновлення відтворення зі збереженої позиції.
7. Додай до проекту бібліотеку lodash.throttle і зроби так, щоб час відтворення оновлювався у сховищі не частіше, ніж раз на секунду.
## Завдання 3 - форма зворотного зв'язку
HTML містить розмітку форми. Напиши скрипт, який буде зберігати значення полів у локальне сховище, коли користувач щось друкує.```
Message
Submit```
Виконуй це завдання у файлах 03-feedback.html і 03-feedback.js. Розбий його на декілька підзавдань:1. Відстежуй на формі подію input, і щоразу записуй у локальне сховище об'єкт з полями email і message, у яких зберігай поточні значення полів форми. Нехай ключем для сховища буде рядок "feedback-form-state".
2. Під час завантаження сторінки перевіряй стан сховища, і якщо там є збережені дані, заповнюй ними поля форми. В іншому випадку поля повинні бути порожніми.
3. Під час сабміту форми очищуй сховище і поля форми, а також виводь у консоль об'єкт з полями email, message та їхніми поточними значеннями.
4. Зроби так, щоб сховище оновлювалось не частіше, ніж раз на 500 мілісекунд. Для цього додай до проекту і використовуй бібліотеку lodash.throttle.