diff --git a/src/components/pages/artist/Artworks.tsx b/src/components/pages/artist/Artworks.tsx index b449c23..0b1f2fb 100644 --- a/src/components/pages/artist/Artworks.tsx +++ b/src/components/pages/artist/Artworks.tsx @@ -17,7 +17,7 @@ import { Controller } from 'swiper/modules' export default function ArtworkList({ id }) { const [page, setPage] = useState(1) const [open, setOpen] = useState(false) - const [index, setIndex] = useState(1) + const [selectedArtwork, setSelectedArtwork] = useState(null) const { data, isLoading } = useSWR( { key: 'fetch-artist-artworks', @@ -27,6 +27,19 @@ export default function ArtworkList({ id }) { ) const { t } = useTranslation() + + const prevHandler = () => { + const idx = data?.artworks?.findIndex((artwork) => artwork.url == selectedArtwork.url) + if (data?.artworks[idx - 1]) { + setSelectedArtwork(data?.artworks[idx - 1]) + } + } + const nextHandler = () => { + const idx = data?.artworks?.findIndex((artwork) => artwork.url == selectedArtwork.url) + if (data?.artworks[idx + 1]) { + setSelectedArtwork(data?.artworks[idx + 1]) + } + } if (isLoading) { return (
@@ -44,21 +57,47 @@ export default function ArtworkList({ id }) {
{data?.artworks?.length ? ( <> - -
- - {data?.artworks?.map((artwork, index) => ( - - +
+ +
+
+ + - - ))} - + +
+
+ + + +
+
@@ -66,7 +105,7 @@ export default function ArtworkList({ id }) {
{ - setIndex(index) + setSelectedArtwork(artwork) setOpen(true) }}>