Giter Club home page Giter Club logo

pkmn.help's Introduction

Netlify Status

👉 https://www.pkmn.help

Pokémon Type Calculator

Pokémon Type Calculator helps you figure out offense/defense matchups for Pokémon

Development

$ npm install
$ npm start

Updating Pokédex data

Make sure to delete all the images in public/img before running this command or all existing images will be kept

$ npm run update-pokedex

or if you just want to update images without updating the Pokédex

$ npm run update-pokedex fast

pkmn.help's People

Contributors

dependabot[bot] avatar jtruher avatar kittenchilly avatar oscar-beltran avatar smoak avatar wavebeem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pkmn.help's Issues

Normalize image sizes

Most images are 40px but some are larger. We should normalize the image sizes or do something so that they are all scaled by integer scale factors. Some of the new Pokemon have poorly scaled pixel art because of this.

Improve screen reader support

  • Pokedex "help" link should have an aria-label
  • Offense "edit" link should have an aria-label
  • Offense type chooser
    • Use an aria-hidden to avoid announcing the checkmark text
    • Change them to actual checkbox elements?
  • Defense type chooser
    • Use aria-hidden to avoid announcing the selected circle text
    • Use radio button roles (or actual radio buttons?)
    • Make keyboard nav work like radio buttons
    • Probably best to just make them label+input[type=radio] elements, and use appearance:none to completely override the styles :D
  • Pokedex
    • Offense/defense links should omit form name if not defined

Japanese translation

I made a translation based on the official site of Pokemon
Format is:

EN
JA
Normal
ノーマル
Poison
どく
Bug
むし
Fire
ほのお
Electric
でんき
Dragon
ドラゴン
Fighting
かくとう
Ground
じめん
Ghost
ゴースト
Water
みず
Psychic
エスパー
Dark
あく
Flying
ひこう
Rock
いわ
Steel
はがね
Grass
くさ
Ice
こおり
Fairy
フェアリー
HP
HP
Attack
こうげき
Defense
ぼうぎょ
Sp. Atk.
とくこう
Sp. Def.
とくぼう
Speed
すばやさ

DX enhancements

Using Vite with Preact seems like a great way to reduce bundle size and speed up development (HMR 👀)

Support DLC (Crown Tundra, Isle of Armor)

A small handful of new Pokémon were added in these DLC (#891-#898), and it would be neat if they could be supported by the Pokédex feature.

The only thing to note is that there are 3 forms of Calyrex (#898) with different typings, otherwise your dex crawler should work fine with the other new Pokémon.

Fix the favicon

The favicon looks really janky. I think I should just hand-draw it in 32px and 16px versions in Photoshop.

Make buttons more button-y

Right now the buttons look too much like the labels… let's make them more in line with the new buttons.

Just a rough idea right now. Probably should look more like the regular buttons.

image

Buttons and inputs should meet 3:1 WCAG AA contrast ratio

Due to ... color blending, I guess. The text input on pkmn.help doesn't quite meet the 3:1 ratio. Buttons do, though.

Border colors should probably be like, proper non-alpha values, so it's easier to verify contrast requirements.

URL routing support

# parameters go in the query string so pages can be modified later
# use space (+ inside query string) to separate types
/offense?types=fighting+ground+fire+psychic
/offense?types=

/defense?types=normal
/defense?types=fairy+poison

# q is the search query
# page is the page number
/pokedex?q=&page=0
/pokedex?q=saur&page=0
/pokedex?q=sa&page=3

# no arguments here
/info

I think something like React Router's BrowserRouter component would be good for this. Google Analaytics integration can come as part of a separate ticket.

The _redirects file should have a rule like /* /index.html 200 so that all routes serve the basic HTML file that starts the single page app. Right now the _redirects file is not being copied into the dist folder though. It needs to be copied there during npm run build so that Netlify will read it.

Also the devServer section of webpack.config.js will need historyApiFallback: true to serve this HTML in development mode as well.

Feature request: Click pokemon to load types.

Hi,

I was just using this and I thought of a handy feature: when you search a pokemon in the Pokedex, it would be handy that when you click, the pokemon's types get loaded into either the attack or defence tab.

If you want I can create this feature and create a pull request, if you would rather do it yourself, please go ahead :)

Kind regards

Tachyons?

I don't know if I necessarily want to pull in Tachyons itself, but using teeny tiny classes might be useful and might make the style payload smaller too.

Fix contrast levels

The contrast levels are a complete disaster on the site. I should fix them.

Feature request: Streamline choosing best counter

I am using your tool to pick a counter to Rocket leaders' Pokemon. E.g. Salamence with Fire attack.

I first look at the bottom of the "Offense" tab for Fire. This tells me that Rock/Fire/Water/Dragon would be a good type.

I then look at the top of the "Defense" tab which tells me that Ice would be the the best attack type to use.

So a really good candidate would be e.g. a Water Dragon with Ice Attack.

Seeing good defensive types next to good attack types would be very handy.

Sticky footer + more margin

The footer is annoyingly close to the content, let's make it stick to the bottom and have a larger top margin.

body: flex flex-column min-vh-100
#react-root: flex-auto

Add cachebusting

Mobile Chrome is a piece of trash, so let's add some cache buster query params to the JS/CSS somehow.

Fixe accessibility

Either add alt="description" or role="presentation" onto all img tags.

Fix iOS scrolling

The type selector is really laggy and slow and horrible on iOS because Safari can't handle scrolling a fixed position element :(

So I'm thinking we can just have an accordion in the page to select stuff anyway.

It might be kinda annoying to set up the resizing animation because you can't transition on height:auto but whatever I'll figure it out.

Add Pokédex

Third tab. Searchable Pokédex with vital information

Auto scrolling

The app should scroll automatically to relevant sections rather than the top

Enhancement: Multilingual Support

I love your project it is truly amazing and helpful!

As an enhancement I would like to add multilingual support, I will be happy to assist if that's ok.

Thanks!

Minify the JS

When did minifying get so hard? Why are Uglify and Closure both barfing on my JS? I should figure it out because >1MB is too big for such a simple site 👎

Light mode and dark mode

The first time I visited this website, it was in light mode. I was recording a video and showing it on screen, and it being in light mode made it easy to see what i was doing in the video.
Now the site is in dark mode and I've found no option to turn it off. Dark mode is great at night, but during the day it makes me have a hard time seeing what's on the screen and also makes things less visible when i use it in my videos.

Could you add a way to at least switch between light and dark mode instead of always having dark mode turned on?

__

Nvm, solved. It was just my windows settings. Feel free to delete this issue, i dont think i cant do it myself

Preload next page worth of Pokédex images

A single spritesheet is too massive, and search makes it impossible to generate a sprite sheet for every page, plus this would be really complicated. Let's just use image preloading for the next page of images... eventually.

PWA Support

I should figure out how to make this a PWA so people can install it and use it offline

Message if JS fails

Visitors get a completely blank screen if JS fails to load.

It should say something about how to contact me to report the issue.

Split bundles

We can cache better and have slightly more debuggable output with split bundles featuring a vendor.js + bundle.js instead of putting all 3rd party libs into the same JS blob.

Improve type label contrast

I'm faking WCAG AA contrast by using heavy drop shadows, but it's unclear if that's enough, and it doesn't look that good.

Explore alternative designs that convey color well without compromising contrast.

Maybe a border (all around) or a big stripe on the left could be used?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.