yarn create next-app --example with-typescript .
also uses ChakraUI + react-hotkeys-hook
- tactical reload (may or may not be empty) - pick new mag, swap mag, keep old mag, 3.5s
- tap r, hold r 1/2 way, cmd+r 1/2 way, tap r if empty
- speed reload (usually mag empty) - pick new mag, old mag drops to ground, new mag in, slide action, 2.5s
- tap r, hold r, tap r