finish desktop layout
This commit is contained in:
parent
008e249908
commit
b3f02787bc
87
dist/app.css
vendored
87
dist/app.css
vendored
@ -14,28 +14,42 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row nowrap;
|
flex-flow: row nowrap;
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
position: relative; }
|
position: relative;
|
||||||
|
padding-bottom: 60px; }
|
||||||
|
|
||||||
.PokemonApp__header__2s_s2 {
|
.PokemonApp__header__2s_s2 {
|
||||||
display: flex;
|
flex: 0 0 auto;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0.5rem 1rem;
|
padding: 0.5rem 1rem;
|
||||||
margin: 0.1em; }
|
position: sticky;
|
||||||
|
top: 0; }
|
||||||
.PokemonApp__header__2s_s2 a {
|
.PokemonApp__header__2s_s2 a {
|
||||||
display: inline-block; }
|
display: inline-block; }
|
||||||
|
|
||||||
.PokemonApp__footer__3q19Q {
|
.PokemonApp__footer__3q19Q {
|
||||||
height: 60px; }
|
height: 60px;
|
||||||
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0; }
|
||||||
|
|
||||||
.PokemonApp__leftNavigation__1rBU9 {
|
.PokemonApp__header__2s_s2,
|
||||||
padding: 1em;
|
.PokemonApp__footer__3q19Q {
|
||||||
position: relative;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column nowrap; }
|
margin: 0.1em;
|
||||||
|
z-index: 10; }
|
||||||
|
|
||||||
|
.PokemonApp__navigation__26Mp5 {
|
||||||
|
padding: 1em;
|
||||||
|
position: sticky;
|
||||||
|
top: 90px;
|
||||||
|
display: inline-flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
align-self: flex-start; }
|
||||||
|
|
||||||
.PokemonApp__header__2s_s2 button,
|
.PokemonApp__header__2s_s2 button,
|
||||||
.PokemonApp__leftNavigation__1rBU9 button {
|
.PokemonApp__navigation__26Mp5 button {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
outline: none;
|
outline: none;
|
||||||
@ -50,12 +64,15 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
opacity: 0.7; }
|
opacity: 0.7; }
|
||||||
|
.PokemonApp__overlay__2vc-r.PokemonApp__complete__h3L_s {
|
||||||
|
z-index: 1; }
|
||||||
|
|
||||||
|
.PokemonApp__navigationWrapper__3oyCI {
|
||||||
|
display: flex;
|
||||||
|
margin: 0 auto; }
|
||||||
|
|
||||||
.PokemonApp__displayWrapper__2PiN5 {
|
.PokemonApp__displayWrapper__2PiN5 {
|
||||||
margin: 0 auto;
|
margin: 0 auto; }
|
||||||
display: flex;
|
|
||||||
flex-flow: column wrap;
|
|
||||||
align-content: center; }
|
|
||||||
.PokemonApp__displayWrapper__2PiN5 > * {
|
.PokemonApp__displayWrapper__2PiN5 > * {
|
||||||
width: 425px;
|
width: 425px;
|
||||||
margin: 0 1em; }
|
margin: 0 1em; }
|
||||||
@ -147,28 +164,42 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row nowrap;
|
flex-flow: row nowrap;
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
position: relative; }
|
position: relative;
|
||||||
|
padding-bottom: 60px; }
|
||||||
|
|
||||||
.PokemonApp__header__2s_s2 {
|
.PokemonApp__header__2s_s2 {
|
||||||
display: flex;
|
flex: 0 0 auto;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0.5rem 1rem;
|
padding: 0.5rem 1rem;
|
||||||
margin: 0.1em; }
|
position: sticky;
|
||||||
|
top: 0; }
|
||||||
.PokemonApp__header__2s_s2 a {
|
.PokemonApp__header__2s_s2 a {
|
||||||
display: inline-block; }
|
display: inline-block; }
|
||||||
|
|
||||||
.PokemonApp__footer__3q19Q {
|
.PokemonApp__footer__3q19Q {
|
||||||
height: 60px; }
|
height: 60px;
|
||||||
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0; }
|
||||||
|
|
||||||
.PokemonApp__leftNavigation__1rBU9 {
|
.PokemonApp__header__2s_s2,
|
||||||
padding: 1em;
|
.PokemonApp__footer__3q19Q {
|
||||||
position: relative;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column nowrap; }
|
margin: 0.1em;
|
||||||
|
z-index: 10; }
|
||||||
|
|
||||||
|
.PokemonApp__navigation__26Mp5 {
|
||||||
|
padding: 1em;
|
||||||
|
position: sticky;
|
||||||
|
top: 90px;
|
||||||
|
display: inline-flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
align-self: flex-start; }
|
||||||
|
|
||||||
.PokemonApp__header__2s_s2 button,
|
.PokemonApp__header__2s_s2 button,
|
||||||
.PokemonApp__leftNavigation__1rBU9 button {
|
.PokemonApp__navigation__26Mp5 button {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
outline: none;
|
outline: none;
|
||||||
@ -183,12 +214,15 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
opacity: 0.7; }
|
opacity: 0.7; }
|
||||||
|
.PokemonApp__overlay__2vc-r.PokemonApp__complete__h3L_s {
|
||||||
|
z-index: 1; }
|
||||||
|
|
||||||
|
.PokemonApp__navigationWrapper__3oyCI {
|
||||||
|
display: flex;
|
||||||
|
margin: 0 auto; }
|
||||||
|
|
||||||
.PokemonApp__displayWrapper__2PiN5 {
|
.PokemonApp__displayWrapper__2PiN5 {
|
||||||
margin: 0 auto;
|
margin: 0 auto; }
|
||||||
display: flex;
|
|
||||||
flex-flow: column wrap;
|
|
||||||
align-content: center; }
|
|
||||||
.PokemonApp__displayWrapper__2PiN5 > * {
|
.PokemonApp__displayWrapper__2PiN5 > * {
|
||||||
width: 425px;
|
width: 425px;
|
||||||
margin: 0 1em; }
|
margin: 0 1em; }
|
||||||
@ -231,6 +265,7 @@
|
|||||||
display: inline; }
|
display: inline; }
|
||||||
|
|
||||||
.LeagueIvExplorer__ivsContainer__31sfb {
|
.LeagueIvExplorer__ivsContainer__31sfb {
|
||||||
|
max-height: 350px;
|
||||||
font-size: 0.95em;
|
font-size: 0.95em;
|
||||||
flex: 0 999 auto;
|
flex: 0 999 auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
42
dist/main-bundle.js
vendored
42
dist/main-bundle.js
vendored
@ -29619,7 +29619,7 @@ function pathToRegexp (path, keys, options) {
|
|||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js because of ./node_modules/react-redux/es/index.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/extends.js because of ./node_modules/react-redux/es/index.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/extends.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js because of ./node_modules/react-redux/es/index.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js because of ./node_modules/react-measure/dist/index.esm.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react/index.js (<- Module is not an ECMAScript module) */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react/index.js (<- Module is not an ECMAScript module) */
|
||||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||||
|
|
||||||
@ -37226,6 +37226,8 @@ Object.defineProperty(exports, "__esModule", {
|
|||||||
|
|
||||||
var react_1 = __importDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
|
var react_1 = __importDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
|
||||||
|
|
||||||
|
var classnames_1 = __importDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"));
|
||||||
|
|
||||||
var styles = __importStar(__webpack_require__(/*! app/styles/PokemonApp.scss */ "./src/ts/app/styles/PokemonApp.scss"));
|
var styles = __importStar(__webpack_require__(/*! app/styles/PokemonApp.scss */ "./src/ts/app/styles/PokemonApp.scss"));
|
||||||
|
|
||||||
var Footer =
|
var Footer =
|
||||||
@ -37242,8 +37244,9 @@ function (_react_1$default$Comp) {
|
|||||||
_createClass(Footer, [{
|
_createClass(Footer, [{
|
||||||
key: "render",
|
key: "render",
|
||||||
value: function render() {
|
value: function render() {
|
||||||
|
var footerCss = classnames_1.default('nes-container', styles.footer);
|
||||||
return react_1.default.createElement("footer", {
|
return react_1.default.createElement("footer", {
|
||||||
className: styles.footer
|
className: footerCss
|
||||||
}, react_1.default.createElement("div", null));
|
}, react_1.default.createElement("div", null));
|
||||||
}
|
}
|
||||||
}]);
|
}]);
|
||||||
@ -39003,8 +39006,10 @@ function (_react_1$default$Comp) {
|
|||||||
selectedCombatMoves = _this$props$pokemonEx.selectedCombatMoves,
|
selectedCombatMoves = _this$props$pokemonEx.selectedCombatMoves,
|
||||||
combatMoveSelectorsOpen = _this$props$pokemonEx.combatMoveSelectorsOpen;
|
combatMoveSelectorsOpen = _this$props$pokemonEx.combatMoveSelectorsOpen;
|
||||||
var widgets = this.state.widgets;
|
var widgets = this.state.widgets;
|
||||||
var isOverlayShown = this.props.isOverlaid || combatMoveSelectorsOpen.quickMove || combatMoveSelectorsOpen.chargeMove1 || combatMoveSelectorsOpen.chargeMove2;
|
var isSelectingMove = combatMoveSelectorsOpen.quickMove || combatMoveSelectorsOpen.chargeMove1 || combatMoveSelectorsOpen.chargeMove2;
|
||||||
var leftNavCss = classnames_1.default(styles.leftNavigation);
|
var isOverlayShown = this.props.isOverlaid || isSelectingMove;
|
||||||
|
var navWrapperCss = classnames_1.default(styles.navigationWrapper);
|
||||||
|
var navCss = classnames_1.default(styles.navigation);
|
||||||
var displayWrapperCss = classnames_1.default(styles.displayWrapper);
|
var displayWrapperCss = classnames_1.default(styles.displayWrapper);
|
||||||
var iconCss = classnames_1.default('icon', 'pixel', 'sprite');
|
var iconCss = classnames_1.default('icon', 'pixel', 'sprite');
|
||||||
var pvpCss = classnames_1.default(iconCss, 'pvp', {
|
var pvpCss = classnames_1.default(iconCss, 'pvp', {
|
||||||
@ -39018,13 +39023,16 @@ function (_react_1$default$Comp) {
|
|||||||
var tmCss = classnames_1.default(iconCss, 'tm', {
|
var tmCss = classnames_1.default(iconCss, 'tm', {
|
||||||
active: widgets.moves
|
active: widgets.moves
|
||||||
});
|
});
|
||||||
var tmButtonCss = classnames_1.default(); // weaknesses are indicated by types that cause super effective damage on defense
|
var tmButtonCss = classnames_1.default();
|
||||||
|
var overLayCss = classnames_1.default(styles.overlay, _defineProperty({}, styles.complete, isSelectingMove)); // weaknesses are indicated by types that cause super effective damage on defense
|
||||||
|
|
||||||
var pokemonTypeWeaknesses = leaguePokemon !== null ? this.getSuperEffectiveTypes(leaguePokemon.effectiveness) : []; // strengths are indicuated by types that do super effective damage on offense
|
var pokemonTypeWeaknesses = leaguePokemon !== null ? this.getSuperEffectiveTypes(leaguePokemon.effectiveness) : []; // strengths are indicuated by types that do super effective damage on offense
|
||||||
|
|
||||||
var moveTypeStrengths = this.getSuperEffectiveTypes(types_1.calculateTypeCoverage(selectedCombatMoves, combatMoves, attackTypeEffectiveness));
|
var moveTypeStrengths = this.getSuperEffectiveTypes(types_1.calculateTypeCoverage(selectedCombatMoves, combatMoves, attackTypeEffectiveness));
|
||||||
return react_1.default.createElement("div", {
|
return react_1.default.createElement("div", {
|
||||||
className: styles.body
|
className: styles.body
|
||||||
|
}, react_1.default.createElement("div", {
|
||||||
|
className: navWrapperCss
|
||||||
}, react_1.default.createElement("div", {
|
}, react_1.default.createElement("div", {
|
||||||
className: displayWrapperCss
|
className: displayWrapperCss
|
||||||
}, leaguePokemon !== null && react_1.default.createElement(PokemonDisplay_1.PokemonDisplay, {
|
}, leaguePokemon !== null && react_1.default.createElement(PokemonDisplay_1.PokemonDisplay, {
|
||||||
@ -39038,14 +39046,7 @@ function (_react_1$default$Comp) {
|
|||||||
mode: TypeEffectiveDisplay_1.EffectivenessMode.DEFENSE,
|
mode: TypeEffectiveDisplay_1.EffectivenessMode.DEFENSE,
|
||||||
effectiveness: leaguePokemon.effectiveness,
|
effectiveness: leaguePokemon.effectiveness,
|
||||||
coverage: moveTypeStrengths
|
coverage: moveTypeStrengths
|
||||||
})), widgets.pvp && leaguePokemon !== null && react_1.default.createElement(LeagueIvExplorer_1.LeagueIvExplorer, {
|
})), widgets.moves && leaguePokemon !== null && react_1.default.createElement(MovesExplorer_1.MovesExplorer, {
|
||||||
activeLeague: league,
|
|
||||||
leaguePokemon: leaguePokemon,
|
|
||||||
individualValues: individualValues,
|
|
||||||
handleChangeIndividualValue: this.handleChangeIndividualValue,
|
|
||||||
handleMaximizeLevel: this.handleMaximizeLevel,
|
|
||||||
handleChangeLeague: this.handleChangeLeague
|
|
||||||
}), widgets.moves && leaguePokemon !== null && react_1.default.createElement(MovesExplorer_1.MovesExplorer, {
|
|
||||||
movesById: combatMoves,
|
movesById: combatMoves,
|
||||||
quickMoves: leaguePokemon.moves.quick,
|
quickMoves: leaguePokemon.moves.quick,
|
||||||
chargeMoves: leaguePokemon.moves.cinematic,
|
chargeMoves: leaguePokemon.moves.cinematic,
|
||||||
@ -39055,8 +39056,15 @@ function (_react_1$default$Comp) {
|
|||||||
combatMoveSelectorsOpen: combatMoveSelectorsOpen,
|
combatMoveSelectorsOpen: combatMoveSelectorsOpen,
|
||||||
handleToggleDropdownOpen: this.handleToggleDropdownOpen,
|
handleToggleDropdownOpen: this.handleToggleDropdownOpen,
|
||||||
handleChangeSelectedMove: this.handleChangeSelectedMove
|
handleChangeSelectedMove: this.handleChangeSelectedMove
|
||||||
|
}), widgets.pvp && leaguePokemon !== null && react_1.default.createElement(LeagueIvExplorer_1.LeagueIvExplorer, {
|
||||||
|
activeLeague: league,
|
||||||
|
leaguePokemon: leaguePokemon,
|
||||||
|
individualValues: individualValues,
|
||||||
|
handleChangeIndividualValue: this.handleChangeIndividualValue,
|
||||||
|
handleMaximizeLevel: this.handleMaximizeLevel,
|
||||||
|
handleChangeLeague: this.handleChangeLeague
|
||||||
})), react_1.default.createElement("div", {
|
})), react_1.default.createElement("div", {
|
||||||
className: leftNavCss
|
className: navCss
|
||||||
}, react_1.default.createElement("button", {
|
}, react_1.default.createElement("button", {
|
||||||
className: pvpButtonCss,
|
className: pvpButtonCss,
|
||||||
onClick: this.handlePvpClick
|
onClick: this.handlePvpClick
|
||||||
@ -39072,8 +39080,8 @@ function (_react_1$default$Comp) {
|
|||||||
onClick: this.handleMovesClick
|
onClick: this.handleMovesClick
|
||||||
}, react_1.default.createElement("i", {
|
}, react_1.default.createElement("i", {
|
||||||
className: tmCss
|
className: tmCss
|
||||||
}))), isOverlayShown && react_1.default.createElement("div", {
|
})))), isOverlayShown && react_1.default.createElement("div", {
|
||||||
className: styles.overlay,
|
className: overLayCss,
|
||||||
onClick: this.handleOverlayClick
|
onClick: this.handleOverlayClick
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -40875,7 +40883,7 @@ exports.PokemonAppReducers = function () {
|
|||||||
/***/ (function(module, exports, __webpack_require__) {
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
// extracted by mini-css-extract-plugin
|
// extracted by mini-css-extract-plugin
|
||||||
module.exports = {"wrapper":"PokemonApp__wrapper__3ZEoC","overlaid":"PokemonApp__overlaid__3B_Ol","highlight":"PokemonApp__highlight__1zywH","body":"PokemonApp__body__23cv_","header":"PokemonApp__header__2s_s2","footer":"PokemonApp__footer__3q19Q","leftNavigation":"PokemonApp__leftNavigation__1rBU9","overlay":"PokemonApp__overlay__2vc-r","displayWrapper":"PokemonApp__displayWrapper__2PiN5","container":"PokemonApp__container__MsUHy","leftColumn":"PokemonApp__leftColumn__3Lv_L","rightColumn":"PokemonApp__rightColumn__1xE25"};
|
module.exports = {"wrapper":"PokemonApp__wrapper__3ZEoC","overlaid":"PokemonApp__overlaid__3B_Ol","highlight":"PokemonApp__highlight__1zywH","body":"PokemonApp__body__23cv_","header":"PokemonApp__header__2s_s2","footer":"PokemonApp__footer__3q19Q","navigation":"PokemonApp__navigation__26Mp5","overlay":"PokemonApp__overlay__2vc-r","complete":"PokemonApp__complete__h3L_s","navigationWrapper":"PokemonApp__navigationWrapper__3oyCI","displayWrapper":"PokemonApp__displayWrapper__2PiN5","container":"PokemonApp__container__MsUHy","leftColumn":"PokemonApp__leftColumn__3Lv_L","rightColumn":"PokemonApp__rightColumn__1xE25"};
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import * as styles from 'app/styles/PokemonApp.scss';
|
import * as styles from 'app/styles/PokemonApp.scss';
|
||||||
|
|
||||||
interface IFooterProps {}
|
interface IFooterProps {}
|
||||||
@ -7,8 +9,13 @@ interface IFooterProps {}
|
|||||||
export class Footer extends React.Component<IFooterProps> {
|
export class Footer extends React.Component<IFooterProps> {
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
|
const footerCss = classNames(
|
||||||
|
'nes-container',
|
||||||
|
styles.footer
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<footer className={ styles.footer }><div/></footer>
|
<footer className={ footerCss }><div/></footer>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -75,10 +75,14 @@ class PokemonExplorer extends React.Component<IConnectedPokemonExplorerProps, IS
|
|||||||
widgets,
|
widgets,
|
||||||
} = this.state;
|
} = this.state;
|
||||||
|
|
||||||
const isOverlayShown = this.props.isOverlaid || combatMoveSelectorsOpen.quickMove || combatMoveSelectorsOpen.chargeMove1 || combatMoveSelectorsOpen.chargeMove2;
|
const isSelectingMove = combatMoveSelectorsOpen.quickMove || combatMoveSelectorsOpen.chargeMove1 || combatMoveSelectorsOpen.chargeMove2;
|
||||||
|
const isOverlayShown = this.props.isOverlaid || isSelectingMove;
|
||||||
|
|
||||||
const leftNavCss = classNames(
|
const navWrapperCss = classNames(
|
||||||
styles.leftNavigation,
|
styles.navigationWrapper,
|
||||||
|
);
|
||||||
|
const navCss = classNames(
|
||||||
|
styles.navigation,
|
||||||
);
|
);
|
||||||
|
|
||||||
const displayWrapperCss = classNames(
|
const displayWrapperCss = classNames(
|
||||||
@ -128,6 +132,13 @@ class PokemonExplorer extends React.Component<IConnectedPokemonExplorerProps, IS
|
|||||||
// }
|
// }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const overLayCss = classNames(
|
||||||
|
styles.overlay,
|
||||||
|
{
|
||||||
|
[styles.complete]: isSelectingMove
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
// weaknesses are indicated by types that cause super effective damage on defense
|
// weaknesses are indicated by types that cause super effective damage on defense
|
||||||
const pokemonTypeWeaknesses = leaguePokemon !== null ? this.getSuperEffectiveTypes(leaguePokemon.effectiveness) : [];
|
const pokemonTypeWeaknesses = leaguePokemon !== null ? this.getSuperEffectiveTypes(leaguePokemon.effectiveness) : [];
|
||||||
// strengths are indicuated by types that do super effective damage on offense
|
// strengths are indicuated by types that do super effective damage on offense
|
||||||
@ -135,6 +146,7 @@ class PokemonExplorer extends React.Component<IConnectedPokemonExplorerProps, IS
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={ styles.body }>
|
<div className={ styles.body }>
|
||||||
|
<div className={ navWrapperCss }>
|
||||||
<div className={ displayWrapperCss }>
|
<div className={ displayWrapperCss }>
|
||||||
{ leaguePokemon !== null &&
|
{ leaguePokemon !== null &&
|
||||||
<PokemonDisplay
|
<PokemonDisplay
|
||||||
@ -152,16 +164,6 @@ class PokemonExplorer extends React.Component<IConnectedPokemonExplorerProps, IS
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
{ widgets.pvp && leaguePokemon !== null &&
|
|
||||||
<LeagueIvExplorer
|
|
||||||
activeLeague={ league }
|
|
||||||
leaguePokemon={ leaguePokemon }
|
|
||||||
individualValues={ individualValues }
|
|
||||||
handleChangeIndividualValue={ this.handleChangeIndividualValue }
|
|
||||||
handleMaximizeLevel={ this.handleMaximizeLevel }
|
|
||||||
handleChangeLeague={ this.handleChangeLeague }
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
{ widgets.moves && leaguePokemon !== null &&
|
{ widgets.moves && leaguePokemon !== null &&
|
||||||
<MovesExplorer
|
<MovesExplorer
|
||||||
movesById={ combatMoves }
|
movesById={ combatMoves }
|
||||||
@ -175,14 +177,25 @@ class PokemonExplorer extends React.Component<IConnectedPokemonExplorerProps, IS
|
|||||||
handleChangeSelectedMove={ this.handleChangeSelectedMove }
|
handleChangeSelectedMove={ this.handleChangeSelectedMove }
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
{ widgets.pvp && leaguePokemon !== null &&
|
||||||
|
<LeagueIvExplorer
|
||||||
|
activeLeague={ league }
|
||||||
|
leaguePokemon={ leaguePokemon }
|
||||||
|
individualValues={ individualValues }
|
||||||
|
handleChangeIndividualValue={ this.handleChangeIndividualValue }
|
||||||
|
handleMaximizeLevel={ this.handleMaximizeLevel }
|
||||||
|
handleChangeLeague={ this.handleChangeLeague }
|
||||||
|
/>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
<div className={ leftNavCss }>
|
<div className={ navCss }>
|
||||||
<button className={ pvpButtonCss } onClick={ this.handlePvpClick }><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.handleMovesClick }><i className={ tmCss } /></button>
|
<button className={ tmButtonCss } onClick={ this.handleMovesClick }><i className={ tmCss } /></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
{ isOverlayShown &&
|
{ isOverlayShown &&
|
||||||
<div className={ styles.overlay } onClick={ this.handleOverlayClick } />
|
<div className={ overLayCss } onClick={ this.handleOverlayClick } />
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -37,6 +37,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ivsContainer {
|
.ivsContainer {
|
||||||
|
max-height: 350px;
|
||||||
font-size: 0.95em;
|
font-size: 0.95em;
|
||||||
flex: 0 999 auto;
|
flex: 0 999 auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
@import '~styles/Variables.scss';
|
@import '~styles/Variables.scss';
|
||||||
|
|
||||||
$overlay-opacity: 0.7;
|
$overlay-opacity: 0.7;
|
||||||
|
$footer-height: 60px;
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -22,20 +23,17 @@ $overlay-opacity: 0.7;
|
|||||||
flex-flow: row nowrap;
|
flex-flow: row nowrap;
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
padding-bottom: $footer-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
// & > * {
|
|
||||||
// flex-grow: 0;
|
|
||||||
// flex-shrink: 0;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
display: flex;
|
flex: 0 0 auto;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0.5rem 1rem;
|
padding: 0.5rem 1rem;
|
||||||
margin: 0.1em;
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -43,18 +41,31 @@ $overlay-opacity: 0.7;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
height: 60px;
|
height: $footer-height;
|
||||||
}
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
.leftNavigation {
|
bottom: 0;
|
||||||
padding: 1em;
|
left: 0;
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column nowrap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header,
|
.header,
|
||||||
.leftNavigation {
|
.footer {
|
||||||
|
display: flex;
|
||||||
|
margin: 0.1em;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigation {
|
||||||
|
padding: 1em;
|
||||||
|
position: sticky;
|
||||||
|
top: 90px;
|
||||||
|
display: inline-flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header,
|
||||||
|
.navigation {
|
||||||
button {
|
button {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
@ -72,15 +83,19 @@ $overlay-opacity: 0.7;
|
|||||||
left: 0;
|
left: 0;
|
||||||
background-color: $main-overlay-color;
|
background-color: $main-overlay-color;
|
||||||
opacity: $overlay-opacity;
|
opacity: $overlay-opacity;
|
||||||
|
|
||||||
|
&.complete {
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigationWrapper {
|
||||||
|
display: flex;
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.displayWrapper {
|
.displayWrapper {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
// flex-basis: 30rem;
|
|
||||||
// width: 30rem;
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column wrap;
|
|
||||||
align-content: center;
|
|
||||||
|
|
||||||
& > * {
|
& > * {
|
||||||
width: map-get($container-width, 'desktop');
|
width: map-get($container-width, 'desktop');
|
||||||
|
|||||||
4
src/ts/app/styles/PokemonApp.scss.d.ts
vendored
4
src/ts/app/styles/PokemonApp.scss.d.ts
vendored
@ -1,13 +1,15 @@
|
|||||||
// This file is automatically generated.
|
// This file is automatically generated.
|
||||||
// Please do not change this file!
|
// Please do not change this file!
|
||||||
export const body: string;
|
export const body: string;
|
||||||
|
export const complete: string;
|
||||||
export const container: string;
|
export const container: string;
|
||||||
export const displayWrapper: 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 leftColumn: string;
|
||||||
export const leftNavigation: string;
|
export const navigation: string;
|
||||||
|
export const navigationWrapper: string;
|
||||||
export const overlaid: string;
|
export const overlaid: string;
|
||||||
export const overlay: string;
|
export const overlay: string;
|
||||||
export const rightColumn: string;
|
export const rightColumn: string;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user