"use client" import { Button, CircularProgress, Grid, Input, Sheet, Stack, Typography, } from "@mui/joy" import { FormEvent, useState } from "react" import { CardType } from "@/types/types" import InfiniteScroll from "react-infinite-scroller" export default function Home() { const [searchQuery, setSearchQuery] = useState("") const [loading, setLoading] = useState(false) const [cards, setCards] = useState([]) const [cardsDisplayed, setCardsDisplayed] = useState([]) const handleSubmit = async (e: FormEvent) => { e.preventDefault() setLoading(true) const response = await fetch(`/api/?search=${searchQuery}`) const data = await response.json() setCards(data) setCardsDisplayed(data.slice(0, 12)) setLoading(false) } const loadMore = async () => { if (cardsDisplayed.length >= cards.length) return setCardsDisplayed( cards.slice(0, Math.min(cardsDisplayed.length + 12, cards.length)) ) } return ( {!cards?.length && ( <> Search MTG Artwork For best results use simple words, separated by spaces. Search will return all cards that match at least one of the words, so use many similar words to broaden your search. )}
setSearchQuery(e.target.value)} endDecorator={ } sx={{ width: "100%" }} // Add this line to make the search bar full width />
{!!cards?.length && ( } style={{ width: "100%" }} > {cardsDisplayed.map((card) => ( {card.name} ((e.target as HTMLImageElement).style.transform = "scale(1.1)") } onMouseOut={(e) => ((e.target as HTMLImageElement).style.transform = "scale(1)") } /> ))} )}
) }