Coder Social home page Coder Social logo

viktorsvertoka / goit-react-hw-03-image-finder Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 4.38 MB

Home task for React courseπŸ“˜

Home Page: https://viktorsvertoka.github.io/goit-react-hw-03-image-finder/

CSS 17.54% HTML 9.75% JavaScript 72.70%
css3 emotion gitignore goit goit-react-hw-03-image-finder html5 javascript npm pixabay-api prittier

goit-react-hw-03-image-finder's Introduction

ΠšΡ€ΠΈΡ‚Π΅Ρ€Ρ–Ρ— приймання

  • Π‘Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€Ρ–ΠΉ goit-react-hw-03-image-finder
  • ΠŸΡ€ΠΈ Π·Π΄Π°Ρ‡Ρ– Π΄ΠΎΠΌΠ°ΡˆΠ½ΡŒΠΎΡ— Ρ€ΠΎΠ±ΠΎΡ‚ΠΈ Ρ” посилання: Π½Π° Π²ΠΈΡ…Ρ–Π΄Π½Ρ– Ρ„Π°ΠΉΠ»ΠΈ Ρ‚Π° Ρ€ΠΎΠ±ΠΎΡ‡Ρƒ сторінку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ–Π² Π½Π° GitHub Pages.
  • Π£ стані ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ–Π² Π·Π±Π΅Ρ€Ρ–Π³Π°Ρ”Ρ‚ΡŒΡΡ ΠΌΡ–Π½Ρ–ΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…Ρ–Π΄Π½ΠΈΠΉ Π½Π°Π±Ρ–Ρ€ Π΄Π°Π½ΠΈΡ…, Ρ€Π΅ΡˆΡ‚Π° ΠΎΠ±Ρ‡ΠΈΡΠ»ΡŽΡ”Ρ‚ΡŒΡΡ
  • ΠŸΡ–Π΄ час запуску ΠΊΠΎΠ΄Ρƒ завдання Π² консолі відсутні ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Ρ‚Π° попСрСдТСння.
  • Для ΠΊΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ” ΠΎΠΊΡ€Π΅ΠΌΠ° ΠΏΠ°ΠΏΠΊΠ° Π· Ρ„Π°ΠΉΠ»ΠΎΠΌ React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠΌ стилів
  • Для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ–Π² описані propTypes
  • ВсС, Ρ‰ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΡ‡Ρ–ΠΊΡƒΡ” Ρƒ вигляді пропсів, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ”Ρ‚ΡŒΡΡ ΠΉΠΎΠΌΡƒ ΠΏΡ–Π΄ час Π²ΠΈΠΊΠ»ΠΈΠΊΡƒ.
  • Π†ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ–Π² Π·Ρ€ΠΎΠ·ΡƒΠΌΡ–Π»Ρ– Ρ‚Π° описові
  • JS-ΠΊΠΎΠ΄ чистий Ρ– Π·Ρ€ΠΎΠ·ΡƒΠΌΡ–Π»ΠΈΠΉ, Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ Prettier.
  • Бтилізація Π²ΠΈΠΊΠΎΠ½Π°Π½Π° CSS-модулями Π°Π±ΠΎ Styled Components.

Завдання

ΠŸΠΎΡˆΡƒΠΊ Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΡŒ

Напиши застосунок ΠΏΠΎΡˆΡƒΠΊΡƒ Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΡŒ Π·Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΠΌ словом. ΠŸΡ€Π΅Π²'ю Ρ€ΠΎΠ±ΠΎΡ‡ΠΎΠ³ΠΎ застосунку дивись Π·Π° посиланням.

Π‘Ρ‚Π²ΠΎΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ <Searchbar>, <ImageGallery>, <ImageGalleryItem>, <Loader>, <Button> Ρ– <Modal>. Π“ΠΎΡ‚ΠΎΠ²Ρ– стилі ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ–Π² ΠΌΠΎΠΆΠ½Π° взяти Ρƒ Ρ„Π°ΠΉΠ»Ρ– styles.css Ρ– ΠΏΡ–Π΄ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ ΠΏΡ–Π΄ сСбС, якщо ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ.

preview

Інструкція Pixabay API

Для HTTP-Π·Π°ΠΏΠΈΡ‚Ρ–Π² використовуй ΠΏΡƒΠ±Π»Ρ–Ρ‡Π½ΠΈΠΉ сСрвіс ΠΏΠΎΡˆΡƒΠΊΡƒ Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΡŒ Pixabay. ЗарСєструйся Ρ‚Π° ΠΎΡ‚Ρ€ΠΈΠΌΠ°ΠΉ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡ доступу.

URL-рядок HTTP-Π·Π°ΠΏΠΈΡ‚Ρƒ.

https://pixabay.com/api/?q=cat&page=1&key=your_key&image_type=photo&orientation=horizontal&per_page=12

Pixabay API ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡ” ΠΏΠ°Π³Ρ–Π½Π°Ρ†Ρ–ΡŽ, Π·Π° замовчуванням ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ page Π΄ΠΎΡ€Ρ–Π²Π½ΡŽΡ” 1. НСхай Ρƒ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Ρ– Π½Π°Π΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ 12 ΠΎΠ±'Ρ”ΠΊΡ‚Ρ–Π², встановлСно Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ– per_page. НС Π·Π°Π±ΡƒΠ΄ΡŒ, Ρ‰ΠΎ ΠΏΡ–Π΄ час ΠΏΠΎΡˆΡƒΠΊΡƒ Π·Π° Π½ΠΎΠ²ΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΠΌ словом, Π½Π΅ΠΎΠ±Ρ…Ρ–Π΄Π½ΠΎ скидати значСння page Π΄ΠΎ 1.

Π£ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Ρ– Π²Ρ–Π΄ Π°ΠΏΡ– ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ масив ΠΎΠ±'Ρ”ΠΊΡ‚Ρ–Π², Π² яких Ρ‚ΠΎΠ±Ρ– Ρ†Ρ–ΠΊΠ°Π²Ρ– лишС наступні властивості.

  • id – ΡƒΠ½Ρ–ΠΊΠ°Π»ΡŒΠ½ΠΈΠΉ Ρ–Π΄Π΅Π½Ρ‚ΠΈΡ„Ρ–ΠΊΠ°Ρ‚ΠΎΡ€
  • webformatURL – посилання Π½Π° малСнькС зобраТСння для списку ΠΊΠ°Ρ€Ρ‚ΠΎΠΊ
  • largeImageURL – посилання Π½Π° Π²Π΅Π»ΠΈΠΊΠ΅ зобраТСння для модального Π²Ρ–ΠΊΠ½Π°

Опис ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° <Searchbar>

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΈΠΉΠΌΠ°Ρ” ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠΏ onSubmit – Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρ– значСння Ρ–Π½ΠΏΡƒΡ‚Π° ΠΏΡ–Π΄ час сабміту Ρ„ΠΎΡ€ΠΌΠΈ. Π‘Ρ‚Π²ΠΎΡ€ΡŽΡ” DOM-Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ наступної структури.

<header class="searchbar">
  <form class="form">
    <button type="submit" class="button">
      <span class="button-label">Search</span>
    </button>

    <input
      class="input"
      type="text"
      autocomplete="off"
      autofocus
      placeholder="Search images and photos"
    />
  </form>
</header>

Опис ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° <ImageGallery>

Бписок ΠΊΠ°Ρ€Ρ‚ΠΎΠΊ Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΡŒ. Π‘Ρ‚Π²ΠΎΡ€ΡŽΡ” DOM-Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ наступної структури.

<ul class="gallery">
  <!-- Набір <li> Ρ–Π· зобраТСннями -->
</ul>

Опис ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° <ImageGalleryItem>

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π° списку Ρ–Π· зобраТСнням. Π‘Ρ‚Π²ΠΎΡ€ΡŽΡ” DOM-Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ наступної структури.

<li class="gallery-item">
  <img src="" alt="" />
</li>

Опис ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° <Button>

ΠŸΡ€ΠΈ натисканні Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Load more ΠΏΠΎΠ²ΠΈΠ½Π½Π° Π΄ΠΎΠ²Π°Π½Ρ‚Π°ΠΆΡƒΠ²Π°Ρ‚ΠΈΡΡŒ наступна порція Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΡŒ Ρ– рСндСритися Ρ€Π°Π·ΠΎΠΌ Ρ–Π· ΠΏΠΎΠΏΠ΅Ρ€Π΅Π΄Π½Ρ–ΠΌΠΈ. Кнопка ΠΏΠΎΠ²ΠΈΠ½Π½Π° рСндСритися лишС Ρ‚ΠΎΠ΄Ρ–, ΠΊΠΎΠ»ΠΈ Ρ” ΡΠΊΡ–ΡΡŒ Π·Π°Π²Π°Π½Ρ‚Π°ΠΆΠ΅Π½Ρ– зобраТСння. Π―ΠΊΡ‰ΠΎ масив Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ½Ρ–ΠΉ, ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒΡΡ.

Опис ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° <Loader>

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ спінСра Π²Ρ–Π΄ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ”Ρ‚ΡŒΡΡ, Π΄ΠΎΠΊΠΈ Π²Ρ–Π΄Π±ΡƒΠ²Π°Ρ”Ρ‚ΡŒΡΡ завантаТСння Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΡŒ. ВикористовуйтС Π±ΡƒΠ΄ΡŒ-який Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΊΠ»Π°Π΄ react-loader-spinner Π°Π±ΠΎ Π±ΡƒΠ΄ΡŒ-який Ρ–Π½ΡˆΠΈΠΉ.

Опис ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° <Modal>

ΠŸΡ–Π΄ час ΠΊΠ»Ρ–ΠΊΡƒ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π³Π°Π»Π΅Ρ€Π΅Ρ— ΠΏΠΎΠ²ΠΈΠ½Π½ΠΎ відкриватися модальнС Π²Ρ–ΠΊΠ½ΠΎ Π· Ρ‚Π΅ΠΌΠ½ΠΈΠΌ ΠΎΠ²Π΅Ρ€Π»Π΅Ρ”ΠΌ Ρ– відобраТатися Π²Π΅Π»ΠΈΠΊΠ° вСрсія зобраТСння. МодальнС Π²Ρ–ΠΊΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠ½Π½ΠΎ закриватися ΠΏΠΎ Π½Π°Ρ‚ΠΈΡΠΊΠ°Π½Π½ΡŽ ΠΊΠ»Π°Π²Ρ–ΡˆΡ– ESC Π°Π±ΠΎ ΠΏΠΎ ΠΊΠ»Ρ–ΠΊΡƒ Π½Π° ΠΎΠ²Π΅Ρ€Π»Π΅Ρ—.

Π—ΠΎΠ²Π½Ρ–ΡˆΠ½Ρ–ΠΉ вигляд схоТий Π½Π° Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΎΠ½Π°Π» Ρ†ΡŒΠΎΠ³ΠΎ VanillaJS-ΠΏΠ»Π°Π³Ρ–Π½Π°, Ρ‚Ρ–Π»ΡŒΠΊΠΈ Π·Π°ΠΌΡ–ΡΡ‚ΡŒ Π±Ρ–Π»ΠΎΠ³ΠΎ модального Π²Ρ–ΠΊΠ½Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒΡΡ зобраТСння (Ρƒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρ– Π½Π°Ρ‚ΠΈΡΠ½Ρ–Ρ‚ΡŒ Run). ΠΠ½Ρ–ΠΌΠ°Ρ†Ρ–ΡŽ Ρ€ΠΎΠ±ΠΈΡ‚ΠΈ Π½Π΅ ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ!

<div class="overlay">
  <div class="modal">
    <img src="" alt="" />
  </div>
</div>

npm i axios

import axios from 'axios'


npm install @emotion/react @emotion/styled

import styled from '@emotion/styled'


npm i nanoid

import { nanoid } from 'nanoid'


npm i modern-normalize

import 'modern-normalize'


npm install react-loader-spinner --save

import { Audio } from 'react-loader-spinner'


npm i react-icons

import { BsSearch } from 'react-icons/bs';


npm i react-toastify

import { ToastContainer, toast } from 'react-toastify';


API key: '34523545-f21683fd59bfc3e4e2549fe07'

goit-react-hw-03-image-finder's People

Contributors

viktorsvertoka avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.