I am currently trying to build a search component so users can search for Pokemon (since it is currently paginated with 20 per page.) I’m having some difficulty figuring it out, but I’m making progress.

All the information is auto-populated. It’s probably an easy thing for seasoned developers, but I’m proud to have linked the card colors, types and backgrounds to their relevant Pokemon.

Edit: search function is working now! But I I need to add “toLowerCase()”… And add prefix to the type images of some types. Otherwise, it’s working decently! The search field works in real-time, so the page is a little sluggish to load. You can search by Name, ID, Type or Ability, just start typing and your results will appear.

I opted for a single search field for simplicity and to condense the page. I can add filters, but I like it this way for now.

Next I am adding a click-to-zoom on the cards, and when they fill the screen, additional info will populate the card, and even more info on the back.

Edit 2: Instead of making click to zoom, I added a drop-down menu to change sprites between all generations. Maybe now I’ll add click to zoom!

Edit 3: I added the zoom feature and made some tweaks! Added official artwork, better pagination, generation links to display all the Pokemon from a generation, and sound effects! (My fav)

  • terebat
    link
    fedilink
    arrow-up
    2
    ·
    2 years ago

    What API are you using? Where is the data stored? Would be easier to answer with more data on how this is setup.

    • reric88🧩@beehaw.orgOP
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      2 years ago

      I’m using https://pokeapi.co/api/v2/pokemon as the api. I can grab all the names but that seems very inefficient and had put a lot of load when calling it.

      I’m looking at just making an array of Pokemon names to exist within the app, and search through that and then call the specific endpoint using that name.

      Edit: Here is the source code https://github.com/reric88/pokemon-vite.git

      Also, I don’t expect anyone to help out, I really just wanted to show it to someone! But any comments, suggestions etc are greatly appreciated. I have less than 3 or 4 months experience with JavaScript