diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..6b665aaa --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} diff --git a/css/styles.css b/css/styles.css new file mode 100644 index 00000000..d8280de6 --- /dev/null +++ b/css/styles.css @@ -0,0 +1,27 @@ +body{ + text-align: center; +} + +#middle-container{ + padding-top: 50px; + padding-bottom: 50px; + height: 700px; + width: 700px; + +} + +img { + width: 75%; + height: 75%; +} + +form{ + height: 200px; + width: 200px; +} + +#button-container{ + padding-top: 20px; + padding-bottom: 20px; + font-size: larger; +} \ No newline at end of file diff --git a/index.html b/index.html index 695897ea..93b81dbc 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,41 @@ + + + Hello Front-End - -

Hello Front-End

+ + +
+ +
+
+
+ +
+ +
+ +
+ + + + + + + +
+ + + +
+ + + diff --git a/js/app.js b/js/app.js new file mode 100644 index 00000000..5f87ff0a --- /dev/null +++ b/js/app.js @@ -0,0 +1,98 @@ +let container = document.querySelector('#middle-container') +const form = document.querySelector('form') +let photos = [] +let photosIndex = 0 +let interval = null +document.getElementById('stop').style.display = 'none' +document.getElementById('submit').style.display = 'inline-block' +document.getElementById('form').style.display = 'none' +document.getElementById('see-images').style.display = 'none' + + + + +document.getElementById('submit').addEventListener('click', (event) =>{ + event.preventDefault() + const searchBar = document.getElementById('search').value + + fetch(`http://www.reddit.com/search.json?q=${searchBar}+nsfw:no`) + .then(res => res.json()) + .then(jsonData => { + photos = jsonData.data.children.map(obj => { + return{ + title: obj.data.title, + url: obj.data.thumbnail, + subreddit: obj.data.subreddit, + posthint: obj.data.post_hint + } + }).filter(obj =>{ + return obj.posthint === 'image' + }) + console.log(photos) + }) + + + + + .catch(err => { + console.log('ERROR', err) + }) + + document.getElementById('submit').style.display = 'none' + document.getElementById('form').style.display = 'inline' + document.getElementById('see-images').style.display = 'inline' +}) + + + + + +const slideshow = () =>{ + photosIndex = 0 + getImage() + + interval = setInterval(changeImage, 4000) +} + const changeImage = () =>{ + photosIndex ++ + + if(photosIndex>= photos.length){ + photosIndex = 0 + } + getImage() + } +function getImage(){ + document.getElementById('pics-container').innerText = '' +let image = document.createElement('img') +image.src = photos[photosIndex].url +image.alt = photos[photosIndex].title +let title = document.createElement('h3') +title.innerText = photos[photosIndex].title + document.getElementById('pics-container').appendChild(image) + document.getElementById('pics-container').appendChild(title) + +} + +document.getElementById('see-images').addEventListener('click', (event) =>{ + event.preventDefault() + slideshow() + document.getElementById('stop').style.display = 'inline-block' + document.getElementById('form').style.display = 'none' + document.getElementById('see-images').style.display = 'none' +}) + +const stop = () =>{ + document.getElementById('submit').style.display = 'inline' + document.getElementById('form').style.display = 'none' +document.getElementById('see-images').style.display = 'none' + document.getElementById('stop').style.display = 'none' + photos = [] +} + +document.getElementById('stop').addEventListener('click', () =>{ + stop() + + + +}) +