diff --git a/index.40539960.js b/index.40539960.js new file mode 100644 index 0000000..fe0551b --- /dev/null +++ b/index.40539960.js @@ -0,0 +1,20 @@ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},t={},o={},l=e.parcelRequired7c6;null==l&&((l=function(e){if(e in t)return t[e].exports;if(e in o){var l=o[e];delete o[e];var n={id:e,exports:{}};return t[e]=n,l.call(n.exports,n,n.exports),n.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){o[e]=t},e.parcelRequired7c6=l),l("2wbaf"),l("4dIBK");var n=l("d5eID"),a=l("fMzCF");const i=(0,n.useBooksApi)(),c=document.querySelector(".section-categories"),s=document.querySelector(".section-books"),r=document.querySelector(".section-books-title"),d=document.querySelector(".section-books-list");function u(e,t){let o=t?"element-books-list-all":"element-books-list",l=e.map(({book_image:e,title:t,author:l,_id:n})=>`
  • + +
    + Book cover +
    +

    quick view

    +
    +
    +

    ${t}

    +

    ${l}

    +
    +
  • `).join("\n");return l}async function f(e){try{let t=await i.getBooksByCategory(e);d.innerHTML=u(t,!0),r.innerHTML=function(e){let t=e.split(" ");if(t.length<2)return`${e}`;let o=t.pop();return`${t.join(" ")} ${o}`}(e),function(e){e.classList.add("hidden")}(c),function(e){e.classList.remove("hidden")}(s),d.addEventListener("click",y)}catch(e){console.log(e)}}function y(e){let t=e.target.closest(".book-item");if(!t)return;let o=t.getAttribute("data-value");i.getBookById(o).then(a.insertModalBook).catch(e=>console.log(e)),(0,a.onModalOpen)()}var n=(l("d5eID"),l("d5eID"));const g=(0,n.useBooksApi)(),k=document.querySelector(".category-list"),m=e=>{let t=[...new Set(e.map(({list_name:e})=>e))].sort(),o=t.map(e=>{if(null!=e)return` +
  • + ${e} +
  • `}).join("");k.insertAdjacentHTML("beforeend",o),k.querySelector(".link-all").classList.add("active")};function p(){let e=document.querySelectorAll(".category-link");e.forEach(function(e){e.classList.contains("active")&&e.classList.remove("active")})}g.getCategoryList().then(e=>{m(e)}).catch(e=>{console.log(e)}).finally(()=>{}),k.addEventListener("click",function(e){e.preventDefault();let t=e.target.closest(".category-link");if(!t)return;let o=document.querySelector(".link-all"),l=t.textContent.trim();if(p(),"All categories"===l){let e=document.querySelector(".section-categories"),t=document.querySelector(".section-books");t.classList.add("hidden"),e.classList.remove("hidden"),o.classList.add("active")}else e.target.classList.add("active"),f(l)});const v=(0,n.useBooksApi)(),b=document.querySelector(".section-categories-list");function h(e){if(e.preventDefault(),"BUTTON"===e.target.nodeName){let t=e.target.closest(".category-block").getAttribute("data-category");f(t),p();let o=Array.from(document.querySelectorAll(".category-link.link")),l=o.find(e=>e.textContent===t);l.classList.add("active");return}}(async function(){try{let e=await v.getCategoryList(),t=[...new Set(e.map(({list_name:e})=>e))].sort();b.innerHTML=function(e){let t=e.map(e=>`
  • +

    ${e}

    + + +
  • `).join("\n");return t}(t);let o=b.querySelectorAll(".books-list"),l=await v.getTopBooks();o.forEach(e=>{let t=e.dataset.category,o=l.find(e=>e.list_name===t).books;e.innerHTML=u(o)}),b.addEventListener("click",y),b.addEventListener("click",h)}catch(e){console.log(e)}})(),l("ld1e2"),l("dTazW"),l("4EhXu"),l("fMzCF"),l("74Aiq"),l("epHO8");const L=document.querySelector(".header-link-home");L.classList.add("current"); +//# sourceMappingURL=index.40539960.js.map diff --git a/index.40539960.js.map b/index.40539960.js.map new file mode 100644 index 0000000..9abe084 --- /dev/null +++ b/index.40539960.js.map @@ -0,0 +1 @@ +{"mappings":"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","sources":["","src/index.js","src/js/render-books-by-category.js","src/js/condition-for-categories-render.js","src/js/top-books.js","src/js/fetch-categories.js","src/js/get-current-for-home-page.js"],"sourcesContent":["var $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequired7c6\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequired7c6\"] = parcelRequire;\n}\n// import switcher from './switcher';\nparcelRequire(\"2wbaf\");\nparcelRequire(\"4dIBK\");\n\nvar $d5eID = parcelRequire(\"d5eID\");\n\nvar $fMzCF = parcelRequire(\"fMzCF\");\nfunction $3af0a9fa5e15deee$export$c522a0db91e5ddc6(e) {\n let oneBook = null;\n if (!e) oneBook = \"element-books-list\";\n else oneBook = \"element-books-list-all\";\n return oneBook;\n}\n\n\nconst $7a19ac8647e594da$var$booksApi = (0, $d5eID.useBooksApi)();\nconst $7a19ac8647e594da$var$sectionCategoriesEl = document.querySelector(\".section-categories\");\nconst $7a19ac8647e594da$var$sectionBooksEl = document.querySelector(\".section-books\");\nconst $7a19ac8647e594da$var$sectionBooksTitleEl = document.querySelector(\".section-books-title\");\nconst $7a19ac8647e594da$var$booksListEl = document.querySelector(\".section-books-list\");\nfunction $7a19ac8647e594da$export$c2ff2758ce23ccbb(books, e) {\n let oneBook = (0, $3af0a9fa5e15deee$export$c522a0db91e5ddc6)(e);\n const markup = books.map(({ book_image: book_image, title: title, author: author, _id: _id })=>`
  • \n \n
    \n Book cover\n
    \n

    quick view

    \n
    \n
    \n

    ${title}

    \n

    ${author}

    \n
    \n
  • `).join(\"\\n\");\n return markup;\n}\nfunction $7a19ac8647e594da$var$makeMarkupForTitle(title) {\n const arrFromTitle = title.split(\" \");\n if (arrFromTitle.length < 2) return `${title}`;\n const lastWord = arrFromTitle.pop();\n return `${arrFromTitle.join(\" \")} ${lastWord}`;\n}\nasync function $7a19ac8647e594da$export$e3a458789c8a5044(category) {\n try {\n const res = await $7a19ac8647e594da$var$booksApi.getBooksByCategory(category);\n $7a19ac8647e594da$var$booksListEl.innerHTML = $7a19ac8647e594da$export$c2ff2758ce23ccbb(res, true);\n $7a19ac8647e594da$var$sectionBooksTitleEl.innerHTML = $7a19ac8647e594da$var$makeMarkupForTitle(category);\n $7a19ac8647e594da$var$hideElement($7a19ac8647e594da$var$sectionCategoriesEl);\n $7a19ac8647e594da$var$showElement($7a19ac8647e594da$var$sectionBooksEl);\n $7a19ac8647e594da$var$booksListEl.addEventListener(\"click\", $7a19ac8647e594da$export$2e63ecab0dc5da99);\n } catch (err) {\n console.log(err);\n }\n}\nfunction $7a19ac8647e594da$export$2e63ecab0dc5da99(evt) {\n const bookItem = evt.target.closest(\".book-item\");\n if (!bookItem) return;\n const bookId = bookItem.getAttribute(\"data-value\");\n $7a19ac8647e594da$var$booksApi.getBookById(bookId).then((0, $fMzCF.insertModalBook)).catch((error)=>console.log(error));\n (0, $fMzCF.onModalOpen)();\n}\nfunction $7a19ac8647e594da$var$hideElement(elem) {\n elem.classList.add(\"hidden\");\n}\nfunction $7a19ac8647e594da$var$showElement(elem) {\n elem.classList.remove(\"hidden\");\n}\n\n\n\nvar $d5eID = parcelRequire(\"d5eID\");\n\n\nvar $d5eID = parcelRequire(\"d5eID\");\n\nconst $613bb2bcc396c396$var$booksApi = (0, $d5eID.useBooksApi)();\nconst $613bb2bcc396c396$var$handleOnPress = (e)=>{\n $613bb2bcc396c396$var$booksApi.getCategoryList().then((res)=>{\n $613bb2bcc396c396$var$parseCategoryList(res);\n }).catch((err)=>{\n console.log(err);\n }).finally(()=>{});\n};\nconst $613bb2bcc396c396$var$categoryListEl = document.querySelector(\".category-list\");\nconst $613bb2bcc396c396$var$parseCategoryList = (list)=>{\n const uniqueCategories = [\n ...new Set(list.map(({ list_name: list_name })=>list_name))\n ].sort();\n const categoryList = uniqueCategories.map((category)=>{\n if (category !== null && category !== undefined) return `\n
  • \n ${category}\n
  • `;\n }).join(\"\");\n $613bb2bcc396c396$var$categoryListEl.insertAdjacentHTML(\"beforeend\", categoryList);\n let activeCategory = $613bb2bcc396c396$var$categoryListEl.querySelector(\".link-all\");\n activeCategory.classList.add(\"active\");\n};\n$613bb2bcc396c396$var$handleOnPress();\n$613bb2bcc396c396$var$categoryListEl.addEventListener(\"click\", $613bb2bcc396c396$var$getBookFromCategory);\nfunction $613bb2bcc396c396$var$getBookFromCategory(e) {\n e.preventDefault();\n const targetCategory = e.target.closest(\".category-link\");\n if (!targetCategory) return;\n const linkAllRef = document.querySelector(\".link-all\");\n const text = targetCategory.textContent.trim();\n $613bb2bcc396c396$export$281d5932efad96db();\n if (text === \"All categories\") {\n const sectionCategoriesRef = document.querySelector(\".section-categories\");\n const sectionBooksRef = document.querySelector(\".section-books\");\n sectionBooksRef.classList.add(\"hidden\");\n sectionCategoriesRef.classList.remove(\"hidden\");\n linkAllRef.classList.add(\"active\");\n } else {\n let activeCategory = e.target;\n activeCategory.classList.add(\"active\");\n (0, $7a19ac8647e594da$export$e3a458789c8a5044)(text);\n }\n}\nfunction $613bb2bcc396c396$export$281d5932efad96db() {\n const allCategories = document.querySelectorAll(\".category-link\");\n allCategories.forEach(function(element) {\n if (element.classList.contains(\"active\")) element.classList.remove(\"active\");\n });\n}\n\n\nconst $874e917b2764b2ca$var$booksApi = (0, $d5eID.useBooksApi)();\nconst $874e917b2764b2ca$var$sectionCategoriesListEl = document.querySelector(\".section-categories-list\");\nfunction $874e917b2764b2ca$var$makeMarkupForCategories(categories) {\n const categoriesMarkup = categories.map((list_name)=>`
  • \n

    ${list_name}

    \n \n \n
  • `).join(\"\\n\");\n return categoriesMarkup;\n}\nasync function $874e917b2764b2ca$export$575704ffafa2b714() {\n try {\n const categories = await $874e917b2764b2ca$var$booksApi.getCategoryList();\n const uniqueCategories = [\n ...new Set(categories.map(({ list_name: list_name })=>list_name))\n ].sort();\n $874e917b2764b2ca$var$sectionCategoriesListEl.innerHTML = $874e917b2764b2ca$var$makeMarkupForCategories(uniqueCategories);\n const blocksForRenderingBooks = $874e917b2764b2ca$var$sectionCategoriesListEl.querySelectorAll(\".books-list\");\n const topBooks = await $874e917b2764b2ca$var$booksApi.getTopBooks();\n blocksForRenderingBooks.forEach((block)=>{\n const categoryName = block.dataset.category;\n const topBooksOfCategory = topBooks.find((elem)=>elem.list_name === categoryName).books;\n block.innerHTML = (0, $7a19ac8647e594da$export$c2ff2758ce23ccbb)(topBooksOfCategory);\n });\n $874e917b2764b2ca$var$sectionCategoriesListEl.addEventListener(\"click\", (0, $7a19ac8647e594da$export$2e63ecab0dc5da99));\n $874e917b2764b2ca$var$sectionCategoriesListEl.addEventListener(\"click\", $874e917b2764b2ca$var$onButtonClick);\n } catch (err) {\n console.log(err);\n }\n}\nfunction $874e917b2764b2ca$var$onButtonClick(evt) {\n evt.preventDefault();\n if (evt.target.nodeName === \"BUTTON\") {\n const category = evt.target.closest(\".category-block\").getAttribute(\"data-category\");\n (0, $7a19ac8647e594da$export$e3a458789c8a5044)(category);\n (0, $613bb2bcc396c396$export$281d5932efad96db)();\n const allCategories = Array.from(document.querySelectorAll(\".category-link.link\"));\n const activeCategoryEl = allCategories.find((elem)=>elem.textContent === category);\n activeCategoryEl.classList.add(\"active\");\n return;\n }\n}\n$874e917b2764b2ca$export$575704ffafa2b714();\n\n\n\n\nparcelRequire(\"ld1e2\");\nparcelRequire(\"dTazW\");\nparcelRequire(\"4EhXu\");\nparcelRequire(\"fMzCF\");\nparcelRequire(\"74Aiq\");\nparcelRequire(\"epHO8\");\nconst $e37ee52f6432a5a2$var$currentHomePage = document.querySelector(\".header-link-home\");\n$e37ee52f6432a5a2$var$currentHomePage.classList.add(\"current\");\n\n\n\n\n//# sourceMappingURL=index.40539960.js.map\n","// import switcher from './switcher';\nimport './js/themes';\nimport './js/menu';\nimport './js/render-books-by-category';\nimport './js/top-books';\nimport './js/condition-for-categories-render';\nimport './js/fetch-categories';\nimport './js/fireBaseFnunctions.js';\nimport './js/support';\nimport './js/auth/modal-auth/eventsProcessor';\nimport './js/pop-up-book';\nimport './js/scroll-up';\nimport './js/footer';\nimport './js/get-current-for-home-page';","import { useBooksApi } from '../services/booksApi';\nimport { insertModalBook, onModalOpen } from './pop-up-book';\nimport { addClassForBookList } from './condition-for-categories-render';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesEl = document.querySelector('.section-categories');\nconst sectionBooksEl = document.querySelector('.section-books');\nconst sectionBooksTitleEl = document.querySelector('.section-books-title');\nconst booksListEl = document.querySelector('.section-books-list');\n\nfunction makeMarkupForBooks(books, e) {\n let oneBook = addClassForBookList(e);\n const markup = books\n .map(\n ({ book_image, title, author, _id }) => `
  • \n \n
    \n Book cover\n
    \n

    quick view

    \n
    \n
    \n

    ${title}

    \n

    ${author}

    \n
    \n
  • `\n )\n .join('\\n');\n return markup;\n}\n\nfunction makeMarkupForTitle(title) {\n const arrFromTitle = title.split(' ');\n if (arrFromTitle.length < 2) {\n return `${title}`;\n }\n const lastWord = arrFromTitle.pop();\n return `${arrFromTitle.join(' ')} ${lastWord}`;\n}\n\nasync function renderBooksByCategory(category) {\n try {\n const res = await booksApi.getBooksByCategory(category);\n booksListEl.innerHTML = makeMarkupForBooks(res, true);\n sectionBooksTitleEl.innerHTML = makeMarkupForTitle(category);\n hideElement(sectionCategoriesEl);\n showElement(sectionBooksEl);\n booksListEl.addEventListener('click', onBookSelect);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onBookSelect(evt) {\n const bookItem = evt.target.closest('.book-item');\n if (!bookItem) {\n return;\n }\n const bookId = bookItem.getAttribute('data-value');\n booksApi\n .getBookById(bookId)\n .then(insertModalBook)\n .catch(error => console.log(error));\n onModalOpen();\n}\n\nfunction hideElement(elem) {\n elem.classList.add('hidden');\n}\n\nfunction showElement(elem) {\n elem.classList.remove('hidden');\n}\n\nexport { makeMarkupForBooks, renderBooksByCategory, onBookSelect };\n","function addClassForBookList(e) {\n let oneBook = null;\n if (!e) {\n oneBook = 'element-books-list';\n } else {\n oneBook = 'element-books-list-all';\n }\n return oneBook;\n}\n\nexport { addClassForBookList };\n","import { useBooksApi } from '../services/booksApi';\nimport {\n makeMarkupForBooks,\n renderBooksByCategory,\n onBookSelect,\n} from './render-books-by-category';\nimport { clearStyleCategories } from './fetch-categories';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesListEl = document.querySelector(\n '.section-categories-list'\n);\n\nfunction makeMarkupForCategories(categories) {\n const categoriesMarkup = categories\n .map(\n list_name => `
  • \n

    ${list_name}

    \n \n \n
  • `\n )\n .join('\\n');\n return categoriesMarkup;\n}\n\nasync function parceCategoriesBlocks() {\n try {\n const categories = await booksApi.getCategoryList();\n const uniqueCategories = [\n ...new Set(categories.map(({ list_name }) => list_name)),\n ].sort();\n sectionCategoriesListEl.innerHTML =\n makeMarkupForCategories(uniqueCategories);\n const blocksForRenderingBooks =\n sectionCategoriesListEl.querySelectorAll('.books-list');\n const topBooks = await booksApi.getTopBooks();\n blocksForRenderingBooks.forEach(block => {\n const categoryName = block.dataset.category;\n const topBooksOfCategory = topBooks.find(\n elem => elem.list_name === categoryName\n ).books;\n block.innerHTML = makeMarkupForBooks(topBooksOfCategory);\n });\n sectionCategoriesListEl.addEventListener('click', onBookSelect);\n sectionCategoriesListEl.addEventListener('click', onButtonClick);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onButtonClick(evt) {\n evt.preventDefault();\n\n if (evt.target.nodeName === 'BUTTON') {\n const category = evt.target\n .closest('.category-block')\n .getAttribute('data-category');\n renderBooksByCategory(category);\n clearStyleCategories();\n const allCategories = Array.from(\n document.querySelectorAll('.category-link.link')\n );\n const activeCategoryEl = allCategories.find(\n elem => elem.textContent === category\n );\n activeCategoryEl.classList.add('active');\n return;\n }\n}\n\nparceCategoriesBlocks();\n\nexport { parceCategoriesBlocks };\n","import { useBooksApi } from '../services/booksApi';\nimport { renderBooksByCategory } from './render-books-by-category';\n\nconst booksApi = useBooksApi();\n\nconst handleOnPress = e => {\n booksApi\n .getCategoryList()\n .then(res => {\n parseCategoryList(res);\n })\n .catch(err => {\n console.log(err);\n })\n .finally(() => {});\n};\nconst categoryListEl = document.querySelector('.category-list');\n\nconst parseCategoryList = list => {\n const uniqueCategories = [\n ...new Set(list.map(({ list_name }) => list_name)),\n ].sort();\n const categoryList = uniqueCategories\n .map(category => {\n if (category !== null && category !== undefined) {\n return `\n
  • \n ${category}\n
  • `;\n }\n })\n .join('');\n categoryListEl.insertAdjacentHTML('beforeend', categoryList);\n let activeCategory = categoryListEl.querySelector('.link-all');\n activeCategory.classList.add('active');\n};\n\nhandleOnPress();\n\ncategoryListEl.addEventListener('click', getBookFromCategory);\n\nfunction getBookFromCategory(e) {\n e.preventDefault();\n const targetCategory = e.target.closest('.category-link');\n if (!targetCategory) {\n return;\n }\n const linkAllRef = document.querySelector('.link-all');\n const text = targetCategory.textContent.trim();\n clearStyleCategories();\n if (text === 'All categories') {\n const sectionCategoriesRef = document.querySelector('.section-categories');\n const sectionBooksRef = document.querySelector('.section-books');\n sectionBooksRef.classList.add('hidden');\n sectionCategoriesRef.classList.remove('hidden');\n linkAllRef.classList.add('active');\n } else {\n let activeCategory = e.target;\n activeCategory.classList.add('active');\n renderBooksByCategory(text);\n }\n}\n\nfunction clearStyleCategories() {\n const allCategories = document.querySelectorAll('.category-link');\n allCategories.forEach(function (element) {\n if (element.classList.contains('active')) {\n element.classList.remove('active');\n }\n });\n}\n\nexport { clearStyleCategories };\n","const currentHomePage = document.querySelector('.header-link-home');\n\ncurrentHomePage.classList.add('current');"],"names":["$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$d5eID","$fMzCF","$7a19ac8647e594da$var$booksApi","useBooksApi","$7a19ac8647e594da$var$sectionCategoriesEl","document","querySelector","$7a19ac8647e594da$var$sectionBooksEl","$7a19ac8647e594da$var$sectionBooksTitleEl","$7a19ac8647e594da$var$booksListEl","$7a19ac8647e594da$export$c2ff2758ce23ccbb","books","e","oneBook","markup","map","book_image","title","author","_id","join","$7a19ac8647e594da$export$e3a458789c8a5044","category","res","getBooksByCategory","innerHTML","$7a19ac8647e594da$var$makeMarkupForTitle","arrFromTitle","split","length","lastWord","pop","$7a19ac8647e594da$var$hideElement","elem","classList","add","$7a19ac8647e594da$var$showElement","remove","addEventListener","$7a19ac8647e594da$export$2e63ecab0dc5da99","console","log","evt","bookItem","target","closest","bookId","getAttribute","getBookById","then","insertModalBook","catch","error","onModalOpen","$613bb2bcc396c396$var$booksApi","$613bb2bcc396c396$var$categoryListEl","$613bb2bcc396c396$var$parseCategoryList","list","uniqueCategories","Set","list_name","sort","categoryList","insertAdjacentHTML","activeCategory","$613bb2bcc396c396$export$281d5932efad96db","allCategories","querySelectorAll","forEach","element","contains","getCategoryList","finally","preventDefault","targetCategory","linkAllRef","text","textContent","trim","sectionCategoriesRef","sectionBooksRef","$874e917b2764b2ca$var$booksApi","$874e917b2764b2ca$var$sectionCategoriesListEl","$874e917b2764b2ca$var$onButtonClick","nodeName","Array","from","activeCategoryEl","find","$874e917b2764b2ca$export$575704ffafa2b714","categories","$874e917b2764b2ca$var$makeMarkupForCategories","categoriesMarkup","blocksForRenderingBooks","topBooks","getTopBooks","block","categoryName","dataset","topBooksOfCategory","$e37ee52f6432a5a2$var$currentHomePage"],"version":3,"file":"index.40539960.js.map"} \ No newline at end of file diff --git a/index.6452570a.js b/index.6452570a.js deleted file mode 100644 index c7194f0..0000000 --- a/index.6452570a.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},t={},n={},o=e.parcelRequired7c6;null==o&&((o=function(e){if(e in t)return t[e].exports;if(e in n){var o=n[e];delete n[e];var c={id:e,exports:{}};return t[e]=c,o.call(c.exports,c,c.exports),c.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){n[e]=t},e.parcelRequired7c6=o),o("gGcLX"),o("bNmPK");var c=o("i7mVp"),r=o("4tSb9"),a=o("eJu0s"),i=o("9v0r1"),s=(0,a.useBooksApi)(),l=document.querySelector(".section-categories"),u=document.querySelector(".section-books"),d=document.querySelector(".section-books-title"),f=document.querySelector(".section-books-list");function v(e,t){var n=t?"element-books-list-all":"element-books-list";return e.map(function(e){var t=e.book_image,o=e.title,c=e.author,r=e._id;return'
  • \n \n
    \n Book cover\n
    \n

    quick view

    \n
    \n
    \n

    ").concat(o,"

    \n

    ").concat(c,"

    \n
    \n
  • ")}).join("\n")}function g(e){return p.apply(this,arguments)}function p(){return(p=(0,c._)(function(e){var t;return(0,r.__generator)(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,s.getBooksByCategory(e)];case 1:return t=n.sent(),f.innerHTML=v(t,!0),d.innerHTML=function(e){var t=e.split(" ");if(t.length<2)return"".concat(e);var n=t.pop();return"".concat(t.join(" "),' ').concat(n,"")}(e),function(e){e.classList.add("hidden")}(l),function(e){e.classList.remove("hidden")}(u),f.addEventListener("click",y),[3,3];case 2:return console.log(n.sent()),[3,3];case 3:return[2]}})})).apply(this,arguments)}function y(e){var t=e.target.closest(".book-item");if(t){var n=t.getAttribute("data-value");s.getBookById(n).then(i.insertModalBook).catch(function(e){return console.log(e)}),(0,i.onModalOpen)()}}var c=o("i7mVp"),m=o("aYXpI"),r=o("4tSb9"),a=o("eJu0s"),k=(0,a.useBooksApi)(),h=document.querySelector(".section-categories-list");function b(){return(b=(0,c._)(function(){var e,t,n,o;return(0,r.__generator)(this,function(c){switch(c.label){case 0:return c.trys.push([0,3,,4]),[4,k.getCategoryList()];case 1:return e=c.sent(),t=(0,m._)(new Set(e.map(function(e){return e.list_name}))).sort(),h.innerHTML=t.map(function(e){return"
  • \n

    ").concat(e,"

    \n \n \n
  • ")}).join("\n"),n=h.querySelectorAll(".books-list"),[4,k.getTopBooks()];case 2:return o=c.sent(),n.forEach(function(e){var t=e.dataset.category,n=o.find(function(e){return e.list_name===t}).books;e.innerHTML=v(n)}),h.addEventListener("click",y),h.addEventListener("click",L),[3,4];case 3:return console.log(c.sent()),[3,4];case 4:return[2]}})})).apply(this,arguments)}function L(e){e.preventDefault(),"BUTTON"===e.target.nodeName&&g(e.target.closest(".category-block").getAttribute("data-category"))}!function(){b.apply(this,arguments)}();var m=o("aYXpI"),a=o("eJu0s"),S=(0,a.useBooksApi)(),q=document.querySelector(".category-list"),_=document.querySelectorAll(".category-link");document.querySelector(".category-item");var E=function(e){var t=(0,m._)(new Set(e.map(function(e){return e.list_name}))).sort().map(function(e){if(null!=e)return'\n
  • \n '.concat(e,"\n
  • ")}).join("");q.insertAdjacentHTML("beforeend",t),_.forEach(function(e){e.addEventListener("click",function(t){t.preventDefault(),_.forEach(function(e){return e.classList.remove("active")}),e.classList.add("active")})})};function A(){document.querySelectorAll(".category-link").forEach(function(e){e.classList.contains("active")&&e.classList.remove("active")})}S.getCategoryList().then(function(e){E(e)}).catch(function(e){console.log(e)}).finally(function(){}),q.addEventListener("click",function(e){e.preventDefault();var t=e.target.closest(".category-link");if(t){var n=document.querySelector(".link-all"),o=t.textContent.trim();if("All categories"===o){var c=document.querySelector(".section-categories");document.querySelector(".section-books").classList.add("hidden"),c.classList.remove("hidden"),A(),n.classList.add("active")}else n.classList.remove("active"),A(),e.target.classList.add("active"),g(o)}}),o("jjftE"),o("xpKCW"),o("aISXF"),o("9v0r1"),o("23Ajj"),o("7hKzD"),document.querySelector(".header-link-home").classList.add("current")}(); -//# sourceMappingURL=index.6452570a.js.map diff --git a/index.6452570a.js.map b/index.6452570a.js.map deleted file mode 100644 index d07786c..0000000 --- a/index.6452570a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"mappings":"C,A,W,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,S,E,S,I,E,E,S,E,E,S,E,E,S,E,E,SEIM,EAAW,AAAA,CAAA,EAAA,EAAA,WAAU,AAAV,IAEX,EAAsB,SAAS,aAAA,CAAc,uBAC7C,EAAiB,SAAS,aAAA,CAAc,kBACxC,EAAsB,SAAS,aAAA,CAAc,wBAC7C,EAAc,SAAS,aAAA,CAAc,uBAE3C,SAAS,EAAmB,CAAK,CAAE,CAAC,EAClC,IAAI,EAA8B,ECPtB,yBAFA,qBD0BZ,OAhBe,EACZ,GAAA,CACC,SAFJ,CAAA,EAEO,IAAA,EAAA,EAAA,UAAA,CAAY,EAAA,EAAA,KAAA,CAAO,EAAA,EAAA,MAAA,CAAQ,EAAA,EAAA,GAA3B,CAAqC,MAAC,cACR,MAAA,CADqB,EAAQ,+CAGhD,MAAA,CAFmB,EAAI,sDAOZ,MAAA,CALX,EAAW,wLAMA,MAAA,CADA,EAAM,wCACC,MAAA,CAAP,EAAO,0BAIjC,GAAA,IAAA,CAAK,KAEV,CAWe,SAAA,EAAsB,CAAQ,EAA9B,OAAA,EAAA,KAAA,CAAA,IAAA,CAAA,U,CAAA,SAAA,IAAA,MAAA,AAAA,CAAA,EAAf,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,SAAqC,CAAQ,EAEnC,IAAA,E,M,A,C,E,E,W,A,E,I,C,S,C,E,O,E,K,E,K,EAAM,O,E,I,C,I,C,C,E,G,E,EAAA,C,EAAM,EAAS,kBAAA,CAAmB,G,A,M,E,OAAxC,EAAM,EAAN,IAAA,GACN,EAAY,SAAA,CAAY,EAAmB,EAAK,CAAA,GAChD,EAAoB,SAAA,CAAY,AAbpC,SAA4B,CAAK,EAC/B,IAAM,EAAe,EAAM,KAAA,CAAM,KACjC,GAAI,EAAa,MAAA,CAAS,EACxB,MAAQ,GAAQ,MA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","sources":["","src/index.js","src/js/render-books-by-category.js","src/js/condition-for-categories-render.js","src/js/top-books.js","src/js/fetch-categories.js","src/js/get-current-for-home-page.js"],"sourcesContent":["(function () {\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequired7c6\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequired7c6\"] = parcelRequire;\n}\n// import switcher from './switcher';\nparcelRequire(\"gGcLX\");\nparcelRequire(\"bNmPK\");\n\nvar $i7mVp = parcelRequire(\"i7mVp\");\n\nvar $4tSb9 = parcelRequire(\"4tSb9\");\n\nvar $eJu0s = parcelRequire(\"eJu0s\");\n\nvar $9v0r1 = parcelRequire(\"9v0r1\");\nfunction $a9593882249300d7$export$c522a0db91e5ddc6(e) {\n var oneBook = null;\n if (!e) oneBook = \"element-books-list\";\n else oneBook = \"element-books-list-all\";\n return oneBook;\n}\n\n\nvar $8c77ecf650b6eefd$var$booksApi = (0, $eJu0s.useBooksApi)();\nvar $8c77ecf650b6eefd$var$sectionCategoriesEl = document.querySelector(\".section-categories\");\nvar $8c77ecf650b6eefd$var$sectionBooksEl = document.querySelector(\".section-books\");\nvar $8c77ecf650b6eefd$var$sectionBooksTitleEl = document.querySelector(\".section-books-title\");\nvar $8c77ecf650b6eefd$var$booksListEl = document.querySelector(\".section-books-list\");\nfunction $8c77ecf650b6eefd$export$c2ff2758ce23ccbb(books, e) {\n var oneBook = (0, $a9593882249300d7$export$c522a0db91e5ddc6)(e);\n var markup = books.map(function(param) {\n var book_image = param.book_image, title = param.title, author = param.author, _id = param._id;\n return '
  • \\n \\n
    \\n Book cover\\n
    \\n

    quick view

    \\n
    \\n
    \\n

    \").concat(title, \"

    \\n

    \").concat(author, \"

    \\n
    \\n
  • \");\n }).join(\"\\n\");\n return markup;\n}\nfunction $8c77ecf650b6eefd$var$makeMarkupForTitle(title) {\n var arrFromTitle = title.split(\" \");\n if (arrFromTitle.length < 2) return \"\".concat(title);\n var lastWord = arrFromTitle.pop();\n return \"\".concat(arrFromTitle.join(\" \"), ' ').concat(lastWord, \"\");\n}\nfunction $8c77ecf650b6eefd$export$e3a458789c8a5044(category) {\n return $8c77ecf650b6eefd$var$_renderBooksByCategory.apply(this, arguments);\n}\nfunction $8c77ecf650b6eefd$var$_renderBooksByCategory() {\n $8c77ecf650b6eefd$var$_renderBooksByCategory = (0, $i7mVp._)(function(category) {\n var res, err;\n return (0, $4tSb9.__generator)(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 2,\n ,\n 3\n ]);\n return [\n 4,\n $8c77ecf650b6eefd$var$booksApi.getBooksByCategory(category)\n ];\n case 1:\n res = _state.sent();\n $8c77ecf650b6eefd$var$booksListEl.innerHTML = $8c77ecf650b6eefd$export$c2ff2758ce23ccbb(res, true);\n $8c77ecf650b6eefd$var$sectionBooksTitleEl.innerHTML = $8c77ecf650b6eefd$var$makeMarkupForTitle(category);\n $8c77ecf650b6eefd$var$hideElement($8c77ecf650b6eefd$var$sectionCategoriesEl);\n $8c77ecf650b6eefd$var$showElement($8c77ecf650b6eefd$var$sectionBooksEl);\n $8c77ecf650b6eefd$var$booksListEl.addEventListener(\"click\", $8c77ecf650b6eefd$export$2e63ecab0dc5da99);\n return [\n 3,\n 3\n ];\n case 2:\n err = _state.sent();\n console.log(err);\n return [\n 3,\n 3\n ];\n case 3:\n return [\n 2\n ];\n }\n });\n });\n return $8c77ecf650b6eefd$var$_renderBooksByCategory.apply(this, arguments);\n}\nfunction $8c77ecf650b6eefd$export$2e63ecab0dc5da99(evt) {\n var bookItem = evt.target.closest(\".book-item\");\n if (!bookItem) return;\n var bookId = bookItem.getAttribute(\"data-value\");\n $8c77ecf650b6eefd$var$booksApi.getBookById(bookId).then((0, $9v0r1.insertModalBook)).catch(function(error) {\n return console.log(error);\n });\n (0, $9v0r1.onModalOpen)();\n}\nfunction $8c77ecf650b6eefd$var$hideElement(elem) {\n elem.classList.add(\"hidden\");\n}\nfunction $8c77ecf650b6eefd$var$showElement(elem) {\n elem.classList.remove(\"hidden\");\n}\n\n\n\nvar $i7mVp = parcelRequire(\"i7mVp\");\n\nvar $aYXpI = parcelRequire(\"aYXpI\");\n\nvar $4tSb9 = parcelRequire(\"4tSb9\");\n\nvar $eJu0s = parcelRequire(\"eJu0s\");\n\nvar $6e85cf682c3d13e1$var$booksApi = (0, $eJu0s.useBooksApi)();\nvar $6e85cf682c3d13e1$var$sectionCategoriesListEl = document.querySelector(\".section-categories-list\");\nfunction $6e85cf682c3d13e1$var$makeMarkupForCategories(categories) {\n var categoriesMarkup = categories.map(function(list_name) {\n return \"
  • \\n

    \").concat(list_name, \"

    \\n
      \\n \\n
    • \");\n }).join(\"\\n\");\n return categoriesMarkup;\n}\nfunction $6e85cf682c3d13e1$export$575704ffafa2b714() {\n return $6e85cf682c3d13e1$var$_parceCategoriesBlocks.apply(this, arguments);\n}\nfunction $6e85cf682c3d13e1$var$_parceCategoriesBlocks() {\n $6e85cf682c3d13e1$var$_parceCategoriesBlocks = (0, $i7mVp._)(function() {\n var categories, uniqueCategories, blocksForRenderingBooks, topBooks, err;\n return (0, $4tSb9.__generator)(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 3,\n ,\n 4\n ]);\n return [\n 4,\n $6e85cf682c3d13e1$var$booksApi.getCategoryList()\n ];\n case 1:\n categories = _state.sent();\n uniqueCategories = (0, $aYXpI._)(new Set(categories.map(function(param) {\n var list_name = param.list_name;\n return list_name;\n }))).sort();\n $6e85cf682c3d13e1$var$sectionCategoriesListEl.innerHTML = $6e85cf682c3d13e1$var$makeMarkupForCategories(uniqueCategories);\n blocksForRenderingBooks = $6e85cf682c3d13e1$var$sectionCategoriesListEl.querySelectorAll(\".books-list\");\n return [\n 4,\n $6e85cf682c3d13e1$var$booksApi.getTopBooks()\n ];\n case 2:\n topBooks = _state.sent();\n blocksForRenderingBooks.forEach(function(block) {\n var categoryName = block.dataset.category;\n var topBooksOfCategory = topBooks.find(function(elem) {\n return elem.list_name === categoryName;\n }).books;\n block.innerHTML = (0, $8c77ecf650b6eefd$export$c2ff2758ce23ccbb)(topBooksOfCategory);\n });\n $6e85cf682c3d13e1$var$sectionCategoriesListEl.addEventListener(\"click\", (0, $8c77ecf650b6eefd$export$2e63ecab0dc5da99));\n $6e85cf682c3d13e1$var$sectionCategoriesListEl.addEventListener(\"click\", $6e85cf682c3d13e1$var$onButtonClick);\n return [\n 3,\n 4\n ];\n case 3:\n err = _state.sent();\n console.log(err);\n return [\n 3,\n 4\n ];\n case 4:\n return [\n 2\n ];\n }\n });\n });\n return $6e85cf682c3d13e1$var$_parceCategoriesBlocks.apply(this, arguments);\n}\nfunction $6e85cf682c3d13e1$var$onButtonClick(evt) {\n evt.preventDefault();\n if (evt.target.nodeName === \"BUTTON\") {\n var category = evt.target.closest(\".category-block\").getAttribute(\"data-category\");\n (0, $8c77ecf650b6eefd$export$e3a458789c8a5044)(category);\n return;\n } else return;\n}\n$6e85cf682c3d13e1$export$575704ffafa2b714();\n\n\n\n\nvar $aYXpI = parcelRequire(\"aYXpI\");\n\nvar $eJu0s = parcelRequire(\"eJu0s\");\n\nvar $96183871d4a7368c$var$booksApi = (0, $eJu0s.useBooksApi)();\nvar $96183871d4a7368c$var$handleOnPress = function(e) {\n $96183871d4a7368c$var$booksApi.getCategoryList().then(function(res) {\n $96183871d4a7368c$var$parseCategoryList(res);\n }).catch(function(err) {\n console.log(err);\n }).finally(function() {});\n};\nvar $96183871d4a7368c$var$categoryListEl = document.querySelector(\".category-list\");\nvar $96183871d4a7368c$var$categoryLinksElements = document.querySelectorAll(\".category-link\");\nvar $96183871d4a7368c$var$oneCategory = document.querySelector(\".category-item\");\nvar $96183871d4a7368c$var$parseCategoryList = function(list) {\n var uniqueCategories = (0, $aYXpI._)(new Set(list.map(function(param) {\n var list_name = param.list_name;\n return list_name;\n }))).sort();\n var categoryList = uniqueCategories.map(function(category) {\n if (category !== null && category !== undefined) return '\\n
    • \\n '.concat(category, \"\\n
    • \");\n }).join(\"\");\n $96183871d4a7368c$var$categoryListEl.insertAdjacentHTML(\"beforeend\", categoryList);\n $96183871d4a7368c$var$getCategoryElements();\n};\nfunction $96183871d4a7368c$var$getCategoryElements() {\n $96183871d4a7368c$var$categoryLinksElements.forEach(function(link) {\n link.addEventListener(\"click\", function(evt) {\n evt.preventDefault();\n $96183871d4a7368c$var$categoryLinksElements.forEach(function(el) {\n return el.classList.remove(\"active\");\n });\n link.classList.add(\"active\");\n });\n });\n}\n$96183871d4a7368c$var$handleOnPress();\n$96183871d4a7368c$var$categoryListEl.addEventListener(\"click\", $96183871d4a7368c$var$getBookFromCategory);\nfunction $96183871d4a7368c$var$getBookFromCategory(e) {\n e.preventDefault();\n var targetCategory = e.target.closest(\".category-link\");\n if (!targetCategory) return;\n var linkAllRef = document.querySelector(\".link-all\");\n var text = targetCategory.textContent.trim();\n if (text === \"All categories\") {\n var sectionCategoriesRef = document.querySelector(\".section-categories\");\n var sectionBooksRef = document.querySelector(\".section-books\");\n sectionBooksRef.classList.add(\"hidden\");\n sectionCategoriesRef.classList.remove(\"hidden\");\n $96183871d4a7368c$var$clearStyleCategories();\n linkAllRef.classList.add(\"active\");\n } else {\n linkAllRef.classList.remove(\"active\");\n $96183871d4a7368c$var$clearStyleCategories();\n var activeCategory = e.target;\n activeCategory.classList.add(\"active\");\n (0, $8c77ecf650b6eefd$export$e3a458789c8a5044)(text);\n }\n}\nfunction $96183871d4a7368c$var$clearStyleCategories() {\n var allCategories = document.querySelectorAll(\".category-link\");\n allCategories.forEach(function(element) {\n if (element.classList.contains(\"active\")) element.classList.remove(\"active\");\n else return;\n });\n}\n\n\nparcelRequire(\"jjftE\");\nparcelRequire(\"xpKCW\");\nparcelRequire(\"aISXF\");\nparcelRequire(\"9v0r1\");\nparcelRequire(\"23Ajj\");\nparcelRequire(\"7hKzD\");\nvar $657d21ef6898a11f$var$currentHomePage = document.querySelector(\".header-link-home\");\n$657d21ef6898a11f$var$currentHomePage.classList.add(\"current\");\n\n\n\n})();\n//# sourceMappingURL=index.6452570a.js.map\n","// import switcher from './switcher';\nimport './js/themes';\nimport './js/menu';\nimport './js/render-books-by-category';\nimport './js/top-books';\nimport './js/condition-for-categories-render';\nimport './js/fetch-categories';\nimport './js/fireBaseFnunctions.js';\nimport './js/support';\nimport './js/auth/modal-auth/eventsProcessor';\nimport './js/pop-up-book';\nimport './js/scroll-up';\nimport './js/footer';\nimport './js/get-current-for-home-page';","import { useBooksApi } from '../services/booksApi';\nimport { insertModalBook, onModalOpen } from './pop-up-book';\nimport { addClassForBookList } from './condition-for-categories-render';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesEl = document.querySelector('.section-categories');\nconst sectionBooksEl = document.querySelector('.section-books');\nconst sectionBooksTitleEl = document.querySelector('.section-books-title');\nconst booksListEl = document.querySelector('.section-books-list');\n\nfunction makeMarkupForBooks(books, e) {\n let oneBook = addClassForBookList(e);\n const markup = books\n .map(\n ({ book_image, title, author, _id }) => `
    • \n \n
      \n Book cover\n
      \n

      quick view

      \n
      \n
      \n

      ${title}

      \n

      ${author}

      \n
      \n
    • `\n )\n .join('\\n');\n return markup;\n}\n\nfunction makeMarkupForTitle(title) {\n const arrFromTitle = title.split(' ');\n if (arrFromTitle.length < 2) {\n return `${title}`;\n }\n const lastWord = arrFromTitle.pop();\n return `${arrFromTitle.join(' ')} ${lastWord}`;\n}\n\nasync function renderBooksByCategory(category) {\n try {\n const res = await booksApi.getBooksByCategory(category);\n booksListEl.innerHTML = makeMarkupForBooks(res, true);\n sectionBooksTitleEl.innerHTML = makeMarkupForTitle(category);\n hideElement(sectionCategoriesEl);\n showElement(sectionBooksEl);\n booksListEl.addEventListener('click', onBookSelect);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onBookSelect(evt) {\n const bookItem = evt.target.closest('.book-item');\n if (!bookItem) {\n return;\n }\n const bookId = bookItem.getAttribute('data-value');\n booksApi\n .getBookById(bookId)\n .then(insertModalBook)\n .catch(error => console.log(error));\n onModalOpen();\n}\n\nfunction hideElement(elem) {\n elem.classList.add('hidden');\n}\n\nfunction showElement(elem) {\n elem.classList.remove('hidden');\n}\n\nexport { makeMarkupForBooks, renderBooksByCategory, onBookSelect };\n","function addClassForBookList(e) {\n let oneBook = null;\n if (!e) {\n oneBook = 'element-books-list';\n } else {\n oneBook = 'element-books-list-all';\n }\n return oneBook;\n}\n\nexport { addClassForBookList };\n","import { useBooksApi } from '../services/booksApi';\nimport {\n makeMarkupForBooks,\n renderBooksByCategory,\n onBookSelect,\n} from './render-books-by-category';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesListEl = document.querySelector(\n '.section-categories-list'\n);\n\nfunction makeMarkupForCategories(categories) {\n const categoriesMarkup = categories\n .map(\n list_name => `
    • \n

      ${list_name}

      \n
        \n \n
      • `\n )\n .join('\\n');\n return categoriesMarkup;\n}\n\nasync function parceCategoriesBlocks() {\n try {\n const categories = await booksApi.getCategoryList();\n const uniqueCategories = [\n ...new Set(categories.map(({ list_name }) => list_name)),\n ].sort();\n sectionCategoriesListEl.innerHTML =\n makeMarkupForCategories(uniqueCategories);\n const blocksForRenderingBooks =\n sectionCategoriesListEl.querySelectorAll('.books-list');\n const topBooks = await booksApi.getTopBooks();\n blocksForRenderingBooks.forEach(block => {\n const categoryName = block.dataset.category;\n const topBooksOfCategory = topBooks.find(\n elem => elem.list_name === categoryName\n ).books;\n block.innerHTML = makeMarkupForBooks(topBooksOfCategory);\n });\n sectionCategoriesListEl.addEventListener('click', onBookSelect);\n sectionCategoriesListEl.addEventListener('click', onButtonClick);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onButtonClick(evt) {\n evt.preventDefault();\n\n if (evt.target.nodeName === 'BUTTON') {\n const category = evt.target\n .closest('.category-block')\n .getAttribute('data-category');\n renderBooksByCategory(category);\n\n return;\n } else {\n return;\n }\n}\n\nparceCategoriesBlocks();\n\nexport { parceCategoriesBlocks };\n","import { useBooksApi } from '../services/booksApi';\nimport { renderBooksByCategory } from './render-books-by-category';\n\nconst booksApi = useBooksApi();\n\nconst handleOnPress = e => {\n booksApi\n .getCategoryList()\n .then(res => {\n parseCategoryList(res);\n })\n .catch(err => {\n console.log(err);\n })\n .finally(() => {});\n};\nconst categoryListEl = document.querySelector('.category-list');\nconst categoryLinksElements = document.querySelectorAll('.category-link');\nconst oneCategory = document.querySelector('.category-item');\n\nconst parseCategoryList = list => {\n const uniqueCategories = [\n ...new Set(list.map(({ list_name }) => list_name)),\n ].sort();\n const categoryList = uniqueCategories\n .map(category => {\n if (category !== null && category !== undefined) {\n return `\n
      • \n ${category}\n
      • `;\n }\n })\n .join('');\n categoryListEl.insertAdjacentHTML('beforeend', categoryList);\n getCategoryElements();\n};\n\nfunction getCategoryElements() {\n categoryLinksElements.forEach(link => {\n link.addEventListener('click', evt => {\n evt.preventDefault();\n categoryLinksElements.forEach(el => el.classList.remove('active'));\n link.classList.add('active');\n });\n });\n}\n\nhandleOnPress();\n\ncategoryListEl.addEventListener('click', getBookFromCategory);\n\nfunction getBookFromCategory(e) {\n e.preventDefault();\n const targetCategory = e.target.closest('.category-link');\n if (!targetCategory) {\n return;\n }\n const linkAllRef = document.querySelector('.link-all');\n const text = targetCategory.textContent.trim();\n if (text === 'All categories') {\n const sectionCategoriesRef = document.querySelector('.section-categories');\n const sectionBooksRef = document.querySelector('.section-books');\n sectionBooksRef.classList.add('hidden');\n sectionCategoriesRef.classList.remove('hidden');\n clearStyleCategories();\n linkAllRef.classList.add('active');\n } else {\n linkAllRef.classList.remove('active');\n clearStyleCategories();\n let activeCategory = e.target;\n activeCategory.classList.add('active');\n\n renderBooksByCategory(text);\n }\n}\n\nfunction clearStyleCategories() {\n const allCategories = document.querySelectorAll('.category-link');\n allCategories.forEach(function (element) {\n if (element.classList.contains('active')) {\n element.classList.remove('active');\n } else {\n return;\n }\n });\n}\n","const currentHomePage = document.querySelector('.header-link-home');\n\ncurrentHomePage.classList.add('current');"],"names":["$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$i7mVp","$4tSb9","$eJu0s","$9v0r1","$8c77ecf650b6eefd$var$booksApi","useBooksApi","$8c77ecf650b6eefd$var$sectionCategoriesEl","document","querySelector","$8c77ecf650b6eefd$var$sectionBooksEl","$8c77ecf650b6eefd$var$sectionBooksTitleEl","$8c77ecf650b6eefd$var$booksListEl","$8c77ecf650b6eefd$export$c2ff2758ce23ccbb","books","e","oneBook","map","param","book_image","title","author","_id","concat","join","$8c77ecf650b6eefd$export$e3a458789c8a5044","category","$8c77ecf650b6eefd$var$_renderBooksByCategory","apply","arguments","_","res","__generator","_state","label","trys","push","getBooksByCategory","sent","innerHTML","$8c77ecf650b6eefd$var$makeMarkupForTitle","arrFromTitle","split","length","lastWord","pop","$8c77ecf650b6eefd$var$hideElement","elem","classList","add","$8c77ecf650b6eefd$var$showElement","remove","addEventListener","$8c77ecf650b6eefd$export$2e63ecab0dc5da99","console","log","evt","bookItem","target","closest","bookId","getAttribute","getBookById","then","insertModalBook","catch","error","onModalOpen","$aYXpI","$6e85cf682c3d13e1$var$booksApi","$6e85cf682c3d13e1$var$sectionCategoriesListEl","$6e85cf682c3d13e1$var$_parceCategoriesBlocks","categories","uniqueCategories","blocksForRenderingBooks","topBooks","getCategoryList","Set","list_name","sort","querySelectorAll","getTopBooks","forEach","block","categoryName","dataset","topBooksOfCategory","find","$6e85cf682c3d13e1$var$onButtonClick","preventDefault","nodeName","$6e85cf682c3d13e1$export$575704ffafa2b714","$96183871d4a7368c$var$booksApi","$96183871d4a7368c$var$categoryListEl","$96183871d4a7368c$var$categoryLinksElements","$96183871d4a7368c$var$parseCategoryList","list","categoryList","insertAdjacentHTML","link","el","$96183871d4a7368c$var$clearStyleCategories","allCategories","element","contains","finally","targetCategory","linkAllRef","text","textContent","trim","sectionCategoriesRef","sectionBooksRef","activeCategory","$657d21ef6898a11f$var$currentHomePage"],"version":3,"file":"index.6452570a.js.map"} \ No newline at end of file diff --git a/index.acaa7675.js b/index.acaa7675.js deleted file mode 100644 index 866ddd3..0000000 --- a/index.acaa7675.js +++ /dev/null @@ -1,20 +0,0 @@ -var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},t={},o={},l=e.parcelRequired7c6;null==l&&((l=function(e){if(e in t)return t[e].exports;if(e in o){var l=o[e];delete o[e];var n={id:e,exports:{}};return t[e]=n,l.call(n.exports,n,n.exports),n.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){o[e]=t},e.parcelRequired7c6=l),l("2wbaf"),l("4dIBK");var n=l("d5eID"),a=l("fMzCF");const c=(0,n.useBooksApi)(),i=document.querySelector(".section-categories"),s=document.querySelector(".section-books"),r=document.querySelector(".section-books-title"),d=document.querySelector(".section-books-list");function u(e,t){let o=t?"element-books-list-all":"element-books-list",l=e.map(({book_image:e,title:t,author:l,_id:n})=>`
      • - -
        - Book cover -
        -

        quick view

        -
        -
        -

        ${t}

        -

        ${l}

        -
        -
      • `).join("\n");return l}async function f(e){try{let t=await c.getBooksByCategory(e);d.innerHTML=u(t,!0),r.innerHTML=function(e){let t=e.split(" ");if(t.length<2)return`${e}`;let o=t.pop();return`${t.join(" ")} ${o}`}(e),function(e){e.classList.add("hidden")}(i),function(e){e.classList.remove("hidden")}(s),d.addEventListener("click",g)}catch(e){console.log(e)}}function g(e){let t=e.target.closest(".book-item");if(!t)return;let o=t.getAttribute("data-value");c.getBookById(o).then(a.insertModalBook).catch(e=>console.log(e)),(0,a.onModalOpen)()}var n=l("d5eID");const y=(0,n.useBooksApi)(),m=document.querySelector(".section-categories-list");function k(e){if(e.preventDefault(),"BUTTON"===e.target.nodeName){let t=e.target.closest(".category-block").getAttribute("data-category");f(t);return}}!async function(){try{let e=await y.getCategoryList(),t=[...new Set(e.map(({list_name:e})=>e))].sort();m.innerHTML=function(e){let t=e.map(e=>`
      • -

        ${e}

        -
          - -
        • `).join("\n");return t}(t);let o=m.querySelectorAll(".books-list"),l=await y.getTopBooks();o.forEach(e=>{let t=e.dataset.category,o=l.find(e=>e.list_name===t).books;e.innerHTML=u(o)}),m.addEventListener("click",g),m.addEventListener("click",k)}catch(e){console.log(e)}}();var n=l("d5eID");const v=(0,n.useBooksApi)(),p=document.querySelector(".category-list"),b=document.querySelectorAll(".category-link");document.querySelector(".category-item");const h=e=>{let t=[...new Set(e.map(({list_name:e})=>e))].sort(),o=t.map(e=>{if(null!=e)return` -
        • - ${e} -
        • `}).join("");p.insertAdjacentHTML("beforeend",o),b.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),b.forEach(e=>e.classList.remove("active")),e.classList.add("active")})})};function L(){let e=document.querySelectorAll(".category-link");e.forEach(function(e){e.classList.contains("active")&&e.classList.remove("active")})}v.getCategoryList().then(e=>{h(e)}).catch(e=>{console.log(e)}).finally(()=>{}),p.addEventListener("click",function(e){e.preventDefault();let t=e.target.closest(".category-link");if(!t)return;let o=document.querySelector(".link-all"),l=t.textContent.trim();if("All categories"===l){let e=document.querySelector(".section-categories"),t=document.querySelector(".section-books");t.classList.add("hidden"),e.classList.remove("hidden"),L(),o.classList.add("active")}else o.classList.remove("active"),L(),e.target.classList.add("active"),f(l)}),l("ld1e2"),l("dTazW"),l("4EhXu"),l("fMzCF"),l("74Aiq"),l("epHO8");const q=document.querySelector(".header-link-home");q.classList.add("current"); -//# sourceMappingURL=index.acaa7675.js.map diff --git a/index.acaa7675.js.map b/index.acaa7675.js.map deleted file mode 100644 index 288afdb..0000000 --- a/index.acaa7675.js.map +++ /dev/null @@ -1 +0,0 @@ -{"mappings":"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","sources":["","src/index.js","src/js/render-books-by-category.js","src/js/condition-for-categories-render.js","src/js/top-books.js","src/js/fetch-categories.js","src/js/get-current-for-home-page.js"],"sourcesContent":["var $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequired7c6\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequired7c6\"] = parcelRequire;\n}\n// import switcher from './switcher';\nparcelRequire(\"2wbaf\");\nparcelRequire(\"4dIBK\");\n\nvar $d5eID = parcelRequire(\"d5eID\");\n\nvar $fMzCF = parcelRequire(\"fMzCF\");\nfunction $3af0a9fa5e15deee$export$c522a0db91e5ddc6(e) {\n let oneBook = null;\n if (!e) oneBook = \"element-books-list\";\n else oneBook = \"element-books-list-all\";\n return oneBook;\n}\n\n\nconst $7a19ac8647e594da$var$booksApi = (0, $d5eID.useBooksApi)();\nconst $7a19ac8647e594da$var$sectionCategoriesEl = document.querySelector(\".section-categories\");\nconst $7a19ac8647e594da$var$sectionBooksEl = document.querySelector(\".section-books\");\nconst $7a19ac8647e594da$var$sectionBooksTitleEl = document.querySelector(\".section-books-title\");\nconst $7a19ac8647e594da$var$booksListEl = document.querySelector(\".section-books-list\");\nfunction $7a19ac8647e594da$export$c2ff2758ce23ccbb(books, e) {\n let oneBook = (0, $3af0a9fa5e15deee$export$c522a0db91e5ddc6)(e);\n const markup = books.map(({ book_image: book_image, title: title, author: author, _id: _id })=>`
        • \n \n
          \n Book cover\n
          \n

          quick view

          \n
          \n
          \n

          ${title}

          \n

          ${author}

          \n
          \n
        • `).join(\"\\n\");\n return markup;\n}\nfunction $7a19ac8647e594da$var$makeMarkupForTitle(title) {\n const arrFromTitle = title.split(\" \");\n if (arrFromTitle.length < 2) return `${title}`;\n const lastWord = arrFromTitle.pop();\n return `${arrFromTitle.join(\" \")} ${lastWord}`;\n}\nasync function $7a19ac8647e594da$export$e3a458789c8a5044(category) {\n try {\n const res = await $7a19ac8647e594da$var$booksApi.getBooksByCategory(category);\n $7a19ac8647e594da$var$booksListEl.innerHTML = $7a19ac8647e594da$export$c2ff2758ce23ccbb(res, true);\n $7a19ac8647e594da$var$sectionBooksTitleEl.innerHTML = $7a19ac8647e594da$var$makeMarkupForTitle(category);\n $7a19ac8647e594da$var$hideElement($7a19ac8647e594da$var$sectionCategoriesEl);\n $7a19ac8647e594da$var$showElement($7a19ac8647e594da$var$sectionBooksEl);\n $7a19ac8647e594da$var$booksListEl.addEventListener(\"click\", $7a19ac8647e594da$export$2e63ecab0dc5da99);\n } catch (err) {\n console.log(err);\n }\n}\nfunction $7a19ac8647e594da$export$2e63ecab0dc5da99(evt) {\n const bookItem = evt.target.closest(\".book-item\");\n if (!bookItem) return;\n const bookId = bookItem.getAttribute(\"data-value\");\n $7a19ac8647e594da$var$booksApi.getBookById(bookId).then((0, $fMzCF.insertModalBook)).catch((error)=>console.log(error));\n (0, $fMzCF.onModalOpen)();\n}\nfunction $7a19ac8647e594da$var$hideElement(elem) {\n elem.classList.add(\"hidden\");\n}\nfunction $7a19ac8647e594da$var$showElement(elem) {\n elem.classList.remove(\"hidden\");\n}\n\n\n\nvar $d5eID = parcelRequire(\"d5eID\");\n\nconst $874e917b2764b2ca$var$booksApi = (0, $d5eID.useBooksApi)();\nconst $874e917b2764b2ca$var$sectionCategoriesListEl = document.querySelector(\".section-categories-list\");\nfunction $874e917b2764b2ca$var$makeMarkupForCategories(categories) {\n const categoriesMarkup = categories.map((list_name)=>`
        • \n

          ${list_name}

          \n
            \n \n
          • `).join(\"\\n\");\n return categoriesMarkup;\n}\nasync function $874e917b2764b2ca$export$575704ffafa2b714() {\n try {\n const categories = await $874e917b2764b2ca$var$booksApi.getCategoryList();\n const uniqueCategories = [\n ...new Set(categories.map(({ list_name: list_name })=>list_name))\n ].sort();\n $874e917b2764b2ca$var$sectionCategoriesListEl.innerHTML = $874e917b2764b2ca$var$makeMarkupForCategories(uniqueCategories);\n const blocksForRenderingBooks = $874e917b2764b2ca$var$sectionCategoriesListEl.querySelectorAll(\".books-list\");\n const topBooks = await $874e917b2764b2ca$var$booksApi.getTopBooks();\n blocksForRenderingBooks.forEach((block)=>{\n const categoryName = block.dataset.category;\n const topBooksOfCategory = topBooks.find((elem)=>elem.list_name === categoryName).books;\n block.innerHTML = (0, $7a19ac8647e594da$export$c2ff2758ce23ccbb)(topBooksOfCategory);\n });\n $874e917b2764b2ca$var$sectionCategoriesListEl.addEventListener(\"click\", (0, $7a19ac8647e594da$export$2e63ecab0dc5da99));\n $874e917b2764b2ca$var$sectionCategoriesListEl.addEventListener(\"click\", $874e917b2764b2ca$var$onButtonClick);\n } catch (err) {\n console.log(err);\n }\n}\nfunction $874e917b2764b2ca$var$onButtonClick(evt) {\n evt.preventDefault();\n if (evt.target.nodeName === \"BUTTON\") {\n const category = evt.target.closest(\".category-block\").getAttribute(\"data-category\");\n (0, $7a19ac8647e594da$export$e3a458789c8a5044)(category);\n return;\n } else return;\n}\n$874e917b2764b2ca$export$575704ffafa2b714();\n\n\n\n\nvar $d5eID = parcelRequire(\"d5eID\");\n\nconst $613bb2bcc396c396$var$booksApi = (0, $d5eID.useBooksApi)();\nconst $613bb2bcc396c396$var$handleOnPress = (e)=>{\n $613bb2bcc396c396$var$booksApi.getCategoryList().then((res)=>{\n $613bb2bcc396c396$var$parseCategoryList(res);\n }).catch((err)=>{\n console.log(err);\n }).finally(()=>{});\n};\nconst $613bb2bcc396c396$var$categoryListEl = document.querySelector(\".category-list\");\nconst $613bb2bcc396c396$var$categoryLinksElements = document.querySelectorAll(\".category-link\");\nconst $613bb2bcc396c396$var$oneCategory = document.querySelector(\".category-item\");\nconst $613bb2bcc396c396$var$parseCategoryList = (list)=>{\n const uniqueCategories = [\n ...new Set(list.map(({ list_name: list_name })=>list_name))\n ].sort();\n const categoryList = uniqueCategories.map((category)=>{\n if (category !== null && category !== undefined) return `\n
          • \n ${category}\n
          • `;\n }).join(\"\");\n $613bb2bcc396c396$var$categoryListEl.insertAdjacentHTML(\"beforeend\", categoryList);\n $613bb2bcc396c396$var$getCategoryElements();\n};\nfunction $613bb2bcc396c396$var$getCategoryElements() {\n $613bb2bcc396c396$var$categoryLinksElements.forEach((link)=>{\n link.addEventListener(\"click\", (evt)=>{\n evt.preventDefault();\n $613bb2bcc396c396$var$categoryLinksElements.forEach((el)=>el.classList.remove(\"active\"));\n link.classList.add(\"active\");\n });\n });\n}\n$613bb2bcc396c396$var$handleOnPress();\n$613bb2bcc396c396$var$categoryListEl.addEventListener(\"click\", $613bb2bcc396c396$var$getBookFromCategory);\nfunction $613bb2bcc396c396$var$getBookFromCategory(e) {\n e.preventDefault();\n const targetCategory = e.target.closest(\".category-link\");\n if (!targetCategory) return;\n const linkAllRef = document.querySelector(\".link-all\");\n const text = targetCategory.textContent.trim();\n if (text === \"All categories\") {\n const sectionCategoriesRef = document.querySelector(\".section-categories\");\n const sectionBooksRef = document.querySelector(\".section-books\");\n sectionBooksRef.classList.add(\"hidden\");\n sectionCategoriesRef.classList.remove(\"hidden\");\n $613bb2bcc396c396$var$clearStyleCategories();\n linkAllRef.classList.add(\"active\");\n } else {\n linkAllRef.classList.remove(\"active\");\n $613bb2bcc396c396$var$clearStyleCategories();\n let activeCategory = e.target;\n activeCategory.classList.add(\"active\");\n (0, $7a19ac8647e594da$export$e3a458789c8a5044)(text);\n }\n}\nfunction $613bb2bcc396c396$var$clearStyleCategories() {\n const allCategories = document.querySelectorAll(\".category-link\");\n allCategories.forEach(function(element) {\n if (element.classList.contains(\"active\")) element.classList.remove(\"active\");\n else return;\n });\n}\n\n\nparcelRequire(\"ld1e2\");\nparcelRequire(\"dTazW\");\nparcelRequire(\"4EhXu\");\nparcelRequire(\"fMzCF\");\nparcelRequire(\"74Aiq\");\nparcelRequire(\"epHO8\");\nconst $e37ee52f6432a5a2$var$currentHomePage = document.querySelector(\".header-link-home\");\n$e37ee52f6432a5a2$var$currentHomePage.classList.add(\"current\");\n\n\n\n\n//# sourceMappingURL=index.acaa7675.js.map\n","// import switcher from './switcher';\nimport './js/themes';\nimport './js/menu';\nimport './js/render-books-by-category';\nimport './js/top-books';\nimport './js/condition-for-categories-render';\nimport './js/fetch-categories';\nimport './js/fireBaseFnunctions.js';\nimport './js/support';\nimport './js/auth/modal-auth/eventsProcessor';\nimport './js/pop-up-book';\nimport './js/scroll-up';\nimport './js/footer';\nimport './js/get-current-for-home-page';","import { useBooksApi } from '../services/booksApi';\nimport { insertModalBook, onModalOpen } from './pop-up-book';\nimport { addClassForBookList } from './condition-for-categories-render';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesEl = document.querySelector('.section-categories');\nconst sectionBooksEl = document.querySelector('.section-books');\nconst sectionBooksTitleEl = document.querySelector('.section-books-title');\nconst booksListEl = document.querySelector('.section-books-list');\n\nfunction makeMarkupForBooks(books, e) {\n let oneBook = addClassForBookList(e);\n const markup = books\n .map(\n ({ book_image, title, author, _id }) => `
          • \n \n
            \n Book cover\n
            \n

            quick view

            \n
            \n
            \n

            ${title}

            \n

            ${author}

            \n
            \n
          • `\n )\n .join('\\n');\n return markup;\n}\n\nfunction makeMarkupForTitle(title) {\n const arrFromTitle = title.split(' ');\n if (arrFromTitle.length < 2) {\n return `${title}`;\n }\n const lastWord = arrFromTitle.pop();\n return `${arrFromTitle.join(' ')} ${lastWord}`;\n}\n\nasync function renderBooksByCategory(category) {\n try {\n const res = await booksApi.getBooksByCategory(category);\n booksListEl.innerHTML = makeMarkupForBooks(res, true);\n sectionBooksTitleEl.innerHTML = makeMarkupForTitle(category);\n hideElement(sectionCategoriesEl);\n showElement(sectionBooksEl);\n booksListEl.addEventListener('click', onBookSelect);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onBookSelect(evt) {\n const bookItem = evt.target.closest('.book-item');\n if (!bookItem) {\n return;\n }\n const bookId = bookItem.getAttribute('data-value');\n booksApi\n .getBookById(bookId)\n .then(insertModalBook)\n .catch(error => console.log(error));\n onModalOpen();\n}\n\nfunction hideElement(elem) {\n elem.classList.add('hidden');\n}\n\nfunction showElement(elem) {\n elem.classList.remove('hidden');\n}\n\nexport { makeMarkupForBooks, renderBooksByCategory, onBookSelect };\n","function addClassForBookList(e) {\n let oneBook = null;\n if (!e) {\n oneBook = 'element-books-list';\n } else {\n oneBook = 'element-books-list-all';\n }\n return oneBook;\n}\n\nexport { addClassForBookList };\n","import { useBooksApi } from '../services/booksApi';\nimport {\n makeMarkupForBooks,\n renderBooksByCategory,\n onBookSelect,\n} from './render-books-by-category';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesListEl = document.querySelector(\n '.section-categories-list'\n);\n\nfunction makeMarkupForCategories(categories) {\n const categoriesMarkup = categories\n .map(\n list_name => `
          • \n

            ${list_name}

            \n
              \n \n
            • `\n )\n .join('\\n');\n return categoriesMarkup;\n}\n\nasync function parceCategoriesBlocks() {\n try {\n const categories = await booksApi.getCategoryList();\n const uniqueCategories = [\n ...new Set(categories.map(({ list_name }) => list_name)),\n ].sort();\n sectionCategoriesListEl.innerHTML =\n makeMarkupForCategories(uniqueCategories);\n const blocksForRenderingBooks =\n sectionCategoriesListEl.querySelectorAll('.books-list');\n const topBooks = await booksApi.getTopBooks();\n blocksForRenderingBooks.forEach(block => {\n const categoryName = block.dataset.category;\n const topBooksOfCategory = topBooks.find(\n elem => elem.list_name === categoryName\n ).books;\n block.innerHTML = makeMarkupForBooks(topBooksOfCategory);\n });\n sectionCategoriesListEl.addEventListener('click', onBookSelect);\n sectionCategoriesListEl.addEventListener('click', onButtonClick);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onButtonClick(evt) {\n evt.preventDefault();\n\n if (evt.target.nodeName === 'BUTTON') {\n const category = evt.target\n .closest('.category-block')\n .getAttribute('data-category');\n renderBooksByCategory(category);\n\n return;\n } else {\n return;\n }\n}\n\nparceCategoriesBlocks();\n\nexport { parceCategoriesBlocks };\n","import { useBooksApi } from '../services/booksApi';\nimport { renderBooksByCategory } from './render-books-by-category';\n\nconst booksApi = useBooksApi();\n\nconst handleOnPress = e => {\n booksApi\n .getCategoryList()\n .then(res => {\n parseCategoryList(res);\n })\n .catch(err => {\n console.log(err);\n })\n .finally(() => {});\n};\nconst categoryListEl = document.querySelector('.category-list');\nconst categoryLinksElements = document.querySelectorAll('.category-link');\nconst oneCategory = document.querySelector('.category-item');\n\nconst parseCategoryList = list => {\n const uniqueCategories = [\n ...new Set(list.map(({ list_name }) => list_name)),\n ].sort();\n const categoryList = uniqueCategories\n .map(category => {\n if (category !== null && category !== undefined) {\n return `\n
            • \n ${category}\n
            • `;\n }\n })\n .join('');\n categoryListEl.insertAdjacentHTML('beforeend', categoryList);\n getCategoryElements();\n};\n\nfunction getCategoryElements() {\n categoryLinksElements.forEach(link => {\n link.addEventListener('click', evt => {\n evt.preventDefault();\n categoryLinksElements.forEach(el => el.classList.remove('active'));\n link.classList.add('active');\n });\n });\n}\n\nhandleOnPress();\n\ncategoryListEl.addEventListener('click', getBookFromCategory);\n\nfunction getBookFromCategory(e) {\n e.preventDefault();\n const targetCategory = e.target.closest('.category-link');\n if (!targetCategory) {\n return;\n }\n const linkAllRef = document.querySelector('.link-all');\n const text = targetCategory.textContent.trim();\n if (text === 'All categories') {\n const sectionCategoriesRef = document.querySelector('.section-categories');\n const sectionBooksRef = document.querySelector('.section-books');\n sectionBooksRef.classList.add('hidden');\n sectionCategoriesRef.classList.remove('hidden');\n clearStyleCategories();\n linkAllRef.classList.add('active');\n } else {\n linkAllRef.classList.remove('active');\n clearStyleCategories();\n let activeCategory = e.target;\n activeCategory.classList.add('active');\n\n renderBooksByCategory(text);\n }\n}\n\nfunction clearStyleCategories() {\n const allCategories = document.querySelectorAll('.category-link');\n allCategories.forEach(function (element) {\n if (element.classList.contains('active')) {\n element.classList.remove('active');\n } else {\n return;\n }\n });\n}\n","const currentHomePage = document.querySelector('.header-link-home');\n\ncurrentHomePage.classList.add('current');"],"names":["$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$d5eID","$fMzCF","$7a19ac8647e594da$var$booksApi","useBooksApi","$7a19ac8647e594da$var$sectionCategoriesEl","document","querySelector","$7a19ac8647e594da$var$sectionBooksEl","$7a19ac8647e594da$var$sectionBooksTitleEl","$7a19ac8647e594da$var$booksListEl","$7a19ac8647e594da$export$c2ff2758ce23ccbb","books","e","oneBook","markup","map","book_image","title","author","_id","join","$7a19ac8647e594da$export$e3a458789c8a5044","category","res","getBooksByCategory","innerHTML","$7a19ac8647e594da$var$makeMarkupForTitle","arrFromTitle","split","length","lastWord","pop","$7a19ac8647e594da$var$hideElement","elem","classList","add","$7a19ac8647e594da$var$showElement","remove","addEventListener","$7a19ac8647e594da$export$2e63ecab0dc5da99","console","log","evt","bookItem","target","closest","bookId","getAttribute","getBookById","then","insertModalBook","catch","error","onModalOpen","$874e917b2764b2ca$var$booksApi","$874e917b2764b2ca$var$sectionCategoriesListEl","$874e917b2764b2ca$var$onButtonClick","preventDefault","nodeName","$874e917b2764b2ca$export$575704ffafa2b714","categories","getCategoryList","uniqueCategories","Set","list_name","sort","$874e917b2764b2ca$var$makeMarkupForCategories","categoriesMarkup","blocksForRenderingBooks","querySelectorAll","topBooks","getTopBooks","forEach","block","categoryName","dataset","topBooksOfCategory","find","$613bb2bcc396c396$var$booksApi","$613bb2bcc396c396$var$categoryListEl","$613bb2bcc396c396$var$categoryLinksElements","$613bb2bcc396c396$var$parseCategoryList","list","categoryList","insertAdjacentHTML","link","el","$613bb2bcc396c396$var$clearStyleCategories","allCategories","element","contains","finally","targetCategory","linkAllRef","text","textContent","trim","sectionCategoriesRef","sectionBooksRef","activeCategory","$e37ee52f6432a5a2$var$currentHomePage"],"version":3,"file":"index.acaa7675.js.map"} \ No newline at end of file diff --git a/index.b6f41280.js b/index.b6f41280.js new file mode 100644 index 0000000..f5e9e8b --- /dev/null +++ b/index.b6f41280.js @@ -0,0 +1,2 @@ +!function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},t={},n={},o=e.parcelRequired7c6;null==o&&((o=function(e){if(e in t)return t[e].exports;if(e in n){var o=n[e];delete n[e];var r={id:e,exports:{}};return t[e]=r,o.call(r.exports,r,r.exports),r.exports}var c=Error("Cannot find module '"+e+"'");throw c.code="MODULE_NOT_FOUND",c}).register=function(e,t){n[e]=t},e.parcelRequired7c6=o),o("gGcLX"),o("bNmPK");var r=o("i7mVp"),c=o("4tSb9"),a=o("eJu0s"),i=o("9v0r1"),s=(0,a.useBooksApi)(),l=document.querySelector(".section-categories"),u=document.querySelector(".section-books"),d=document.querySelector(".section-books-title"),f=document.querySelector(".section-books-list");function g(e,t){var n=t?"element-books-list-all":"element-books-list";return e.map(function(e){var t=e.book_image,o=e.title,r=e.author,c=e._id;return'
            • \n \n
              \n Book cover\n
              \n

              quick view

              \n
              \n
              \n

              ").concat(o,"

              \n

              ").concat(r,"

              \n
              \n
            • ")}).join("\n")}function p(e){return v.apply(this,arguments)}function v(){return(v=(0,r._)(function(e){var t;return(0,c.__generator)(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,s.getBooksByCategory(e)];case 1:return t=n.sent(),f.innerHTML=g(t,!0),d.innerHTML=function(e){var t=e.split(" ");if(t.length<2)return"".concat(e);var n=t.pop();return"".concat(t.join(" "),' ').concat(n,"")}(e),function(e){e.classList.add("hidden")}(l),function(e){e.classList.remove("hidden")}(u),f.addEventListener("click",y),[3,3];case 2:return console.log(n.sent()),[3,3];case 3:return[2]}})})).apply(this,arguments)}function y(e){var t=e.target.closest(".book-item");if(t){var n=t.getAttribute("data-value");s.getBookById(n).then(i.insertModalBook).catch(function(e){return console.log(e)}),(0,i.onModalOpen)()}}var r=o("i7mVp"),m=o("aYXpI"),c=o("4tSb9"),a=o("eJu0s"),m=o("aYXpI"),a=o("eJu0s"),k=(0,a.useBooksApi)(),h=document.querySelector(".category-list"),b=function(e){var t=(0,m._)(new Set(e.map(function(e){return e.list_name}))).sort().map(function(e){if(null!=e)return'\n
            • \n '.concat(e,"\n
            • ")}).join("");h.insertAdjacentHTML("beforeend",t),h.querySelector(".link-all").classList.add("active")};function L(){document.querySelectorAll(".category-link").forEach(function(e){e.classList.contains("active")&&e.classList.remove("active")})}k.getCategoryList().then(function(e){b(e)}).catch(function(e){console.log(e)}).finally(function(){}),h.addEventListener("click",function(e){e.preventDefault();var t=e.target.closest(".category-link");if(t){var n=document.querySelector(".link-all"),o=t.textContent.trim();if(L(),"All categories"===o){var r=document.querySelector(".section-categories");document.querySelector(".section-books").classList.add("hidden"),r.classList.remove("hidden"),n.classList.add("active")}else e.target.classList.add("active"),p(o)}});var S=(0,a.useBooksApi)(),q=document.querySelector(".section-categories-list");function _(){return(_=(0,r._)(function(){var e,t,n,o;return(0,c.__generator)(this,function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,S.getCategoryList()];case 1:return e=r.sent(),t=(0,m._)(new Set(e.map(function(e){return e.list_name}))).sort(),q.innerHTML=t.map(function(e){return"
            • \n

              ").concat(e,"

              \n
                \n \n
              • ")}).join("\n"),n=q.querySelectorAll(".books-list"),[4,S.getTopBooks()];case 2:return o=r.sent(),n.forEach(function(e){var t=e.dataset.category,n=o.find(function(e){return e.list_name===t}).books;e.innerHTML=g(n)}),q.addEventListener("click",y),q.addEventListener("click",A),[3,4];case 3:return console.log(r.sent()),[3,4];case 4:return[2]}})})).apply(this,arguments)}function A(e){if(e.preventDefault(),"BUTTON"===e.target.nodeName){var t=e.target.closest(".category-block").getAttribute("data-category");p(t),L(),Array.from(document.querySelectorAll(".category-link.link")).find(function(e){return e.textContent===t}).classList.add("active");return}}!function(){_.apply(this,arguments)}(),o("jjftE"),o("xpKCW"),o("aISXF"),o("9v0r1"),o("23Ajj"),o("7hKzD"),document.querySelector(".header-link-home").classList.add("current")}(); +//# sourceMappingURL=index.b6f41280.js.map diff --git a/index.b6f41280.js.map b/index.b6f41280.js.map new file mode 100644 index 0000000..83213dc --- /dev/null +++ b/index.b6f41280.js.map @@ -0,0 +1 @@ +{"mappings":"C,A,W,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,S,E,S,I,E,E,S,E,E,S,E,E,S,E,E,SEIM,EAAW,AAAA,CAAA,EAAA,EAAA,WAAU,AAAV,IAEX,EAAsB,SAAS,aAAA,CAAc,uBAC7C,EAAiB,SAAS,aAAA,CAAc,kBACxC,EAAsB,SAAS,aAAA,CAAc,wBAC7C,EAAc,SAAS,aAAA,CAAc,uBAE3C,SAAS,EAAmB,CAAK,CAAE,CAAC,EAClC,IAAI,EAA8B,ECPtB,yBAFA,qBD0BZ,OAhBe,EACZ,GAAA,CACC,SAFJ,CAAA,EAEO,IAAA,EAAA,EAAA,UAAA,CAAY,EAAA,EAAA,KAAA,CAAO,EAAA,EAAA,MAAA,CAAQ,EAAA,EAAA,GAA3B,CAAqC,MAAC,cACR,MAAA,CADqB,EAAQ,+CAGhD,MAAA,CAFmB,EAAI,sDAOZ,MAAA,CALX,EAAW,wLAMA,MAAA,CADA,EAAM,wCACC,MAAA,CAAP,EAAO,0BAIjC,GAAA,IAAA,CAAK,KAEV,CAWe,SAAA,EAAsB,CAAQ,EAA9B,OAAA,EAAA,KAAA,CAAA,IAAA,CAAA,U,CAAA,SAAA,IAAA,MAAA,AAAA,CAAA,EAAf,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,SAAqC,CAAQ,EAEnC,IAAA,E,M,A,C,E,E,W,A,E,I,C,S,C,E,O,E,K,E,K,EAAM,O,E,I,C,I,C,C,E,G,E,EAAA,C,EAAM,EAAS,kBAAA,CAAmB,G,A,M,E,OAAxC,EAAM,EAAN,IAAA,GACN,EAAY,SAAA,CAAY,EAAmB,EAAK,CAAA,GAChD,EAAoB,SAAA,CAAY,AAbpC,SAA4B,CAAK,EAC/B,IAAM,EAAe,EAAM,KAAA,CAAM,KACjC,GAAI,EAAa,MAAA,CAAS,EACxB,MAAQ,GAAQ,MA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","sources":["","src/index.js","src/js/render-books-by-category.js","src/js/condition-for-categories-render.js","src/js/top-books.js","src/js/fetch-categories.js","src/js/get-current-for-home-page.js"],"sourcesContent":["(function () {\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequired7c6\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequired7c6\"] = parcelRequire;\n}\n// import switcher from './switcher';\nparcelRequire(\"gGcLX\");\nparcelRequire(\"bNmPK\");\n\nvar $i7mVp = parcelRequire(\"i7mVp\");\n\nvar $4tSb9 = parcelRequire(\"4tSb9\");\n\nvar $eJu0s = parcelRequire(\"eJu0s\");\n\nvar $9v0r1 = parcelRequire(\"9v0r1\");\nfunction $a9593882249300d7$export$c522a0db91e5ddc6(e) {\n var oneBook = null;\n if (!e) oneBook = \"element-books-list\";\n else oneBook = \"element-books-list-all\";\n return oneBook;\n}\n\n\nvar $8c77ecf650b6eefd$var$booksApi = (0, $eJu0s.useBooksApi)();\nvar $8c77ecf650b6eefd$var$sectionCategoriesEl = document.querySelector(\".section-categories\");\nvar $8c77ecf650b6eefd$var$sectionBooksEl = document.querySelector(\".section-books\");\nvar $8c77ecf650b6eefd$var$sectionBooksTitleEl = document.querySelector(\".section-books-title\");\nvar $8c77ecf650b6eefd$var$booksListEl = document.querySelector(\".section-books-list\");\nfunction $8c77ecf650b6eefd$export$c2ff2758ce23ccbb(books, e) {\n var oneBook = (0, $a9593882249300d7$export$c522a0db91e5ddc6)(e);\n var markup = books.map(function(param) {\n var book_image = param.book_image, title = param.title, author = param.author, _id = param._id;\n return '
              • \\n \\n
                \\n Book cover\\n
                \\n

                quick view

                \\n
                \\n
                \\n

                \").concat(title, \"

                \\n

                \").concat(author, \"

                \\n
                \\n
              • \");\n }).join(\"\\n\");\n return markup;\n}\nfunction $8c77ecf650b6eefd$var$makeMarkupForTitle(title) {\n var arrFromTitle = title.split(\" \");\n if (arrFromTitle.length < 2) return \"\".concat(title);\n var lastWord = arrFromTitle.pop();\n return \"\".concat(arrFromTitle.join(\" \"), ' ').concat(lastWord, \"\");\n}\nfunction $8c77ecf650b6eefd$export$e3a458789c8a5044(category) {\n return $8c77ecf650b6eefd$var$_renderBooksByCategory.apply(this, arguments);\n}\nfunction $8c77ecf650b6eefd$var$_renderBooksByCategory() {\n $8c77ecf650b6eefd$var$_renderBooksByCategory = (0, $i7mVp._)(function(category) {\n var res, err;\n return (0, $4tSb9.__generator)(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 2,\n ,\n 3\n ]);\n return [\n 4,\n $8c77ecf650b6eefd$var$booksApi.getBooksByCategory(category)\n ];\n case 1:\n res = _state.sent();\n $8c77ecf650b6eefd$var$booksListEl.innerHTML = $8c77ecf650b6eefd$export$c2ff2758ce23ccbb(res, true);\n $8c77ecf650b6eefd$var$sectionBooksTitleEl.innerHTML = $8c77ecf650b6eefd$var$makeMarkupForTitle(category);\n $8c77ecf650b6eefd$var$hideElement($8c77ecf650b6eefd$var$sectionCategoriesEl);\n $8c77ecf650b6eefd$var$showElement($8c77ecf650b6eefd$var$sectionBooksEl);\n $8c77ecf650b6eefd$var$booksListEl.addEventListener(\"click\", $8c77ecf650b6eefd$export$2e63ecab0dc5da99);\n return [\n 3,\n 3\n ];\n case 2:\n err = _state.sent();\n console.log(err);\n return [\n 3,\n 3\n ];\n case 3:\n return [\n 2\n ];\n }\n });\n });\n return $8c77ecf650b6eefd$var$_renderBooksByCategory.apply(this, arguments);\n}\nfunction $8c77ecf650b6eefd$export$2e63ecab0dc5da99(evt) {\n var bookItem = evt.target.closest(\".book-item\");\n if (!bookItem) return;\n var bookId = bookItem.getAttribute(\"data-value\");\n $8c77ecf650b6eefd$var$booksApi.getBookById(bookId).then((0, $9v0r1.insertModalBook)).catch(function(error) {\n return console.log(error);\n });\n (0, $9v0r1.onModalOpen)();\n}\nfunction $8c77ecf650b6eefd$var$hideElement(elem) {\n elem.classList.add(\"hidden\");\n}\nfunction $8c77ecf650b6eefd$var$showElement(elem) {\n elem.classList.remove(\"hidden\");\n}\n\n\n\nvar $i7mVp = parcelRequire(\"i7mVp\");\n\nvar $aYXpI = parcelRequire(\"aYXpI\");\n\nvar $4tSb9 = parcelRequire(\"4tSb9\");\n\nvar $eJu0s = parcelRequire(\"eJu0s\");\n\n\nvar $aYXpI = parcelRequire(\"aYXpI\");\n\nvar $eJu0s = parcelRequire(\"eJu0s\");\n\nvar $96183871d4a7368c$var$booksApi = (0, $eJu0s.useBooksApi)();\nvar $96183871d4a7368c$var$handleOnPress = function(e) {\n $96183871d4a7368c$var$booksApi.getCategoryList().then(function(res) {\n $96183871d4a7368c$var$parseCategoryList(res);\n }).catch(function(err) {\n console.log(err);\n }).finally(function() {});\n};\nvar $96183871d4a7368c$var$categoryListEl = document.querySelector(\".category-list\");\nvar $96183871d4a7368c$var$parseCategoryList = function(list) {\n var uniqueCategories = (0, $aYXpI._)(new Set(list.map(function(param) {\n var list_name = param.list_name;\n return list_name;\n }))).sort();\n var categoryList = uniqueCategories.map(function(category) {\n if (category !== null && category !== undefined) return '\\n
              • \\n '.concat(category, \"\\n
              • \");\n }).join(\"\");\n $96183871d4a7368c$var$categoryListEl.insertAdjacentHTML(\"beforeend\", categoryList);\n var activeCategory = $96183871d4a7368c$var$categoryListEl.querySelector(\".link-all\");\n activeCategory.classList.add(\"active\");\n};\n$96183871d4a7368c$var$handleOnPress();\n$96183871d4a7368c$var$categoryListEl.addEventListener(\"click\", $96183871d4a7368c$var$getBookFromCategory);\nfunction $96183871d4a7368c$var$getBookFromCategory(e) {\n e.preventDefault();\n var targetCategory = e.target.closest(\".category-link\");\n if (!targetCategory) return;\n var linkAllRef = document.querySelector(\".link-all\");\n var text = targetCategory.textContent.trim();\n $96183871d4a7368c$export$281d5932efad96db();\n if (text === \"All categories\") {\n var sectionCategoriesRef = document.querySelector(\".section-categories\");\n var sectionBooksRef = document.querySelector(\".section-books\");\n sectionBooksRef.classList.add(\"hidden\");\n sectionCategoriesRef.classList.remove(\"hidden\");\n linkAllRef.classList.add(\"active\");\n } else {\n var activeCategory = e.target;\n activeCategory.classList.add(\"active\");\n (0, $8c77ecf650b6eefd$export$e3a458789c8a5044)(text);\n }\n}\nfunction $96183871d4a7368c$export$281d5932efad96db() {\n var allCategories = document.querySelectorAll(\".category-link\");\n allCategories.forEach(function(element) {\n if (element.classList.contains(\"active\")) element.classList.remove(\"active\");\n });\n}\n\n\nvar $6e85cf682c3d13e1$var$booksApi = (0, $eJu0s.useBooksApi)();\nvar $6e85cf682c3d13e1$var$sectionCategoriesListEl = document.querySelector(\".section-categories-list\");\nfunction $6e85cf682c3d13e1$var$makeMarkupForCategories(categories) {\n var categoriesMarkup = categories.map(function(list_name) {\n return \"
              • \\n

                \").concat(list_name, \"

                \\n
                  \\n \\n
                • \");\n }).join(\"\\n\");\n return categoriesMarkup;\n}\nfunction $6e85cf682c3d13e1$export$575704ffafa2b714() {\n return $6e85cf682c3d13e1$var$_parceCategoriesBlocks.apply(this, arguments);\n}\nfunction $6e85cf682c3d13e1$var$_parceCategoriesBlocks() {\n $6e85cf682c3d13e1$var$_parceCategoriesBlocks = (0, $i7mVp._)(function() {\n var categories, uniqueCategories, blocksForRenderingBooks, topBooks, err;\n return (0, $4tSb9.__generator)(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 3,\n ,\n 4\n ]);\n return [\n 4,\n $6e85cf682c3d13e1$var$booksApi.getCategoryList()\n ];\n case 1:\n categories = _state.sent();\n uniqueCategories = (0, $aYXpI._)(new Set(categories.map(function(param) {\n var list_name = param.list_name;\n return list_name;\n }))).sort();\n $6e85cf682c3d13e1$var$sectionCategoriesListEl.innerHTML = $6e85cf682c3d13e1$var$makeMarkupForCategories(uniqueCategories);\n blocksForRenderingBooks = $6e85cf682c3d13e1$var$sectionCategoriesListEl.querySelectorAll(\".books-list\");\n return [\n 4,\n $6e85cf682c3d13e1$var$booksApi.getTopBooks()\n ];\n case 2:\n topBooks = _state.sent();\n blocksForRenderingBooks.forEach(function(block) {\n var categoryName = block.dataset.category;\n var topBooksOfCategory = topBooks.find(function(elem) {\n return elem.list_name === categoryName;\n }).books;\n block.innerHTML = (0, $8c77ecf650b6eefd$export$c2ff2758ce23ccbb)(topBooksOfCategory);\n });\n $6e85cf682c3d13e1$var$sectionCategoriesListEl.addEventListener(\"click\", (0, $8c77ecf650b6eefd$export$2e63ecab0dc5da99));\n $6e85cf682c3d13e1$var$sectionCategoriesListEl.addEventListener(\"click\", $6e85cf682c3d13e1$var$onButtonClick);\n return [\n 3,\n 4\n ];\n case 3:\n err = _state.sent();\n console.log(err);\n return [\n 3,\n 4\n ];\n case 4:\n return [\n 2\n ];\n }\n });\n });\n return $6e85cf682c3d13e1$var$_parceCategoriesBlocks.apply(this, arguments);\n}\nfunction $6e85cf682c3d13e1$var$onButtonClick(evt) {\n evt.preventDefault();\n if (evt.target.nodeName === \"BUTTON\") {\n var category = evt.target.closest(\".category-block\").getAttribute(\"data-category\");\n (0, $8c77ecf650b6eefd$export$e3a458789c8a5044)(category);\n (0, $96183871d4a7368c$export$281d5932efad96db)();\n var allCategories = Array.from(document.querySelectorAll(\".category-link.link\"));\n var activeCategoryEl = allCategories.find(function(elem) {\n return elem.textContent === category;\n });\n activeCategoryEl.classList.add(\"active\");\n return;\n }\n}\n$6e85cf682c3d13e1$export$575704ffafa2b714();\n\n\n\n\nparcelRequire(\"jjftE\");\nparcelRequire(\"xpKCW\");\nparcelRequire(\"aISXF\");\nparcelRequire(\"9v0r1\");\nparcelRequire(\"23Ajj\");\nparcelRequire(\"7hKzD\");\nvar $657d21ef6898a11f$var$currentHomePage = document.querySelector(\".header-link-home\");\n$657d21ef6898a11f$var$currentHomePage.classList.add(\"current\");\n\n\n\n})();\n//# sourceMappingURL=index.b6f41280.js.map\n","// import switcher from './switcher';\nimport './js/themes';\nimport './js/menu';\nimport './js/render-books-by-category';\nimport './js/top-books';\nimport './js/condition-for-categories-render';\nimport './js/fetch-categories';\nimport './js/fireBaseFnunctions.js';\nimport './js/support';\nimport './js/auth/modal-auth/eventsProcessor';\nimport './js/pop-up-book';\nimport './js/scroll-up';\nimport './js/footer';\nimport './js/get-current-for-home-page';","import { useBooksApi } from '../services/booksApi';\nimport { insertModalBook, onModalOpen } from './pop-up-book';\nimport { addClassForBookList } from './condition-for-categories-render';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesEl = document.querySelector('.section-categories');\nconst sectionBooksEl = document.querySelector('.section-books');\nconst sectionBooksTitleEl = document.querySelector('.section-books-title');\nconst booksListEl = document.querySelector('.section-books-list');\n\nfunction makeMarkupForBooks(books, e) {\n let oneBook = addClassForBookList(e);\n const markup = books\n .map(\n ({ book_image, title, author, _id }) => `
                • \n \n
                  \n Book cover\n
                  \n

                  quick view

                  \n
                  \n
                  \n

                  ${title}

                  \n

                  ${author}

                  \n
                  \n
                • `\n )\n .join('\\n');\n return markup;\n}\n\nfunction makeMarkupForTitle(title) {\n const arrFromTitle = title.split(' ');\n if (arrFromTitle.length < 2) {\n return `${title}`;\n }\n const lastWord = arrFromTitle.pop();\n return `${arrFromTitle.join(' ')} ${lastWord}`;\n}\n\nasync function renderBooksByCategory(category) {\n try {\n const res = await booksApi.getBooksByCategory(category);\n booksListEl.innerHTML = makeMarkupForBooks(res, true);\n sectionBooksTitleEl.innerHTML = makeMarkupForTitle(category);\n hideElement(sectionCategoriesEl);\n showElement(sectionBooksEl);\n booksListEl.addEventListener('click', onBookSelect);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onBookSelect(evt) {\n const bookItem = evt.target.closest('.book-item');\n if (!bookItem) {\n return;\n }\n const bookId = bookItem.getAttribute('data-value');\n booksApi\n .getBookById(bookId)\n .then(insertModalBook)\n .catch(error => console.log(error));\n onModalOpen();\n}\n\nfunction hideElement(elem) {\n elem.classList.add('hidden');\n}\n\nfunction showElement(elem) {\n elem.classList.remove('hidden');\n}\n\nexport { makeMarkupForBooks, renderBooksByCategory, onBookSelect };\n","function addClassForBookList(e) {\n let oneBook = null;\n if (!e) {\n oneBook = 'element-books-list';\n } else {\n oneBook = 'element-books-list-all';\n }\n return oneBook;\n}\n\nexport { addClassForBookList };\n","import { useBooksApi } from '../services/booksApi';\nimport {\n makeMarkupForBooks,\n renderBooksByCategory,\n onBookSelect,\n} from './render-books-by-category';\nimport { clearStyleCategories } from './fetch-categories';\n\nconst booksApi = useBooksApi();\n\nconst sectionCategoriesListEl = document.querySelector(\n '.section-categories-list'\n);\n\nfunction makeMarkupForCategories(categories) {\n const categoriesMarkup = categories\n .map(\n list_name => `
                • \n

                  ${list_name}

                  \n
                    \n \n
                  • `\n )\n .join('\\n');\n return categoriesMarkup;\n}\n\nasync function parceCategoriesBlocks() {\n try {\n const categories = await booksApi.getCategoryList();\n const uniqueCategories = [\n ...new Set(categories.map(({ list_name }) => list_name)),\n ].sort();\n sectionCategoriesListEl.innerHTML =\n makeMarkupForCategories(uniqueCategories);\n const blocksForRenderingBooks =\n sectionCategoriesListEl.querySelectorAll('.books-list');\n const topBooks = await booksApi.getTopBooks();\n blocksForRenderingBooks.forEach(block => {\n const categoryName = block.dataset.category;\n const topBooksOfCategory = topBooks.find(\n elem => elem.list_name === categoryName\n ).books;\n block.innerHTML = makeMarkupForBooks(topBooksOfCategory);\n });\n sectionCategoriesListEl.addEventListener('click', onBookSelect);\n sectionCategoriesListEl.addEventListener('click', onButtonClick);\n } catch (err) {\n console.log(err);\n }\n}\n\nfunction onButtonClick(evt) {\n evt.preventDefault();\n\n if (evt.target.nodeName === 'BUTTON') {\n const category = evt.target\n .closest('.category-block')\n .getAttribute('data-category');\n renderBooksByCategory(category);\n clearStyleCategories();\n const allCategories = Array.from(\n document.querySelectorAll('.category-link.link')\n );\n const activeCategoryEl = allCategories.find(\n elem => elem.textContent === category\n );\n activeCategoryEl.classList.add('active');\n return;\n }\n}\n\nparceCategoriesBlocks();\n\nexport { parceCategoriesBlocks };\n","import { useBooksApi } from '../services/booksApi';\nimport { renderBooksByCategory } from './render-books-by-category';\n\nconst booksApi = useBooksApi();\n\nconst handleOnPress = e => {\n booksApi\n .getCategoryList()\n .then(res => {\n parseCategoryList(res);\n })\n .catch(err => {\n console.log(err);\n })\n .finally(() => {});\n};\nconst categoryListEl = document.querySelector('.category-list');\n\nconst parseCategoryList = list => {\n const uniqueCategories = [\n ...new Set(list.map(({ list_name }) => list_name)),\n ].sort();\n const categoryList = uniqueCategories\n .map(category => {\n if (category !== null && category !== undefined) {\n return `\n
                  • \n ${category}\n
                  • `;\n }\n })\n .join('');\n categoryListEl.insertAdjacentHTML('beforeend', categoryList);\n let activeCategory = categoryListEl.querySelector('.link-all');\n activeCategory.classList.add('active');\n};\n\nhandleOnPress();\n\ncategoryListEl.addEventListener('click', getBookFromCategory);\n\nfunction getBookFromCategory(e) {\n e.preventDefault();\n const targetCategory = e.target.closest('.category-link');\n if (!targetCategory) {\n return;\n }\n const linkAllRef = document.querySelector('.link-all');\n const text = targetCategory.textContent.trim();\n clearStyleCategories();\n if (text === 'All categories') {\n const sectionCategoriesRef = document.querySelector('.section-categories');\n const sectionBooksRef = document.querySelector('.section-books');\n sectionBooksRef.classList.add('hidden');\n sectionCategoriesRef.classList.remove('hidden');\n linkAllRef.classList.add('active');\n } else {\n let activeCategory = e.target;\n activeCategory.classList.add('active');\n renderBooksByCategory(text);\n }\n}\n\nfunction clearStyleCategories() {\n const allCategories = document.querySelectorAll('.category-link');\n allCategories.forEach(function (element) {\n if (element.classList.contains('active')) {\n element.classList.remove('active');\n }\n });\n}\n\nexport { clearStyleCategories };\n","const currentHomePage = document.querySelector('.header-link-home');\n\ncurrentHomePage.classList.add('current');"],"names":["$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$i7mVp","$4tSb9","$eJu0s","$9v0r1","$8c77ecf650b6eefd$var$booksApi","useBooksApi","$8c77ecf650b6eefd$var$sectionCategoriesEl","document","querySelector","$8c77ecf650b6eefd$var$sectionBooksEl","$8c77ecf650b6eefd$var$sectionBooksTitleEl","$8c77ecf650b6eefd$var$booksListEl","$8c77ecf650b6eefd$export$c2ff2758ce23ccbb","books","e","oneBook","map","param","book_image","title","author","_id","concat","join","$8c77ecf650b6eefd$export$e3a458789c8a5044","category","$8c77ecf650b6eefd$var$_renderBooksByCategory","apply","arguments","_","res","__generator","_state","label","trys","push","getBooksByCategory","sent","innerHTML","$8c77ecf650b6eefd$var$makeMarkupForTitle","arrFromTitle","split","length","lastWord","pop","$8c77ecf650b6eefd$var$hideElement","elem","classList","add","$8c77ecf650b6eefd$var$showElement","remove","addEventListener","$8c77ecf650b6eefd$export$2e63ecab0dc5da99","console","log","evt","bookItem","target","closest","bookId","getAttribute","getBookById","then","insertModalBook","catch","error","onModalOpen","$aYXpI","$96183871d4a7368c$var$booksApi","$96183871d4a7368c$var$categoryListEl","$96183871d4a7368c$var$parseCategoryList","list","categoryList","uniqueCategories","Set","list_name","sort","insertAdjacentHTML","activeCategory","$96183871d4a7368c$export$281d5932efad96db","allCategories","querySelectorAll","forEach","element","contains","getCategoryList","finally","preventDefault","targetCategory","linkAllRef","text","textContent","trim","sectionCategoriesRef","sectionBooksRef","$6e85cf682c3d13e1$var$booksApi","$6e85cf682c3d13e1$var$sectionCategoriesListEl","$6e85cf682c3d13e1$var$_parceCategoriesBlocks","categories","blocksForRenderingBooks","topBooks","getTopBooks","block","categoryName","dataset","topBooksOfCategory","find","$6e85cf682c3d13e1$var$onButtonClick","nodeName","activeCategoryEl","Array","from","$6e85cf682c3d13e1$export$575704ffafa2b714","$657d21ef6898a11f$var$currentHomePage"],"version":3,"file":"index.b6f41280.js.map"} \ No newline at end of file diff --git a/index.html b/index.html index 38b6255..ff5ca29 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Bookshelf

                    Best Sellers Books

                      \ No newline at end of file +Bookshelf

                      Best Sellers Books

                        \ No newline at end of file