diff --git a/src/components/Editor.js b/src/components/Editor.js index f3d0f7a..7a93d03 100644 --- a/src/components/Editor.js +++ b/src/components/Editor.js @@ -157,7 +157,7 @@ class Editor extends React.Component {
-
+ {/*
Pattern -
+
*/}
Platform diff --git a/src/components/Themes/BackgroundTheme.js b/src/components/Themes/BackgroundTheme.js index 22b76ec..1725e9d 100644 --- a/src/components/Themes/BackgroundTheme.js +++ b/src/components/Themes/BackgroundTheme.js @@ -1,83 +1,24 @@ -import React, { useState, useEffect, useContext } from 'react'; -import unsplash from "../../utils/unsplashConfig"; +import React, { useContext } from 'react'; import { ImgContext } from '../../utils/ImgContext'; +import UnsplashSearch from '../UnsplashSearch'; const BackgroundTheme = ({ config }) => { - const { title, author, font, icon, customIcon, platform, bgColor } = config; - - // const [image, setImage] = useState({}) - - const [imageList, setImageList] = useState([]); - const [searchText, setSearchText] = useState('dev'); - + const { title, author, font, icon, customIcon, bgColor } = config; const { unsplashImage, setUnsplashImage } = useContext(ImgContext); - const searchImages = () => { - - unsplash.search - .getPhotos({ - query: searchText, - page: 1, - per_page: 30, - // orientation:'portrait' - - - }) - .then(response => { - // console.log(response.response.results); - setImageList(response.response.results) - }); - } - - useEffect(() => { - - unsplash.search - .getPhotos({ - query: 'setup', - page: 1, - per_page: 30 - - }) - .then(response => { - // console.log(response.response.results); - setImageList(response.response.results) - }); - }, []) - - const selectImage = (image) => { - setUnsplashImage({ - url: image.urls.regular, - name: image.user.name, - avatar: image.user.profile_image.small, - profile: `${image.user.links.html}?utm_source=https://coverview.vercel.app&utm_medium=referral`, - downloadLink: image.links.download_location - - }) - - - } - - const handleSearchSubmit = (e) => { - e.preventDefault(); - searchImages(searchText); - - } - return ( -
+
-
-
- +
- {unsplashImage ?
@@ -86,7 +27,7 @@ const BackgroundTheme = ({ config }) => {
-
+
- - -
- - -
- { - imageList.map(image => { - return {image.alt_description} selectImage(image) - } - /> - }) - } -
} diff --git a/src/components/Themes/StylishTheme.js b/src/components/Themes/StylishTheme.js index 56615bf..3cc81ff 100644 --- a/src/components/Themes/StylishTheme.js +++ b/src/components/Themes/StylishTheme.js @@ -1,68 +1,11 @@ -import React, { useState, useEffect, useContext } from 'react'; -import unsplash from "../../utils/unsplashConfig"; +import React, { useContext } from 'react'; import { ImgContext } from '../../utils/ImgContext'; +import UnsplashSearch from '../UnsplashSearch'; const StylishTheme = ({ config }) => { const { title, author, font, icon, customIcon, bgColor } = config; - - // const [image, setImage] = useState({}) - - const [imageList, setImageList] = useState([]); - const [searchText, setSearchText] = useState('dev'); - const { unsplashImage, setUnsplashImage } = useContext(ImgContext); - const searchImages = () => { - - unsplash.search - .getPhotos({ - query: searchText, - page: 1, - per_page: 30, - // orientation:'portrait' - - - }) - .then(response => { - // console.log(response.response.results); - setImageList(response.response.results) - }); - } - - useEffect(() => { - - unsplash.search - .getPhotos({ - query: 'setup', - page: 1, - per_page: 25 - - }) - .then(response => { - // console.log(response.response.results); - setImageList(response.response.results) - }); - }, []) - - const selectImage = (image) => { - setUnsplashImage({ - url: image.urls.regular, - name: image.user.name, - avatar: image.user.profile_image.small, - profile: `${image.user.links.html}?utm_source=https://coverview.vercel.app&utm_medium=referral`, - downloadLink: image.links.download_location - - }) - - - } - - const handleSearchSubmit = (e) => { - e.preventDefault(); - searchImages(searchText); - - } - return (
@@ -94,18 +37,15 @@ const StylishTheme = ({ config }) => {
-
+
{unsplashImage ? -
+
-
+ preview - preview -
-
: -
+
-
handleSearchSubmit(e)} className="flex bg-gray-50 rounded-full border mb-2"> - setSearchText(e.target.value)} - /> - - -
- - -
- { - imageList.map(image => { - return {image.alt_description} selectImage(image) - } - /> - }) - } -
+
} diff --git a/src/components/UnsplashSearch.js b/src/components/UnsplashSearch.js new file mode 100644 index 0000000..d28a56d --- /dev/null +++ b/src/components/UnsplashSearch.js @@ -0,0 +1,108 @@ +import React, { useState, useEffect, useContext } from 'react'; +import unsplash from '../utils/unsplashConfig'; +import { ImgContext } from '../utils/ImgContext'; + +const UnsplashSearch = ({ largeImgPreview }) => { + + const [imageList, setImageList] = useState([]); + const [searchText, setSearchText] = useState('setup'); + const { unsplashImage, setUnsplashImage } = useContext(ImgContext); + + + const searchImages = () => { + + unsplash.search + .getPhotos({ + query: searchText, + page: 1, + per_page: 30, + // orientation:'portrait' + + + }) + .then(response => { + // console.log(response.response.results); + setImageList(response.response.results) + }); + } + + + const selectImage = (image) => { + setUnsplashImage({ + url: image.urls.regular, + name: image.user.name, + avatar: image.user.profile_image.small, + profile: `${image.user.links.html}?utm_source=https://coverview.vercel.app&utm_medium=referral`, + downloadLink: image.links.download_location + + }) + + + } + + const handleSearchSubmit = (e) => { + e.preventDefault(); + searchImages(searchText); + + } + + useEffect(() => { + + unsplash.search + .getPhotos({ + query: 'setup', + page: 1, + per_page: 30 + + }) + .then(response => { + // console.log(response.response.results); + setImageList(response.response.results) + }); + }, []) + + return ( +
+
+ +
+
handleSearchSubmit(e)} className=" mx-auto w-full flex bg-gray-50 rounded-full border border-gray-50 mb-2"> + setSearchText(e.target.value)} + /> + + +
+ +
+ + +
+ { + imageList.map(image => { + return
+ Click to Select + {image.alt_description} selectImage(image) + } + className="rounded-lg object-cover h-full w-full" + /> +
+ }) + } +
+
+
+ ); +} + +export default UnsplashSearch; \ No newline at end of file diff --git a/src/utils/constants.js b/src/utils/constants.js index 550c61a..1dae0fb 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -14,6 +14,10 @@ export const THEMES = [ label: 'background', preview: backgroundThemePlaceholder }, + { + label: 'stylish', + preview: stylishThemePlaceholder + }, { label: 'basic', preview: basicThemePlaceholder @@ -22,10 +26,6 @@ export const THEMES = [ label: 'modern', preview: modernThemePlaceholder }, - { - label: 'stylish', - preview: stylishThemePlaceholder - }, { label: 'outline', preview: outlineThemePlaceholder