diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a1c4910 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "compile-hero.disable-compile-files-on-did-save-code": true +} \ No newline at end of file diff --git a/client/components/Modal/Modal.js b/client/components/Modal/Modal.js new file mode 100644 index 0000000..f1a7127 --- /dev/null +++ b/client/components/Modal/Modal.js @@ -0,0 +1,35 @@ +const Modal = ({ active, setActive, elementInModal }) => { + const handleClickStopPropagation = (e) => { + e.stopPropagation() + } + const toggleClickSetActive = () => { + setActive(false) + } + + return ( +
+
+ {elementInModal?.name} +
+

{elementInModal?.name}

+

5 деняк

+
+

{elementInModal?.description}

+
+
+ ) +} + +export default Modal diff --git a/client/components/NftPage/Modal.js b/client/components/NftPage/Modal.js deleted file mode 100644 index ec1f38e..0000000 --- a/client/components/NftPage/Modal.js +++ /dev/null @@ -1,24 +0,0 @@ -const Modal = ({ active, setActive }) => { - return ( -
setActive(false)} - > -
e.stopPropagation()} - > -
Image
-
-
NAME
-
PRICE
-
-
DESCRIPTION
-
-
- ) -} - -export default Modal diff --git a/client/components/NftPage/NFTItem.js b/client/components/NftPage/NFTItem.js index 76f154d..f2d0b62 100644 --- a/client/components/NftPage/NFTItem.js +++ b/client/components/NftPage/NFTItem.js @@ -1,6 +1,12 @@ -const NFTItem = ({ image, name }) => { +const NFTItem = ({ image, name, id, handleNftItemClick }) => { + const handleOnItemClick = () => { + handleNftItemClick(id) + } return ( -
+
{ + const [selectedElement, setSelectedElement] = useState(undefined) const [modalActive, setModalActive] = useState(false) const { data } = useAllTokens() + + const dataWithId = + data?.map((el) => { + return { + ...el, + id: el.image, + } + }) || [] + + const setElementToState = (id) => { + const elementInModal = dataWithId.find((elem) => elem.id === id) + setSelectedElement(elementInModal) + setModalActive(true) + } + return ( <> -
setModalActive(true)} - > - {data?.map(({ image, name }) => ( - - ))} +
+
- +
) diff --git a/client/components/NftPage/NFTsList.js b/client/components/NftPage/NFTsList.js index 6e89244..5e624a9 100644 --- a/client/components/NftPage/NFTsList.js +++ b/client/components/NftPage/NFTsList.js @@ -1,9 +1,18 @@ import NFTItem from './NFTItem' -const NFTsList = (props) => { +const NFTsList = ({ dataWithId, setElementToState }) => { return ( -
- +
+ {dataWithId?.map(({ image, name, id }) => ( + + + + ))}
) }