From a4355b20e11784c42dc05aa4492900f244bdb91d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CJhoancanchila=E2=80=9D?= Date: Fri, 17 Jul 2020 21:22:24 -0500 Subject: [PATCH 1/5] [ADD]saving url next in localstorage --- src/index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 7a07752..ab598de 100644 --- a/src/index.js +++ b/src/index.js @@ -7,6 +7,9 @@ const getData = api => { .then(response => response.json()) .then(response => { const characters = response.results; + const nextURL = response.info.next; + // save next url + saveUrlLocalStorage(nextURL); let output = characters.map(character => { return `
@@ -35,4 +38,9 @@ const intersectionObserver = new IntersectionObserver(entries => { rootMargin: '0px 0px 100% 0px', }); -intersectionObserver.observe($observe); \ No newline at end of file +intersectionObserver.observe($observe); + +const saveUrlLocalStorage=(url)=>{ + localStorage.setItem("next_fetch",url) +} + From f1d3911ddf22f082f09e99a50c349a204a713ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CJhoancanchila=E2=80=9D?= Date: Fri, 17 Jul 2020 22:33:17 -0500 Subject: [PATCH 2/5] [ADD]validating localstorage information --- src/index.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index ab598de..55234a8 100644 --- a/src/index.js +++ b/src/index.js @@ -8,6 +8,7 @@ const getData = api => { .then(response => { const characters = response.results; const nextURL = response.info.next; + const prevURL = response.info.prev; // save next url saveUrlLocalStorage(nextURL); let output = characters.map(character => { @@ -26,8 +27,8 @@ const getData = api => { .catch(error => console.log(error)); } -const loadData = () => { - getData(API); +const loadData =async () => { + await getData(API); } const intersectionObserver = new IntersectionObserver(entries => { @@ -44,3 +45,12 @@ const saveUrlLocalStorage=(url)=>{ localStorage.setItem("next_fetch",url) } +function getDataLocalStorage(){ + + let urlSave = localStorage.getItem('next_fetch'); + if (urlSave){ + return localStorage.getItem('next_fetch'); + }else{ + return API; + } +} From d5a7d15d6a31632476304d80a369b9fdcd85f57d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CJhoancanchila=E2=80=9D?= Date: Fri, 17 Jul 2020 23:14:09 -0500 Subject: [PATCH 3/5] [ADD]REMOVING LOCALSTORAGE AFTER RECHARGE AND CLOSING THE BROWSER --- src/index.js | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/index.js b/src/index.js index 55234a8..ce2bba6 100644 --- a/src/index.js +++ b/src/index.js @@ -8,7 +8,6 @@ const getData = api => { .then(response => { const characters = response.results; const nextURL = response.info.next; - const prevURL = response.info.prev; // save next url saveUrlLocalStorage(nextURL); let output = characters.map(character => { @@ -27,13 +26,13 @@ const getData = api => { .catch(error => console.log(error)); } -const loadData =async () => { - await getData(API); +const loadData = async (url) => { + await getData(url); } const intersectionObserver = new IntersectionObserver(entries => { if (entries[0].isIntersecting) { - loadData(); + loadData(getDataLocalStorage()); } }, { rootMargin: '0px 0px 100% 0px', @@ -41,16 +40,25 @@ const intersectionObserver = new IntersectionObserver(entries => { intersectionObserver.observe($observe); -const saveUrlLocalStorage=(url)=>{ - localStorage.setItem("next_fetch",url) +const saveUrlLocalStorage = (url) => { + localStorage.setItem("next_fetch", url) } -function getDataLocalStorage(){ +function getDataLocalStorage() { - let urlSave = localStorage.getItem('next_fetch'); - if (urlSave){ - return localStorage.getItem('next_fetch'); - }else{ + const urlSave = localStorage.getItem('next_fetch'); + + if (urlSave) { + return urlSave; + } else { return API; } } + +const removeLocalStorage = () => { + if (localStorage.getItem('next_fetch')) { + localStorage.removeItem('next_fetch'); + } +} + +window.addEventListener('DOMContentLoaded', removeLocalStorage); From 4f984ac88540079c45dd8088847272a9065e87d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CJhoancanchila=E2=80=9D?= Date: Fri, 17 Jul 2020 23:35:20 -0500 Subject: [PATCH 4/5] [ADD]message at the bottom of the page and removing observer --- src/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index ce2bba6..c127cc5 100644 --- a/src/index.js +++ b/src/index.js @@ -27,7 +27,12 @@ const getData = api => { } const loadData = async (url) => { - await getData(url); + if (url === "null") { + alert('Ya no hay personajes...'); + intersectionObserver.unobserve($observe); + } else { + await getData(url); + } } const intersectionObserver = new IntersectionObserver(entries => { From cc28148e05e9d590922ccd08607c8b7843a89b32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CJhoancanchila=E2=80=9D?= Date: Fri, 17 Jul 2020 23:42:45 -0500 Subject: [PATCH 5/5] challenge Ready --- PULL_REQUEST_TEMPLATE.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index fb4df26..2a54980 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -2,11 +2,11 @@ Solución al reto 03 de Escuela de JavaScript -Nombre: -Usuario Platzi: +Nombre:Jhoan Canchila +Usuario Platzi:jcanchila ## Reto: - - [ ] Primer problema - - [ ] Segundo problema - - [ ] Tercer problema - - [ ] Cuarto Problema (Opcional) \ No newline at end of file + - [ok] Primer problema + - [ok] Segundo problema + - [ok] Tercer problema + - [ok] Cuarto Problema (Opcional) \ No newline at end of file