refactor pokemon explorer for nav
This commit is contained in:
parent
6de075e08c
commit
f93841eb8c
555
dist/app.css
vendored
555
dist/app.css
vendored
@ -50,57 +50,78 @@
|
|||||||
background-color: #000;
|
background-color: #000;
|
||||||
opacity: 0.7; }
|
opacity: 0.7; }
|
||||||
|
|
||||||
.nes-field.is-inline .IvForm__ivInput__xR5IU {
|
.PokemonApp__displayWrapper__2PiN5 {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 30rem;
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column nowrap; }
|
||||||
|
|
||||||
|
.PokemonApp__container__MsUHy {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-evenly; }
|
||||||
|
.PokemonApp__container__MsUHy .PokemonApp__leftColumn__3Lv_L,
|
||||||
|
.PokemonApp__container__MsUHy .PokemonApp__rightColumn__1xE25 {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
flex-basis: 45%;
|
||||||
|
align-items: center; }
|
||||||
|
.PokemonApp__container__MsUHy .PokemonApp__leftColumn__3Lv_L {
|
||||||
|
text-align: center; }
|
||||||
|
.PokemonApp__container__MsUHy .PokemonApp__rightColumn__1xE25 {
|
||||||
|
flex-grow: 1;
|
||||||
|
align-items: start; }
|
||||||
|
|
||||||
|
.nes-field.is-inline .IvForm__ivInput__1KM34 {
|
||||||
width: 4.25em;
|
width: 4.25em;
|
||||||
padding-left: 0.45em;
|
padding-left: 0.45em;
|
||||||
padding-right: 0.25em; }
|
padding-right: 0.25em; }
|
||||||
.nes-field.is-inline .IvForm__ivInput__xR5IU.IvForm__levelInput__1n6We {
|
.nes-field.is-inline .IvForm__ivInput__1KM34.IvForm__levelInput__1cOcl {
|
||||||
width: 6.5em; }
|
width: 6.5em; }
|
||||||
|
|
||||||
.nes-field.is-inline.IvForm__fieldRow__3HcBN {
|
.nes-field.is-inline.IvForm__fieldRow__2b-ft {
|
||||||
justify-content: space-between; }
|
justify-content: space-between; }
|
||||||
.nes-field.is-inline.IvForm__fieldRow__3HcBN label {
|
.nes-field.is-inline.IvForm__fieldRow__2b-ft label {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
margin-left: 1em; }
|
margin-left: 1em; }
|
||||||
.nes-field.is-inline.IvForm__fieldRow__3HcBN label:first-child {
|
.nes-field.is-inline.IvForm__fieldRow__2b-ft label:first-child {
|
||||||
margin-left: 0; }
|
margin-left: 0; }
|
||||||
|
|
||||||
.LeagueSelector__wrapper__fxmRz {
|
.LeagueSelector__wrapper__3k27A {
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin: -0.5rem 0 0.5rem 0; }
|
margin: -0.5rem 0 0.5rem 0; }
|
||||||
|
|
||||||
.LeagueSelector__leagueRadioLabel__3aPV9 {
|
.LeagueSelector__leagueRadioLabel__23hqE {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center; }
|
align-items: center; }
|
||||||
|
|
||||||
.LeagueSelector__leagueRadio__3hY7B {
|
.LeagueSelector__leagueRadio__26fWw {
|
||||||
display: none; }
|
display: none; }
|
||||||
|
|
||||||
.LeagueStatsList__selectList__1FBIL {
|
.LeagueStatsList__selectList__S5RTA {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
/* for Firefox */
|
/* for Firefox */
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow: hidden; }
|
overflow: hidden; }
|
||||||
.LeagueStatsList__selectList__1FBIL > * {
|
.LeagueStatsList__selectList__S5RTA > * {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow: auto; }
|
overflow: auto; }
|
||||||
|
|
||||||
.LeagueStatsList__listItem__oCOvr {
|
.LeagueStatsList__listItem__1pPhh {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-evenly; }
|
justify-content: space-evenly; }
|
||||||
.LeagueStatsList__listItem__oCOvr.list-item.active::before, .LeagueStatsList__listItem__oCOvr.list-item:hover::before {
|
.LeagueStatsList__listItem__1pPhh.list-item.active::before, .LeagueStatsList__listItem__1pPhh.list-item:hover::before {
|
||||||
top: 8px;
|
top: 8px;
|
||||||
left: 10px; }
|
left: 10px; }
|
||||||
|
|
||||||
.StatDisplay__baseStatRow__1B60A {
|
.StatDisplay__baseStatRow__3_Kiv {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center; }
|
align-items: center; }
|
||||||
.StatDisplay__baseStatRow__1B60A > * {
|
.StatDisplay__baseStatRow__3_Kiv > * {
|
||||||
flex-shrink: 0; }
|
flex-shrink: 0; }
|
||||||
.StatDisplay__baseStatRow__1B60A > progress {
|
.StatDisplay__baseStatRow__3_Kiv > progress {
|
||||||
flex-shrink: 1;
|
flex-shrink: 1;
|
||||||
margin: 0 0 0 1em;
|
margin: 0 0 0 1em;
|
||||||
width: 5em;
|
width: 5em;
|
||||||
@ -108,170 +129,6 @@
|
|||||||
border-image-outset: 1;
|
border-image-outset: 1;
|
||||||
padding: 2px; }
|
padding: 2px; }
|
||||||
|
|
||||||
.PokemonExplorer__wrapper__3U9Pu {
|
|
||||||
margin: 0 auto;
|
|
||||||
width: 30rem;
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column nowrap; }
|
|
||||||
|
|
||||||
.PokemonExplorer__container__3LR-_ {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-evenly; }
|
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__leftColumn__1qHS1,
|
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__rightColumn__KvY23 {
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
flex-basis: 45%;
|
|
||||||
align-items: center; }
|
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__leftColumn__1qHS1 {
|
|
||||||
text-align: center; }
|
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__rightColumn__KvY23 {
|
|
||||||
flex-grow: 1;
|
|
||||||
align-items: start; }
|
|
||||||
|
|
||||||
.LeagueIvExplorer__container__3GKct {
|
|
||||||
margin-bottom: 1rem; }
|
|
||||||
|
|
||||||
.LeagueIvExplorer__leftColumn__3au0L { }
|
|
||||||
|
|
||||||
.LeagueIvExplorer__rightColumn__1eyvh { }
|
|
||||||
|
|
||||||
.LeagueIvExplorer__leaguePokemonRank__3bjyU {
|
|
||||||
justify-content: flex-start;
|
|
||||||
flex-wrap: wrap; }
|
|
||||||
.LeagueIvExplorer__leaguePokemonRank__3bjyU .LeagueIvExplorer__pokemonInfoWrapper__3WVsh {
|
|
||||||
flex: 1 0 100%;
|
|
||||||
display: flex; }
|
|
||||||
.LeagueIvExplorer__leaguePokemonRank__3bjyU .LeagueIvExplorer__leftColumn__3au0L {
|
|
||||||
align-items: flex-start; }
|
|
||||||
.LeagueIvExplorer__leaguePokemonRank__3bjyU .LeagueIvExplorer__pokemonRankValue__3k3ih {
|
|
||||||
display: inline; }
|
|
||||||
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb {
|
|
||||||
flex: 0 999 auto;
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
/* for Firefox */ }
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb .title.LeagueIvExplorer__ivContainerTitle__3Z3eX {
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-end;
|
|
||||||
background-color: transparent;
|
|
||||||
padding: 0; }
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb .title.LeagueIvExplorer__ivContainerTitle__3Z3eX > * {
|
|
||||||
background-color: #fff; }
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb .title.LeagueIvExplorer__ivContainerTitle__3Z3eX > *:first-child {
|
|
||||||
margin-right: auto;
|
|
||||||
padding: 0 0.5em; }
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb .title.LeagueIvExplorer__ivContainerTitle__3Z3eX > *:last-child {
|
|
||||||
padding-right: 0.5em; }
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb.LeagueIvExplorer__diplayingIvList__1Q5r8 {
|
|
||||||
padding: 1.5rem 0 0; }
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb.LeagueIvExplorer__diplayingIvList__1Q5r8 .title.LeagueIvExplorer__ivContainerTitle__3Z3eX {
|
|
||||||
margin-bottom: 0;
|
|
||||||
margin-right: -8px;
|
|
||||||
margin-left: -8px;
|
|
||||||
padding: 0 2.5rem; }
|
|
||||||
|
|
||||||
.TypeIndicator__pokemonType__3MOQI {
|
|
||||||
text-transform: uppercase; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.nes-container {
|
|
||||||
text-align: center;
|
|
||||||
padding: 0;
|
|
||||||
font-size: 0.7em;
|
|
||||||
line-height: 0.9;
|
|
||||||
flex-basis: 50%;
|
|
||||||
margin: 0.5rem 7px 11px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.normal {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #a8a878; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.normal::after {
|
|
||||||
box-shadow: 0 -4px #a8a878, 0 -8px, 4px 0 #a8a878, 4px -4px, 8px 0, 0 4px #a8a878, 0 8px, -4px 0 #a8a878, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.fighting {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #c03028; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.fighting::after {
|
|
||||||
box-shadow: 0 -4px #c03028, 0 -8px, 4px 0 #c03028, 4px -4px, 8px 0, 0 4px #c03028, 0 8px, -4px 0 #c03028, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.flying {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #a890f0; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.flying::after {
|
|
||||||
box-shadow: 0 -4px #a890f0, 0 -8px, 4px 0 #a890f0, 4px -4px, 8px 0, 0 4px #a890f0, 0 8px, -4px 0 #a890f0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.poison {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #a040a0; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.poison::after {
|
|
||||||
box-shadow: 0 -4px #a040a0, 0 -8px, 4px 0 #a040a0, 4px -4px, 8px 0, 0 4px #a040a0, 0 8px, -4px 0 #a040a0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.ground {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #e0c068; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.ground::after {
|
|
||||||
box-shadow: 0 -4px #e0c068, 0 -8px, 4px 0 #e0c068, 4px -4px, 8px 0, 0 4px #e0c068, 0 8px, -4px 0 #e0c068, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.rock {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #b8a038; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.rock::after {
|
|
||||||
box-shadow: 0 -4px #b8a038, 0 -8px, 4px 0 #b8a038, 4px -4px, 8px 0, 0 4px #b8a038, 0 8px, -4px 0 #b8a038, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.bug {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #a8b820; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.bug::after {
|
|
||||||
box-shadow: 0 -4px #a8b820, 0 -8px, 4px 0 #a8b820, 4px -4px, 8px 0, 0 4px #a8b820, 0 8px, -4px 0 #a8b820, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.ghost {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #705898; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.ghost::after {
|
|
||||||
box-shadow: 0 -4px #705898, 0 -8px, 4px 0 #705898, 4px -4px, 8px 0, 0 4px #705898, 0 8px, -4px 0 #705898, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.steel {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #b8b8d0; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.steel::after {
|
|
||||||
box-shadow: 0 -4px #b8b8d0, 0 -8px, 4px 0 #b8b8d0, 4px -4px, 8px 0, 0 4px #b8b8d0, 0 8px, -4px 0 #b8b8d0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.fire {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #f08030; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.fire::after {
|
|
||||||
box-shadow: 0 -4px #f08030, 0 -8px, 4px 0 #f08030, 4px -4px, 8px 0, 0 4px #f08030, 0 8px, -4px 0 #f08030, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.water {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #6890f0; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.water::after {
|
|
||||||
box-shadow: 0 -4px #6890f0, 0 -8px, 4px 0 #6890f0, 4px -4px, 8px 0, 0 4px #6890f0, 0 8px, -4px 0 #6890f0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.grass {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #78c850; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.grass::after {
|
|
||||||
box-shadow: 0 -4px #78c850, 0 -8px, 4px 0 #78c850, 4px -4px, 8px 0, 0 4px #78c850, 0 8px, -4px 0 #78c850, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.electric {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #f8d030; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.electric::after {
|
|
||||||
box-shadow: 0 -4px #f8d030, 0 -8px, 4px 0 #f8d030, 4px -4px, 8px 0, 0 4px #f8d030, 0 8px, -4px 0 #f8d030, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.psychic {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #f85888; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.psychic::after {
|
|
||||||
box-shadow: 0 -4px #f85888, 0 -8px, 4px 0 #f85888, 4px -4px, 8px 0, 0 4px #f85888, 0 8px, -4px 0 #f85888, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.ice {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #98d8d8; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.ice::after {
|
|
||||||
box-shadow: 0 -4px #98d8d8, 0 -8px, 4px 0 #98d8d8, 4px -4px, 8px 0, 0 4px #98d8d8, 0 8px, -4px 0 #98d8d8, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.dragon {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #6f35fc; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.dragon::after {
|
|
||||||
box-shadow: 0 -4px #6f35fc, 0 -8px, 4px 0 #6f35fc, 4px -4px, 8px 0, 0 4px #6f35fc, 0 8px, -4px 0 #6f35fc, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.dark {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #705848; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.dark::after {
|
|
||||||
box-shadow: 0 -4px #705848, 0 -8px, 4px 0 #705848, 4px -4px, 8px 0, 0 4px #705848, 0 8px, -4px 0 #705848, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.fairy {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #ee99ac; }
|
|
||||||
.TypeIndicator__pokemonType__3MOQI.fairy::after {
|
|
||||||
box-shadow: 0 -4px #ee99ac, 0 -8px, 4px 0 #ee99ac, 4px -4px, 8px 0, 0 4px #ee99ac, 0 8px, -4px 0 #ee99ac, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
|
||||||
|
|
||||||
.PokemonApp__wrapper__3ZEoC {
|
.PokemonApp__wrapper__3ZEoC {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column nowrap;
|
flex-flow: column nowrap;
|
||||||
@ -322,121 +179,201 @@
|
|||||||
background-color: #000;
|
background-color: #000;
|
||||||
opacity: 0.7; }
|
opacity: 0.7; }
|
||||||
|
|
||||||
.PokemonDisplay__highlight__h50BA {
|
.PokemonApp__displayWrapper__2PiN5 {
|
||||||
color: #fff;
|
|
||||||
pointer-events: none; }
|
|
||||||
|
|
||||||
.PokemonDisplay__pokemonInfoWrapper__3AW3e {
|
|
||||||
margin-bottom: 1rem; }
|
|
||||||
|
|
||||||
.PokemonDisplay__pokemonInfoLeftColumn__1vugM { }
|
|
||||||
|
|
||||||
.PokemonDisplay__pokemonInfoRightColumn__27Q49 { }
|
|
||||||
|
|
||||||
.PokemonDisplay__pokemonName__WBKbk {
|
|
||||||
margin-bottom: 0; }
|
|
||||||
|
|
||||||
.PokemonDisplay__dexHeader__2HVfr {
|
|
||||||
margin-bottom: 0.25rem; }
|
|
||||||
|
|
||||||
.PokemonDisplay__pokemonTypeWrapper__1rJIA {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-self: stretch; }
|
|
||||||
|
|
||||||
.PokemonDisplay__formHeader__1pr6M {
|
|
||||||
text-transform: uppercase;
|
|
||||||
margin-bottom: 0; }
|
|
||||||
|
|
||||||
.PokemonDisplay__pokemonBaseStats__3UJvn {
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
align-items: start;
|
|
||||||
align-self: stretch; }
|
|
||||||
|
|
||||||
.PokemonExplorer__wrapper__3U9Pu {
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 30rem;
|
width: 30rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column nowrap; }
|
flex-flow: column nowrap; }
|
||||||
|
|
||||||
.PokemonExplorer__container__3LR-_ {
|
.PokemonApp__container__MsUHy {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-evenly; }
|
justify-content: space-evenly; }
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__leftColumn__1qHS1,
|
.PokemonApp__container__MsUHy .PokemonApp__leftColumn__3Lv_L,
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__rightColumn__KvY23 {
|
.PokemonApp__container__MsUHy .PokemonApp__rightColumn__1xE25 {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column nowrap;
|
flex-flow: column nowrap;
|
||||||
flex-basis: 45%;
|
flex-basis: 45%;
|
||||||
align-items: center; }
|
align-items: center; }
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__leftColumn__1qHS1 {
|
.PokemonApp__container__MsUHy .PokemonApp__leftColumn__3Lv_L {
|
||||||
text-align: center; }
|
text-align: center; }
|
||||||
.PokemonExplorer__container__3LR-_ .PokemonExplorer__rightColumn__KvY23 {
|
.PokemonApp__container__MsUHy .PokemonApp__rightColumn__1xE25 {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
align-items: start; }
|
align-items: start; }
|
||||||
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7 {
|
.LeagueIvExplorer__container__23wLQ {
|
||||||
position: relative;
|
margin-bottom: 1rem; }
|
||||||
padding-top: 6px;
|
|
||||||
padding-right: 6px; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7 > * {
|
|
||||||
position: absolute; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7 :nth-child(1) {
|
|
||||||
position: inherit;
|
|
||||||
z-index: 3; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7 :nth-child(2) {
|
|
||||||
top: 0;
|
|
||||||
left: 6px;
|
|
||||||
z-index: 2; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7 :nth-child(3) {
|
|
||||||
left: 12px;
|
|
||||||
z-index: 1; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7 :nth-child(4) {
|
|
||||||
left: 18px;
|
|
||||||
z-index: 0; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX3__1SBG1 {
|
|
||||||
padding-top: 12px;
|
|
||||||
padding-right: 12px; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX3__1SBG1 :nth-child(3) {
|
|
||||||
top: 0; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX3__1SBG1 :nth-child(2) {
|
|
||||||
top: 6px; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX4__2KqYa {
|
|
||||||
padding-top: 18px;
|
|
||||||
padding-right: 18px; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX4__2KqYa :nth-child(4) {
|
|
||||||
top: 0; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX4__2KqYa :nth-child(3) {
|
|
||||||
top: 6px; }
|
|
||||||
.TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX4__2KqYa :nth-child(2) {
|
|
||||||
top: 12px; }
|
|
||||||
|
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj {
|
.LeagueIvExplorer__leftColumn__1HzQ- { }
|
||||||
margin: 0 1em; }
|
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj * + h4 {
|
.LeagueIvExplorer__rightColumn__rwhPb { }
|
||||||
margin-top: 1em; }
|
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj h4 p {
|
.LeagueIvExplorer__leaguePokemonRank__25epF {
|
||||||
font-size: 0.7em;
|
justify-content: flex-start;
|
||||||
color: #b6b6b6;
|
flex-wrap: wrap; }
|
||||||
margin: 0; }
|
.LeagueIvExplorer__leaguePokemonRank__25epF .LeagueIvExplorer__pokemonInfoWrapper__3Zqjc {
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj .TypeEffectiveDisplay__indicatorWrapper__2F3AY {
|
flex: 1 0 100%;
|
||||||
|
display: flex; }
|
||||||
|
.LeagueIvExplorer__leaguePokemonRank__25epF .LeagueIvExplorer__leftColumn__1HzQ- {
|
||||||
|
align-items: flex-start; }
|
||||||
|
.LeagueIvExplorer__leaguePokemonRank__25epF .LeagueIvExplorer__pokemonRankValue__2bxg3 {
|
||||||
|
display: inline; }
|
||||||
|
|
||||||
|
.LeagueIvExplorer__ivsContainer__7fSaL {
|
||||||
|
flex: 0 999 auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row wrap;
|
flex-flow: column nowrap;
|
||||||
align-items: end; }
|
/* for Firefox */ }
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj .TypeEffectiveDisplay__indicatorWrapper__2F3AY > * {
|
.LeagueIvExplorer__ivsContainer__7fSaL .title.LeagueIvExplorer__ivContainerTitle__3P9q4 {
|
||||||
margin-right: 14px;
|
display: flex;
|
||||||
height: 0%; }
|
justify-content: flex-end;
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj .TypeEffectiveDisplay__indicatorWrapper__2F3AY .TypeEffectiveDisplay__multiplierWrapper__14os7 {
|
background-color: transparent;
|
||||||
width: auto;
|
padding: 0; }
|
||||||
margin-right: 2px; }
|
.LeagueIvExplorer__ivsContainer__7fSaL .title.LeagueIvExplorer__ivContainerTitle__3P9q4 > * {
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj .TypeEffectiveDisplay__indicatorWrapper__2F3AY .TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX3__1SBG1 {
|
background-color: #fff; }
|
||||||
margin-right: -4px; }
|
.LeagueIvExplorer__ivsContainer__7fSaL .title.LeagueIvExplorer__ivContainerTitle__3P9q4 > *:first-child {
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj .TypeEffectiveDisplay__indicatorWrapper__2F3AY .TypeEffectiveDisplay__multiplierWrapper__14os7.TypeEffectiveDisplay__multiplierWrapperX4__2KqYa {
|
margin-right: auto;
|
||||||
margin-right: -10px; }
|
padding: 0 0.5em; }
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj .TypeEffectiveDisplay__indicatorWrapper__2F3AY > *,
|
.LeagueIvExplorer__ivsContainer__7fSaL .title.LeagueIvExplorer__ivContainerTitle__3P9q4 > *:last-child {
|
||||||
.TypeEffectiveDisplay__wrapper__1FFIj .TypeEffectiveDisplay__indicatorWrapper__2F3AY .TypeEffectiveDisplay__multiplierWrapper__14os7 > * {
|
padding-right: 0.5em; }
|
||||||
flex-basis: unset;
|
.LeagueIvExplorer__ivsContainer__7fSaL.LeagueIvExplorer__diplayingIvList__3vrin {
|
||||||
width: 6.75rem; }
|
padding: 1.5rem 0 0; }
|
||||||
|
.LeagueIvExplorer__ivsContainer__7fSaL.LeagueIvExplorer__diplayingIvList__3vrin .title.LeagueIvExplorer__ivContainerTitle__3P9q4 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
margin-right: -8px;
|
||||||
|
margin-left: -8px;
|
||||||
|
padding: 0 2.5rem; }
|
||||||
|
|
||||||
|
.TypeIndicator__pokemonType__1rrg9 {
|
||||||
|
text-transform: uppercase; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.nes-container {
|
||||||
|
text-align: center;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 0.7em;
|
||||||
|
line-height: 0.9;
|
||||||
|
flex-basis: 50%;
|
||||||
|
margin: 0.5rem 7px 11px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.normal {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #a8a878; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.normal::after {
|
||||||
|
box-shadow: 0 -4px #a8a878, 0 -8px, 4px 0 #a8a878, 4px -4px, 8px 0, 0 4px #a8a878, 0 8px, -4px 0 #a8a878, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.fighting {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #c03028; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.fighting::after {
|
||||||
|
box-shadow: 0 -4px #c03028, 0 -8px, 4px 0 #c03028, 4px -4px, 8px 0, 0 4px #c03028, 0 8px, -4px 0 #c03028, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.flying {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #a890f0; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.flying::after {
|
||||||
|
box-shadow: 0 -4px #a890f0, 0 -8px, 4px 0 #a890f0, 4px -4px, 8px 0, 0 4px #a890f0, 0 8px, -4px 0 #a890f0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.poison {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #a040a0; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.poison::after {
|
||||||
|
box-shadow: 0 -4px #a040a0, 0 -8px, 4px 0 #a040a0, 4px -4px, 8px 0, 0 4px #a040a0, 0 8px, -4px 0 #a040a0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.ground {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #e0c068; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.ground::after {
|
||||||
|
box-shadow: 0 -4px #e0c068, 0 -8px, 4px 0 #e0c068, 4px -4px, 8px 0, 0 4px #e0c068, 0 8px, -4px 0 #e0c068, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.rock {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #b8a038; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.rock::after {
|
||||||
|
box-shadow: 0 -4px #b8a038, 0 -8px, 4px 0 #b8a038, 4px -4px, 8px 0, 0 4px #b8a038, 0 8px, -4px 0 #b8a038, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.bug {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #a8b820; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.bug::after {
|
||||||
|
box-shadow: 0 -4px #a8b820, 0 -8px, 4px 0 #a8b820, 4px -4px, 8px 0, 0 4px #a8b820, 0 8px, -4px 0 #a8b820, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.ghost {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #705898; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.ghost::after {
|
||||||
|
box-shadow: 0 -4px #705898, 0 -8px, 4px 0 #705898, 4px -4px, 8px 0, 0 4px #705898, 0 8px, -4px 0 #705898, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.steel {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #b8b8d0; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.steel::after {
|
||||||
|
box-shadow: 0 -4px #b8b8d0, 0 -8px, 4px 0 #b8b8d0, 4px -4px, 8px 0, 0 4px #b8b8d0, 0 8px, -4px 0 #b8b8d0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.fire {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #f08030; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.fire::after {
|
||||||
|
box-shadow: 0 -4px #f08030, 0 -8px, 4px 0 #f08030, 4px -4px, 8px 0, 0 4px #f08030, 0 8px, -4px 0 #f08030, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.water {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #6890f0; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.water::after {
|
||||||
|
box-shadow: 0 -4px #6890f0, 0 -8px, 4px 0 #6890f0, 4px -4px, 8px 0, 0 4px #6890f0, 0 8px, -4px 0 #6890f0, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.grass {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #78c850; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.grass::after {
|
||||||
|
box-shadow: 0 -4px #78c850, 0 -8px, 4px 0 #78c850, 4px -4px, 8px 0, 0 4px #78c850, 0 8px, -4px 0 #78c850, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.electric {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #f8d030; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.electric::after {
|
||||||
|
box-shadow: 0 -4px #f8d030, 0 -8px, 4px 0 #f8d030, 4px -4px, 8px 0, 0 4px #f8d030, 0 8px, -4px 0 #f8d030, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.psychic {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #f85888; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.psychic::after {
|
||||||
|
box-shadow: 0 -4px #f85888, 0 -8px, 4px 0 #f85888, 4px -4px, 8px 0, 0 4px #f85888, 0 8px, -4px 0 #f85888, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.ice {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #98d8d8; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.ice::after {
|
||||||
|
box-shadow: 0 -4px #98d8d8, 0 -8px, 4px 0 #98d8d8, 4px -4px, 8px 0, 0 4px #98d8d8, 0 8px, -4px 0 #98d8d8, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.dragon {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #6f35fc; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.dragon::after {
|
||||||
|
box-shadow: 0 -4px #6f35fc, 0 -8px, 4px 0 #6f35fc, 4px -4px, 8px 0, 0 4px #6f35fc, 0 8px, -4px 0 #6f35fc, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.dark {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #705848; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.dark::after {
|
||||||
|
box-shadow: 0 -4px #705848, 0 -8px, 4px 0 #705848, 4px -4px, 8px 0, 0 4px #705848, 0 8px, -4px 0 #705848, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.fairy {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #ee99ac; }
|
||||||
|
.TypeIndicator__pokemonType__1rrg9.fairy::after {
|
||||||
|
box-shadow: 0 -4px #ee99ac, 0 -8px, 4px 0 #ee99ac, 4px -4px, 8px 0, 0 4px #ee99ac, 0 8px, -4px 0 #ee99ac, -4px 4px, -8px 0, -4px -4px, 4px 4px; }
|
||||||
|
|
||||||
|
.PokemonDisplay__highlight__2zbxz {
|
||||||
|
color: #fff;
|
||||||
|
pointer-events: none; }
|
||||||
|
|
||||||
|
.PokemonDisplay__pokemonInfoWrapper__1gaDq {
|
||||||
|
margin-bottom: 1rem; }
|
||||||
|
|
||||||
|
.PokemonDisplay__pokemonInfoLeftColumn__22kLA { }
|
||||||
|
|
||||||
|
.PokemonDisplay__pokemonInfoRightColumn__3TFUR { }
|
||||||
|
|
||||||
|
.PokemonDisplay__pokemonName__2XDXE {
|
||||||
|
margin-bottom: 0; }
|
||||||
|
|
||||||
|
.PokemonDisplay__dexHeader___Uki8 {
|
||||||
|
margin-bottom: 0.25rem; }
|
||||||
|
|
||||||
|
.PokemonDisplay__pokemonTypeWrapper__2GdkI {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-self: stretch; }
|
||||||
|
|
||||||
|
.PokemonDisplay__formHeader__2EgEf {
|
||||||
|
text-transform: uppercase;
|
||||||
|
margin-bottom: 0; }
|
||||||
|
|
||||||
|
.PokemonDisplay__pokemonBaseStats__e699B {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
align-items: start;
|
||||||
|
align-self: stretch; }
|
||||||
|
|
||||||
.PokemonSelectList__leftPanel__2ktnA {
|
.PokemonSelectList__leftPanel__2ktnA {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
@ -498,5 +435,69 @@
|
|||||||
.PokemonSelectList__form__VIw8Q {
|
.PokemonSelectList__form__VIw8Q {
|
||||||
flex: 0 1 100%; }
|
flex: 0 1 100%; }
|
||||||
|
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx {
|
||||||
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
|
padding-top: 6px;
|
||||||
|
padding-right: 6px; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx > * {
|
||||||
|
position: absolute; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx :nth-child(1) {
|
||||||
|
position: inherit;
|
||||||
|
z-index: 3; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx :nth-child(2) {
|
||||||
|
top: 0;
|
||||||
|
left: 6px;
|
||||||
|
z-index: 2; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx :nth-child(3) {
|
||||||
|
left: 12px;
|
||||||
|
z-index: 1; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx :nth-child(4) {
|
||||||
|
left: 18px;
|
||||||
|
z-index: 0; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX3__3LBbd {
|
||||||
|
padding-top: 12px;
|
||||||
|
padding-right: 12px; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX3__3LBbd :nth-child(3) {
|
||||||
|
top: 0; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX3__3LBbd :nth-child(2) {
|
||||||
|
top: 6px; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX4__iKCza {
|
||||||
|
padding-top: 18px;
|
||||||
|
padding-right: 18px; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX4__iKCza :nth-child(4) {
|
||||||
|
top: 0; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX4__iKCza :nth-child(3) {
|
||||||
|
top: 6px; }
|
||||||
|
.TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX4__iKCza :nth-child(2) {
|
||||||
|
top: 12px; }
|
||||||
|
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ {
|
||||||
|
margin: 0 1em; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ * + h4 {
|
||||||
|
margin-top: 1em; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ h4 p {
|
||||||
|
font-size: 0.7em;
|
||||||
|
color: #b6b6b6;
|
||||||
|
margin: 0; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ .TypeEffectiveDisplay__indicatorWrapper__wJ82n {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row wrap;
|
||||||
|
align-items: end; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ .TypeEffectiveDisplay__indicatorWrapper__wJ82n > * {
|
||||||
|
margin-right: 14px;
|
||||||
|
height: 0%; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ .TypeEffectiveDisplay__indicatorWrapper__wJ82n .TypeEffectiveDisplay__multiplierWrapper__1E9zx {
|
||||||
|
width: auto;
|
||||||
|
margin-right: 2px; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ .TypeEffectiveDisplay__indicatorWrapper__wJ82n .TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX3__3LBbd {
|
||||||
|
margin-right: -4px; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ .TypeEffectiveDisplay__indicatorWrapper__wJ82n .TypeEffectiveDisplay__multiplierWrapper__1E9zx.TypeEffectiveDisplay__multiplierWrapperX4__iKCza {
|
||||||
|
margin-right: -10px; }
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ .TypeEffectiveDisplay__indicatorWrapper__wJ82n > *,
|
||||||
|
.TypeEffectiveDisplay__wrapper__1DgN_ .TypeEffectiveDisplay__indicatorWrapper__wJ82n .TypeEffectiveDisplay__multiplierWrapper__1E9zx > * {
|
||||||
|
flex-basis: unset;
|
||||||
|
width: 6.75rem; }
|
||||||
|
|
||||||
|
|
||||||
/*# sourceMappingURL=main.tmp.css.map*/
|
/*# sourceMappingURL=main.tmp.css.map*/
|
||||||
1892
dist/main-bundle.js
vendored
1892
dist/main-bundle.js
vendored
File diff suppressed because it is too large
Load Diff
@ -8,23 +8,22 @@ import classNames from 'classnames';
|
|||||||
|
|
||||||
import { League } from 'app/models/League';
|
import { League } from 'app/models/League';
|
||||||
|
|
||||||
import { appReducers } from './index';
|
import { appReducers } from 'app/index';
|
||||||
|
|
||||||
import * as ActionsPokemonExplorer from './components/PokemonExplorer/actions';
|
import * as ActionsPokemonExplorer from 'app/actions';
|
||||||
import * as ActionsPokemonSelectList from './components/PokemonSelectList/actions';
|
import * as ActionsPokemonSelectList from 'app/components/PokemonSelectList/actions';
|
||||||
import { IPokemonAppDispatch } from './types';
|
import { IndividualValueKey, IPokemonAppDispatch } from 'app/types';
|
||||||
|
|
||||||
import { IndividualValueKey } from './components/PokemonExplorer/types';
|
import { Footer } from 'app/components/Footer';
|
||||||
|
import { Header } from 'app/components/Header';
|
||||||
import { Footer } from './components/Footer';
|
import { LeagueIvExplorer } from 'app/components/LeagueIvExplorer';
|
||||||
import { Header } from './components/Header';
|
import { PokemonDisplay } from 'app/components/PokemonDisplay';
|
||||||
import { PokemonExplorer } from './components/PokemonExplorer/PokemonExplorer';
|
import { PokemonSelectList } from 'app/components/PokemonSelectList/PokemonSelectList';
|
||||||
import { TypeEffectiveDisplay } from './components/PokemonExplorer/TypeEffectiveDisplay';
|
import { TypeEffectiveDisplay } from 'app/components/TypeEffectiveDisplay';
|
||||||
import { PokemonSelectList } from './components/PokemonSelectList/PokemonSelectList';
|
|
||||||
|
|
||||||
import { appendQueryString, getCurrentQueryStringVlaues } from 'app/utils/navigation';
|
import { appendQueryString, getCurrentQueryStringVlaues } from 'app/utils/navigation';
|
||||||
|
|
||||||
import * as styles from './styles/PokemonApp.scss';
|
import * as styles from 'app/styles/PokemonApp.scss';
|
||||||
|
|
||||||
type PokemonAppProps = ReturnType<typeof appReducers>;
|
type PokemonAppProps = ReturnType<typeof appReducers>;
|
||||||
|
|
||||||
@ -33,8 +32,11 @@ interface IConnectedPokemonAppProps extends PokemonAppProps, IPokemonAppDispatch
|
|||||||
location : RouteComponentProps['location'];
|
location : RouteComponentProps['location'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Navigation = 'pokedex';
|
||||||
|
type SubNavigation = 'pvp' | 'types' | 'moves';
|
||||||
interface IState {
|
interface IState {
|
||||||
activeNavigation : 'pokedex' | 'pvp' | 'types' | 'moves' | null;
|
activeNavigation : Navigation | null;
|
||||||
|
widgets : { [ key in SubNavigation ] : boolean };
|
||||||
}
|
}
|
||||||
|
|
||||||
class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
||||||
@ -44,6 +46,11 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
activeNavigation: null,
|
activeNavigation: null,
|
||||||
|
widgets: {
|
||||||
|
pvp: true,
|
||||||
|
types: false,
|
||||||
|
moves: false,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,7 +100,8 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
leaguePokemon,
|
leaguePokemon,
|
||||||
} = this.props.pokemonExplorerState;
|
} = this.props.pokemonExplorerState;
|
||||||
const {
|
const {
|
||||||
activeNavigation
|
activeNavigation,
|
||||||
|
widgets,
|
||||||
} = this.state;
|
} = this.state;
|
||||||
|
|
||||||
const isOverlayShown = activeNavigation === 'pokedex';
|
const isOverlayShown = activeNavigation === 'pokedex';
|
||||||
@ -109,6 +117,10 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
styles.leftNavigation,
|
styles.leftNavigation,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const displayWrapperCss = classNames(
|
||||||
|
styles.displayWrapper,
|
||||||
|
);
|
||||||
|
|
||||||
const iconCss = classNames(
|
const iconCss = classNames(
|
||||||
'icon',
|
'icon',
|
||||||
'pixel',
|
'pixel',
|
||||||
@ -132,36 +144,36 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
iconCss,
|
iconCss,
|
||||||
'pvp',
|
'pvp',
|
||||||
{
|
{
|
||||||
active: activeNavigation === 'pvp',
|
active: widgets.pvp,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
const pvpButtonCss = classNames(
|
const pvpButtonCss = classNames(
|
||||||
{
|
{
|
||||||
[styles.activeNavigationButton]: activeNavigation === 'pvp',
|
[styles.activeNavigationButton]: widgets.pvp,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
const badgeCss = classNames(
|
const badgeCss = classNames(
|
||||||
iconCss,
|
iconCss,
|
||||||
'badge',
|
'badge',
|
||||||
{
|
{
|
||||||
active: activeNavigation === 'types',
|
active: widgets.types,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
const badgeButtonCss = classNames(
|
const badgeButtonCss = classNames(
|
||||||
{
|
{
|
||||||
[styles.activeNavigationButton]: activeNavigation === 'types',
|
[styles.activeNavigationButton]: widgets.types,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
const tmCss = classNames(
|
const tmCss = classNames(
|
||||||
iconCss,
|
iconCss,
|
||||||
'tm',
|
'tm',
|
||||||
{
|
{
|
||||||
active: activeNavigation === 'moves',
|
active: widgets.moves,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
const tmButtonCss = classNames(
|
const tmButtonCss = classNames(
|
||||||
{
|
{
|
||||||
[styles.activeNavigationButton]: activeNavigation === 'moves',
|
[styles.activeNavigationButton]: widgets.moves,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -169,19 +181,25 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
<div className={ wrapperCss }>
|
<div className={ wrapperCss }>
|
||||||
<Header />
|
<Header />
|
||||||
<div className={ styles.body }>
|
<div className={ styles.body }>
|
||||||
|
<div className={ displayWrapperCss }>
|
||||||
{ leaguePokemon !== null &&
|
{ leaguePokemon !== null &&
|
||||||
<PokemonExplorer
|
<PokemonDisplay
|
||||||
|
leaguePokemon={ leaguePokemon }
|
||||||
temporaryNavigationIsActive={ isOverlayShown }
|
temporaryNavigationIsActive={ isOverlayShown }
|
||||||
isLoading={ this.props.pokemonExplorerState.isLoading }
|
/>
|
||||||
|
}
|
||||||
|
{ widgets.pvp && leaguePokemon !== null &&
|
||||||
|
<LeagueIvExplorer
|
||||||
activeLeague={ league }
|
activeLeague={ league }
|
||||||
leaguePokemon={ leaguePokemon }
|
leaguePokemon={ leaguePokemon }
|
||||||
individualValues={ individualValues }
|
individualValues={ individualValues }
|
||||||
handleChangeIndividualValue={ this.handleChangeIndividualValue }
|
handleChangeIndividualValue={ this.handleChangeIndividualValue }
|
||||||
handleMaximizeLevel={ this.handleMaximizeLevel }
|
handleMaximizeLevel={ this.handleMaximizeLevel }
|
||||||
handleChangeLeague={ this.handleChangeLeagueNavigation }
|
handleChangeLeague={ this.handleChangeLeague }
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
{ activeNavigation === 'types' && leaguePokemon !== null &&
|
</div>
|
||||||
|
{ widgets.types && leaguePokemon !== null &&
|
||||||
<TypeEffectiveDisplay
|
<TypeEffectiveDisplay
|
||||||
effectiveness={ leaguePokemon.effectiveness }
|
effectiveness={ leaguePokemon.effectiveness }
|
||||||
pokemonName={ leaguePokemon.name }
|
pokemonName={ leaguePokemon.name }
|
||||||
@ -189,9 +207,9 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
}
|
}
|
||||||
<div className={ leftNavCss }>
|
<div className={ leftNavCss }>
|
||||||
<button className={ pokedexButtonCss } onClick={ this.handlePokedexClick }><i className={ pokedexCss } /></button>
|
<button className={ pokedexButtonCss } onClick={ this.handlePokedexClick }><i className={ pokedexCss } /></button>
|
||||||
<button className={ pvpButtonCss } onClick={ this.handleTypesClick }><i className={ pvpCss } /></button>
|
<button className={ pvpButtonCss } onClick={ this.handlePvpClick }><i className={ pvpCss } /></button>
|
||||||
<button className={ badgeButtonCss } onClick={ this.handleTypesClick }><i className={ badgeCss } /></button>
|
<button className={ badgeButtonCss } onClick={ this.handleTypesClick }><i className={ badgeCss } /></button>
|
||||||
<button className={ tmButtonCss } onClick={ this.handleTypesClick }><i className={ tmCss } /></button>
|
<button className={ tmButtonCss } onClick={ this.handleMovesClick }><i className={ tmCss } /></button>
|
||||||
</div>
|
</div>
|
||||||
{ isOverlayShown &&
|
{ isOverlayShown &&
|
||||||
<div className={ styles.overlay } onClick={ this.handleOverlayClick } />
|
<div className={ styles.overlay } onClick={ this.handleOverlayClick } />
|
||||||
@ -225,9 +243,33 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly handleTypesClick = () => {
|
private readonly handlePvpClick = () => {
|
||||||
|
const widgets = this.state.widgets;
|
||||||
this.setState({
|
this.setState({
|
||||||
activeNavigation: this.state.activeNavigation !== 'types' ? 'types' : null,
|
widgets: {
|
||||||
|
...widgets,
|
||||||
|
pvp: !widgets.pvp
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly handleTypesClick = () => {
|
||||||
|
const widgets = this.state.widgets;
|
||||||
|
this.setState({
|
||||||
|
widgets: {
|
||||||
|
...widgets,
|
||||||
|
types: !widgets.types
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly handleMovesClick = () => {
|
||||||
|
const widgets = this.state.widgets;
|
||||||
|
this.setState({
|
||||||
|
widgets: {
|
||||||
|
...widgets,
|
||||||
|
moves: !widgets.moves
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { action } from 'typesafe-actions';
|
import { action } from 'typesafe-actions';
|
||||||
|
|
||||||
import { ThunkResult } from 'app/types';
|
import { PokemonExplorerActionTypes, ThunkResult } from 'app/types';
|
||||||
import { PokemonExplorerActionTypes } from './types';
|
|
||||||
|
|
||||||
import { calculateMaxLevelForLeague } from 'app/utils/calculator';
|
import { calculateMaxLevelForLeague } from 'app/utils/calculator';
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import * as styles from '../styles/PokemonApp.scss';
|
import * as styles from 'app/styles/PokemonApp.scss';
|
||||||
|
|
||||||
interface IFooterProps {}
|
interface IFooterProps {}
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { Link } from 'react-router-dom';
|
|||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import * as styles from '../styles/PokemonApp.scss';
|
import * as styles from 'app/styles/PokemonApp.scss';
|
||||||
|
|
||||||
interface IHeaderProps {}
|
interface IHeaderProps {}
|
||||||
|
|
||||||
|
|||||||
@ -2,9 +2,9 @@ import React from 'react';
|
|||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { IIndividualValues, IndividualValueKey } from './types';
|
import { IIndividualValues, IndividualValueKey } from '../types';
|
||||||
|
|
||||||
import * as styles from './styles/IvForm.scss';
|
import * as styles from 'app/styles/IvForm.scss';
|
||||||
|
|
||||||
export interface IIvFormProps {
|
export interface IIvFormProps {
|
||||||
ivs : IIndividualValues;
|
ivs : IIndividualValues;
|
||||||
@ -6,14 +6,14 @@ import { IBestWorstStats, ILeaguePokemon, League, MaxCpByLeague } from 'app/mode
|
|||||||
import { Grade, IStats } from 'app/models/Pokemon';
|
import { Grade, IStats } from 'app/models/Pokemon';
|
||||||
import { calculateCp, calculateStatAtLevel } from 'app/utils/calculator';
|
import { calculateCp, calculateStatAtLevel } from 'app/utils/calculator';
|
||||||
|
|
||||||
import { IIndividualValues, IndividualValueKey } from './types';
|
import { IIndividualValues, IndividualValueKey } from 'app/types';
|
||||||
|
|
||||||
import { IvForm } from './IvForm';
|
import { IvForm } from './IvForm';
|
||||||
import { LeagueSelector } from './LeagueSelector';
|
import { LeagueSelector } from './LeagueSelector';
|
||||||
import { LeagueStatsList } from './LeagueStatsList';
|
import { LeagueStatsList } from './LeagueStatsList';
|
||||||
import { StatDisplay } from './StatDisplay';
|
import { StatDisplay } from './StatDisplay';
|
||||||
|
|
||||||
import * as styles from './styles/LeagueIvExplorer.scss';
|
import * as styles from 'app/styles/LeagueIvExplorer.scss';
|
||||||
|
|
||||||
export interface ILeagueIvExplorerProps {
|
export interface ILeagueIvExplorerProps {
|
||||||
activeLeague : League;
|
activeLeague : League;
|
||||||
@ -4,7 +4,7 @@ import classNames from 'classnames';
|
|||||||
|
|
||||||
import { League, LeagueLabels } from 'app/models/League';
|
import { League, LeagueLabels } from 'app/models/League';
|
||||||
|
|
||||||
import * as styles from './styles/LeagueSelector.scss';
|
import * as styles from 'app/styles/LeagueSelector.scss';
|
||||||
|
|
||||||
export interface ILeagueSelectorProps {
|
export interface ILeagueSelectorProps {
|
||||||
activeLeague : League;
|
activeLeague : League;
|
||||||
@ -7,9 +7,9 @@ import { FixedSizeList } from 'react-window';
|
|||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import { Grade, IStats } from 'app/models/Pokemon';
|
import { Grade, IStats } from 'app/models/Pokemon';
|
||||||
import { IIndividualValues } from './types';
|
import { IIndividualValues } from 'app/types';
|
||||||
|
|
||||||
import * as styles from './styles/LeagueStatsList.scss';
|
import * as styles from 'app/styles/LeagueStatsList.scss';
|
||||||
|
|
||||||
export interface ILeagueStatsListProps {
|
export interface ILeagueStatsListProps {
|
||||||
activePokemonId : POGOProtos.Enums.PokemonId;
|
activePokemonId : POGOProtos.Enums.PokemonId;
|
||||||
@ -11,7 +11,7 @@ import { formatDexNumber, formatForm, Forms } from 'app/utils/formatter';
|
|||||||
import { StatDisplay } from './StatDisplay';
|
import { StatDisplay } from './StatDisplay';
|
||||||
import { TypeIndicator } from './TypeIndicator';
|
import { TypeIndicator } from './TypeIndicator';
|
||||||
|
|
||||||
import * as styles from './styles/PokemonDisplay.scss';
|
import * as styles from 'app/styles/PokemonDisplay.scss';
|
||||||
|
|
||||||
export interface IPokemonDisplay {
|
export interface IPokemonDisplay {
|
||||||
leaguePokemon : IPokemon;
|
leaguePokemon : IPokemon;
|
||||||
@ -1,54 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
|
|
||||||
import classNames from 'classnames';
|
|
||||||
|
|
||||||
import { ILeagueIvExplorerProps, LeagueIvExplorer } from './LeagueIvExplorer';
|
|
||||||
import { PokemonDisplay } from './PokemonDisplay';
|
|
||||||
|
|
||||||
import * as styles from './styles/PokemonExplorer.scss';
|
|
||||||
|
|
||||||
export interface IPokemonExplorerProps extends ILeagueIvExplorerProps {
|
|
||||||
temporaryNavigationIsActive : boolean;
|
|
||||||
className? : string;
|
|
||||||
isLoading : boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export class PokemonExplorer extends React.Component<IPokemonExplorerProps> {
|
|
||||||
|
|
||||||
public render() {
|
|
||||||
const {
|
|
||||||
temporaryNavigationIsActive,
|
|
||||||
className,
|
|
||||||
activeLeague,
|
|
||||||
individualValues,
|
|
||||||
leaguePokemon,
|
|
||||||
handleChangeLeague,
|
|
||||||
handleChangeIndividualValue,
|
|
||||||
handleMaximizeLevel,
|
|
||||||
} = this.props;
|
|
||||||
|
|
||||||
const wrapperCss = classNames(
|
|
||||||
styles.wrapper,
|
|
||||||
className
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<React.Fragment>
|
|
||||||
<div className={ wrapperCss }>
|
|
||||||
<PokemonDisplay
|
|
||||||
leaguePokemon={ leaguePokemon }
|
|
||||||
temporaryNavigationIsActive={ temporaryNavigationIsActive }
|
|
||||||
/>
|
|
||||||
<LeagueIvExplorer
|
|
||||||
activeLeague={ activeLeague }
|
|
||||||
leaguePokemon={ leaguePokemon }
|
|
||||||
individualValues={ individualValues }
|
|
||||||
handleChangeIndividualValue={ handleChangeIndividualValue }
|
|
||||||
handleMaximizeLevel={ handleMaximizeLevel }
|
|
||||||
handleChangeLeague={ handleChangeLeague }
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</React.Fragment>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
@import '~styles/Variables.scss';
|
|
||||||
|
|
||||||
.wrapper {
|
|
||||||
margin: 0 auto;
|
|
||||||
// flex-basis: 30rem;
|
|
||||||
width: 30rem;
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-evenly;
|
|
||||||
|
|
||||||
.leftColumn,
|
|
||||||
.rightColumn {
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
flex-basis: 45%;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.leftColumn {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rightColumn {
|
|
||||||
flex-grow: 1;
|
|
||||||
align-items: start;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
// This file is automatically generated.
|
|
||||||
// Please do not change this file!
|
|
||||||
export const container: string;
|
|
||||||
export const leftColumn: string;
|
|
||||||
export const rightColumn: string;
|
|
||||||
export const wrapper: string;
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
import { ILeaguePokemon, League } from 'app/models/League';
|
|
||||||
import { IMaxStats } from 'app/models/Pokemon';
|
|
||||||
|
|
||||||
export type IndividualValueKey = 'level' | 'hp' | 'atk' | 'def';
|
|
||||||
export interface IIndividualValues {
|
|
||||||
level : number | null;
|
|
||||||
ivHp : number | null;
|
|
||||||
ivAtk : number | null;
|
|
||||||
ivDef : number | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface IPokemonExplorerState {
|
|
||||||
isLoading : boolean;
|
|
||||||
leaguePokemon : ILeaguePokemon | null;
|
|
||||||
maxPossibleStats : IMaxStats;
|
|
||||||
individualValues : IIndividualValues;
|
|
||||||
league : League;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const PokemonExplorerActionTypes = {
|
|
||||||
SET_IS_LOADING: 'POKEMON_EXPLORER/SET_IS_LOADING',
|
|
||||||
SET_MAX_STATS: 'POKEMON_EXPLORER/SET_MAX_STATS',
|
|
||||||
SET_LEAGUE_POKEMON: 'POKEMON_EXPLORER/SET_LEAGUE_POKEMON',
|
|
||||||
SET_IV_LEVEL: 'POKEMON_EXPLORER/SET_IV_LEVEL',
|
|
||||||
SET_IV_HP: 'POKEMON_EXPLORER/SET_IV_HP',
|
|
||||||
SET_IV_ATK: 'POKEMON_EXPLORER/SET_IV_ATK',
|
|
||||||
SET_IV_DEF: 'POKEMON_EXPLORER/SET_IV_DEF',
|
|
||||||
SET_ACTIVE_LEAGUE: 'POKEMON_EXPLORER/SET_ACTIVE_LEAGUE',
|
|
||||||
};
|
|
||||||
@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import * as styles from './styles/StatDisplay.scss';
|
import * as styles from 'app/styles/StatDisplay.scss';
|
||||||
|
|
||||||
export interface IStartDisplayProps {
|
export interface IStartDisplayProps {
|
||||||
statLabel : string;
|
statLabel : string;
|
||||||
@ -6,7 +6,7 @@ import { IPokemon, TypeEffectiveness } from 'app/models/Pokemon';
|
|||||||
|
|
||||||
import { TypeIndicator } from './TypeIndicator';
|
import { TypeIndicator } from './TypeIndicator';
|
||||||
|
|
||||||
import * as styles from './styles/TypeEffectiveDisplay.scss';
|
import * as styles from 'app/styles/TypeEffectiveDisplay.scss';
|
||||||
|
|
||||||
export interface ITypeEffectiveDisplayProps {
|
export interface ITypeEffectiveDisplayProps {
|
||||||
pokemonName : string;
|
pokemonName : string;
|
||||||
@ -6,7 +6,7 @@ import classNames from 'classnames';
|
|||||||
|
|
||||||
import { formatType } from 'app/utils/formatter';
|
import { formatType } from 'app/utils/formatter';
|
||||||
|
|
||||||
import * as styles from './styles/TypeIndicator.scss';
|
import * as styles from 'app/styles/TypeIndicator.scss';
|
||||||
|
|
||||||
export interface ITypeEffectiveDisplayProps {
|
export interface ITypeEffectiveDisplayProps {
|
||||||
className? : string;
|
className? : string;
|
||||||
@ -9,8 +9,8 @@ import { IPokemonAppExtraArguments } from 'app/types';
|
|||||||
|
|
||||||
import { PokemonService } from 'api/PokemonService';
|
import { PokemonService } from 'api/PokemonService';
|
||||||
|
|
||||||
import { PokemonExplorerReducers } from './components/PokemonExplorer/reducers';
|
import { PokemonSelectListReducers } from 'app/components/PokemonSelectList/reducers';
|
||||||
import { PokemonSelectListReducers } from './components/PokemonSelectList/reducers';
|
import { PokemonExplorerReducers } from 'app/reducers';
|
||||||
|
|
||||||
import { ConnectedPokemonApp } from './PokemonApp';
|
import { ConnectedPokemonApp } from './PokemonApp';
|
||||||
|
|
||||||
|
|||||||
@ -2,8 +2,8 @@ import { Reducer } from 'redux';
|
|||||||
|
|
||||||
import { League } from 'app/models/League';
|
import { League } from 'app/models/League';
|
||||||
|
|
||||||
import * as Actions from './actions';
|
import * as Actions from 'app/actions';
|
||||||
import { IPokemonExplorerState, PokemonExplorerActionTypes } from './types';
|
import { IPokemonExplorerState, PokemonExplorerActionTypes } from 'app/types';
|
||||||
|
|
||||||
export const initialState : IPokemonExplorerState = {
|
export const initialState : IPokemonExplorerState = {
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
@ -1,16 +1,16 @@
|
|||||||
@import '~styles/Variables.scss';
|
@import '~styles/Variables.scss';
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
composes: container from './PokemonExplorer.scss';
|
composes: container from './PokemonApp.scss';
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.leftColumn {
|
.leftColumn {
|
||||||
composes: leftColumn from './PokemonExplorer.scss';
|
composes: leftColumn from './PokemonApp.scss';
|
||||||
}
|
}
|
||||||
|
|
||||||
.rightColumn {
|
.rightColumn {
|
||||||
composes: rightColumn from './PokemonExplorer.scss';
|
composes: rightColumn from './PokemonApp.scss';
|
||||||
}
|
}
|
||||||
|
|
||||||
.leaguePokemonRank {
|
.leaguePokemonRank {
|
||||||
@ -75,3 +75,33 @@ $overlay-opacity: 0.7;
|
|||||||
background-color: $main-overlay-color;
|
background-color: $main-overlay-color;
|
||||||
opacity: $overlay-opacity;
|
opacity: $overlay-opacity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.displayWrapper {
|
||||||
|
margin: 0 auto;
|
||||||
|
// flex-basis: 30rem;
|
||||||
|
width: 30rem;
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
|
||||||
|
.leftColumn,
|
||||||
|
.rightColumn {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
flex-basis: 45%;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftColumn {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightColumn {
|
||||||
|
flex-grow: 1;
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
4
src/ts/app/styles/PokemonApp.scss.d.ts
vendored
4
src/ts/app/styles/PokemonApp.scss.d.ts
vendored
@ -2,10 +2,14 @@
|
|||||||
// Please do not change this file!
|
// Please do not change this file!
|
||||||
export const activeNavigationButton: string;
|
export const activeNavigationButton: string;
|
||||||
export const body: string;
|
export const body: string;
|
||||||
|
export const container: string;
|
||||||
|
export const displayWrapper: string;
|
||||||
export const footer: string;
|
export const footer: string;
|
||||||
export const header: string;
|
export const header: string;
|
||||||
export const highlight: string;
|
export const highlight: string;
|
||||||
|
export const leftColumn: string;
|
||||||
export const leftNavigation: string;
|
export const leftNavigation: string;
|
||||||
export const overlaid: string;
|
export const overlaid: string;
|
||||||
export const overlay: string;
|
export const overlay: string;
|
||||||
|
export const rightColumn: string;
|
||||||
export const wrapper: string;
|
export const wrapper: string;
|
||||||
|
|||||||
@ -1,22 +1,22 @@
|
|||||||
@import '~styles/Variables.scss';
|
@import '~styles/Variables.scss';
|
||||||
|
|
||||||
.highlight {
|
.highlight {
|
||||||
composes: highlight from '../../../styles/PokemonApp.scss';
|
composes: highlight from './PokemonApp.scss';
|
||||||
color: $main-active-font-color;
|
color: $main-active-font-color;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pokemonInfoWrapper {
|
.pokemonInfoWrapper {
|
||||||
composes: container from './PokemonExplorer.scss';
|
composes: container from './PokemonApp.scss';
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pokemonInfoLeftColumn {
|
.pokemonInfoLeftColumn {
|
||||||
composes: leftColumn from './PokemonExplorer.scss';
|
composes: leftColumn from './PokemonApp.scss';
|
||||||
}
|
}
|
||||||
|
|
||||||
.pokemonInfoRightColumn {
|
.pokemonInfoRightColumn {
|
||||||
composes: rightColumn from './PokemonExplorer.scss';
|
composes: rightColumn from './PokemonApp.scss';
|
||||||
}
|
}
|
||||||
|
|
||||||
.pokemonName {
|
.pokemonName {
|
||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
.multiplierWrapper {
|
.multiplierWrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
z-index: 0; // so the contents don't show up over the overlay
|
||||||
padding-top: 6px;
|
padding-top: 6px;
|
||||||
padding-right: 6px;
|
padding-right: 6px;
|
||||||
|
|
||||||
@ -3,8 +3,10 @@ import { ThunkAction, ThunkDispatch } from 'redux-thunk';
|
|||||||
|
|
||||||
import { IProviderExtraArguments } from 'common/models/IProviderExtraArguments';
|
import { IProviderExtraArguments } from 'common/models/IProviderExtraArguments';
|
||||||
|
|
||||||
import { IPokemonExplorerState } from './components/PokemonExplorer/types';
|
import { IPokemonSelectListState } from 'app/components/PokemonSelectList/types';
|
||||||
import { IPokemonSelectListState } from './components/PokemonSelectList/types';
|
|
||||||
|
import { ILeaguePokemon, League } from 'app/models/League';
|
||||||
|
import { IMaxStats } from 'app/models/Pokemon';
|
||||||
|
|
||||||
import { PokemonService } from 'api/PokemonService';
|
import { PokemonService } from 'api/PokemonService';
|
||||||
|
|
||||||
@ -26,3 +28,30 @@ type ThunkDispatchPokemonApp = ThunkDispatch<IPokemonAppStore, IPokemonAppExtraA
|
|||||||
export interface IPokemonAppDispatch {
|
export interface IPokemonAppDispatch {
|
||||||
dispatch : ThunkDispatchPokemonApp;
|
dispatch : ThunkDispatchPokemonApp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type IndividualValueKey = 'level' | 'hp' | 'atk' | 'def';
|
||||||
|
export interface IIndividualValues {
|
||||||
|
level : number | null;
|
||||||
|
ivHp : number | null;
|
||||||
|
ivAtk : number | null;
|
||||||
|
ivDef : number | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IPokemonExplorerState {
|
||||||
|
isLoading : boolean;
|
||||||
|
leaguePokemon : ILeaguePokemon | null;
|
||||||
|
maxPossibleStats : IMaxStats;
|
||||||
|
individualValues : IIndividualValues;
|
||||||
|
league : League;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const PokemonExplorerActionTypes = {
|
||||||
|
SET_IS_LOADING: 'POKEMON_EXPLORER/SET_IS_LOADING',
|
||||||
|
SET_MAX_STATS: 'POKEMON_EXPLORER/SET_MAX_STATS',
|
||||||
|
SET_LEAGUE_POKEMON: 'POKEMON_EXPLORER/SET_LEAGUE_POKEMON',
|
||||||
|
SET_IV_LEVEL: 'POKEMON_EXPLORER/SET_IV_LEVEL',
|
||||||
|
SET_IV_HP: 'POKEMON_EXPLORER/SET_IV_HP',
|
||||||
|
SET_IV_ATK: 'POKEMON_EXPLORER/SET_IV_ATK',
|
||||||
|
SET_IV_DEF: 'POKEMON_EXPLORER/SET_IV_DEF',
|
||||||
|
SET_ACTIVE_LEAGUE: 'POKEMON_EXPLORER/SET_ACTIVE_LEAGUE',
|
||||||
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user