From 080c811bfce40a6c2099e9b8289a1ff8d8d311aa Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Thu, 4 Aug 2016 21:27:37 +0300 Subject: [PATCH 01/46] Add Devtools & downgrade history package as v3 is not compatible with redux-router --- client/package.json | 6 +++++- client/src/containers/App.jsx | 2 +- client/src/containers/DevTools.jsx | 17 +++++++++++++++++ client/src/containers/Root.jsx | 4 ++++ client/src/index.html | 2 -- client/src/index.js | 2 +- client/src/routes.js | 7 ++++--- client/src/store/index.js | 21 ++++++++------------- 8 files changed, 40 insertions(+), 21 deletions(-) create mode 100644 client/src/containers/DevTools.jsx diff --git a/client/package.json b/client/package.json index 57cecaf..18c2dd0 100644 --- a/client/package.json +++ b/client/package.json @@ -24,8 +24,9 @@ "lint": "./node_modules/.bin/eslint src --ext .js --ext .jsx" }, "dependencies": { + "babel-polyfill": "^6.9.1", "es6-promise": "^3.2.1", - "history": "^3.0.0", + "history": "2.1.2", "react": "^15.3.0", "react-dom": "^15.3.0", "react-redux": "^4.4.5", @@ -71,6 +72,9 @@ "react-transform-catch-errors": "^1.0.2", "react-transform-hmr": "^1.0.4", "redbox-react": "^1.2.10", + "redux-devtools": "^3.3.1", + "redux-devtools-dock-monitor": "^1.1.1", + "redux-devtools-inspector": "^0.7.1", "sass-loader": "^4.0.0", "style-loader": "^0.13.1", "webpack": "^1.13.1", diff --git a/client/src/containers/App.jsx b/client/src/containers/App.jsx index b6615c1..31b9548 100644 --- a/client/src/containers/App.jsx +++ b/client/src/containers/App.jsx @@ -13,7 +13,7 @@ export default class App extends Component { render() { return ( -
+
{this.props.children}
diff --git a/client/src/containers/DevTools.jsx b/client/src/containers/DevTools.jsx new file mode 100644 index 0000000..c2ce818 --- /dev/null +++ b/client/src/containers/DevTools.jsx @@ -0,0 +1,17 @@ +// deps +import React from 'react'; +import { createDevTools } from 'redux-devtools'; + +// components +import DockMonitor from 'redux-devtools-dock-monitor'; +import Inspector from 'redux-devtools-inspector'; + +export default createDevTools( + + + +); diff --git a/client/src/containers/Root.jsx b/client/src/containers/Root.jsx index da0f831..e5d09ca 100644 --- a/client/src/containers/Root.jsx +++ b/client/src/containers/Root.jsx @@ -3,6 +3,9 @@ import React, { Component } from 'react'; import { Provider } from 'react-redux'; import { ReduxRouter } from 'redux-router'; +// components +import DevTools from './DevTools'; + // routes import routes from '../routes'; @@ -19,6 +22,7 @@ export default class Root extends Component { {routes} +
diff --git a/client/src/index.html b/client/src/index.html index f4c6b41..3b20671 100644 --- a/client/src/index.html +++ b/client/src/index.html @@ -12,7 +12,5 @@
- - hello boys diff --git a/client/src/index.js b/client/src/index.js index f4d41d6..0b58514 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -19,7 +19,7 @@ const node = ( ); // test -store.dispatch(LocationActions.loadMap('lolz')); +// store.dispatch(LocationActions.loadMap('lolz')); // render it! render(node, target); diff --git a/client/src/routes.js b/client/src/routes.js index b93d456..8bf19fc 100644 --- a/client/src/routes.js +++ b/client/src/routes.js @@ -1,6 +1,6 @@ // deps import React from 'react'; -import { Route, IndexRoute } from 'react-router'; +import { Route, IndexRoute, IndexRedirect } from 'react-router'; // containers import App from 'containers/App'; @@ -16,9 +16,10 @@ const onCheckAuth = () => { }; const routes = ( - - + + + ); diff --git a/client/src/store/index.js b/client/src/store/index.js index 411babf..80d2f18 100644 --- a/client/src/store/index.js +++ b/client/src/store/index.js @@ -7,33 +7,28 @@ import { createHistory } from 'history'; import thunkMiddleware from 'redux-thunk'; import promiseMiddleware from 'redux-promise-middleware'; import logger from './middlewares/logger'; + +// @TODO: devtools or reactotron ? +import DevTools from '../containers/DevTools'; // import Reactotron from 'reactotron'; // routes & reducers import STATE from './initial-state'; -import routes from '../routes'; import rootReducer from './reducers'; -// middleware enhancers -// const middlewares = [ -// thunkMiddleware, -// promiseMiddleware({ promiseTypeSuffixes: ['PENDING', 'SUCCESS', 'FAILED'] }), -// reduxReactRouter({ routes, createHistory }), -// logger -// // Reactotron.reduxMiddleware -// ]; - // middlewares const middlewares = applyMiddleware( thunkMiddleware, promiseMiddleware({ promiseTypeSuffixes: ['PENDING', 'SUCCESS', 'FAILED'] }), - logger + logger, + // Reactotron.reduxMiddleware ); // enhance store creator const enhanceStore = compose( + reduxReactRouter({ createHistory }), middlewares, - reduxReactRouter({ routes, createHistory }) + DevTools.instrument() ); // expose le store @@ -47,7 +42,7 @@ export default function setupStore(initialState = STATE) { console.log('!!! HOT RELOAD REDUCERS !!!'); module.hot.accept('./reducers', () => { - const nextRootReducer = require('./reducers/index'); + const nextRootReducer = require('./reducers'); store.replaceReducer(nextRootReducer); }); } From 458dd9b17577f043b4b171d13c10d36fa76d6656 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Thu, 4 Aug 2016 22:31:33 +0300 Subject: [PATCH 02/46] Add CSS 'toolkit' :) --- client/src/scss/common/global.scss | 47 ++++++++++ client/src/scss/common/layout.scss | 15 ++++ client/src/scss/main.scss | 14 +++ client/src/scss/tools/helpers.scss | 2 + client/src/scss/tools/helpers/clearfix.scss | 21 +++++ client/src/scss/tools/helpers/strip-unit.scss | 8 ++ client/src/scss/tools/mixins.scss | 4 + client/src/scss/tools/mixins/font-size.scss | 15 ++++ client/src/scss/tools/mixins/placeholder.scss | 52 +++++++++++ client/src/scss/tools/mixins/position.scss | 35 ++++++++ client/src/scss/tools/mixins/responsive.scss | 90 +++++++++++++++++++ client/src/scss/vendor.scss | 1 + 12 files changed, 304 insertions(+) create mode 100644 client/src/scss/common/global.scss create mode 100644 client/src/scss/common/layout.scss create mode 100644 client/src/scss/tools/helpers.scss create mode 100644 client/src/scss/tools/helpers/clearfix.scss create mode 100644 client/src/scss/tools/helpers/strip-unit.scss create mode 100644 client/src/scss/tools/mixins.scss create mode 100644 client/src/scss/tools/mixins/font-size.scss create mode 100644 client/src/scss/tools/mixins/placeholder.scss create mode 100644 client/src/scss/tools/mixins/position.scss create mode 100644 client/src/scss/tools/mixins/responsive.scss create mode 100644 client/src/scss/vendor.scss diff --git a/client/src/scss/common/global.scss b/client/src/scss/common/global.scss new file mode 100644 index 0000000..bcdb369 --- /dev/null +++ b/client/src/scss/common/global.scss @@ -0,0 +1,47 @@ +// ------------------------------------ // +// GLOBAL GENERIC STYLE RULES +// ------------------------------------ // +// note: won't need to touch this most of the time + +// +// Box model +// +html { + box-sizing: border-box; +} + +*, +*:after, +*:before { + box-sizing: inherit; +} + +html, +body { + height: 100%; // force max fill on document +} + +html { + font-size: 62.5%; // set font-size to BASE 10 +} + +body { + // set global body font-size (most used size as base is 16px) + font-size: 14px; + font-size: 1.4rem; +} + +// ensure all text related elements inherit the main font +h1, +h2, +h3, +h4, +h5, +h6, +input, +button, +select, +textarea { + font-family: inherit; // inherit global font + font-weight: inherit; +} diff --git a/client/src/scss/common/layout.scss b/client/src/scss/common/layout.scss new file mode 100644 index 0000000..e81ba75 --- /dev/null +++ b/client/src/scss/common/layout.scss @@ -0,0 +1,15 @@ +// +// App common layout +// +body { + position: relative; + + font-family: Arial, Helvetica, sans-serif; + font-weight: 400; + + background: #eee; +} + +.Page { + position: relative; +} diff --git a/client/src/scss/main.scss b/client/src/scss/main.scss index cfddd0e..25ada66 100644 --- a/client/src/scss/main.scss +++ b/client/src/scss/main.scss @@ -1,3 +1,17 @@ +// Vendor libs +@import 'vendor'; + +// Toolkit +@import "tools/mixins"; +@import "tools/helpers"; + +// Common global + layout +@import 'common/global'; +@import 'common/layout'; + +// +// Custom stuffz here (go components!) +// body { background: #ccc; } diff --git a/client/src/scss/tools/helpers.scss b/client/src/scss/tools/helpers.scss new file mode 100644 index 0000000..db57ff0 --- /dev/null +++ b/client/src/scss/tools/helpers.scss @@ -0,0 +1,2 @@ +@import "helpers/clearfix"; +@import "helpers/strip-unit"; diff --git a/client/src/scss/tools/helpers/clearfix.scss b/client/src/scss/tools/helpers/clearfix.scss new file mode 100644 index 0000000..6e89755 --- /dev/null +++ b/client/src/scss/tools/helpers/clearfix.scss @@ -0,0 +1,21 @@ +/* — Clearfix — */ + +// clearfix helper +%clearfix { + &:before, + &:after { + content:""; + display:table; + } + + &:after { clear:both; } +} +// end clearfix helper + + +// note: we prefer using the term 'clearfix' +// ... but also 'group' (more friendly, yes?) +// TODO: check for 'group' possible style collisions with team ? +.clearfix { + @extend %clearfix; +} diff --git a/client/src/scss/tools/helpers/strip-unit.scss b/client/src/scss/tools/helpers/strip-unit.scss new file mode 100644 index 0000000..6feec09 --- /dev/null +++ b/client/src/scss/tools/helpers/strip-unit.scss @@ -0,0 +1,8 @@ +// strips the unit down to it's core :) +@function strip-unit($number) { + @if type-of($number) == 'number' and not unitless($number) { + @return $number / ($number * 0 + 1); + } + + @return $number; +} diff --git a/client/src/scss/tools/mixins.scss b/client/src/scss/tools/mixins.scss new file mode 100644 index 0000000..aaa8823 --- /dev/null +++ b/client/src/scss/tools/mixins.scss @@ -0,0 +1,4 @@ +@import "mixins/font-size"; +@import "mixins/position"; +@import "mixins/placeholder"; +@import "mixins/responsive"; diff --git a/client/src/scss/tools/mixins/font-size.scss b/client/src/scss/tools/mixins/font-size.scss new file mode 100644 index 0000000..0bae081 --- /dev/null +++ b/client/src/scss/tools/mixins/font-size.scss @@ -0,0 +1,15 @@ +@import '~scss/tools/helpers/strip-unit'; + +@mixin font-size($size: 1px) { + $unitlessSize: strip-unit($size); + + font-size: $unitlessSize + px; + font-size: ($unitlessSize / 10) + rem; +} + +@mixin line-height($size: 1) { + $unitlessSize: strip-unit($size); + + line-height: $unitlessSize + px; + line-height: ($unitlessSize / 10) + rem; +} diff --git a/client/src/scss/tools/mixins/placeholder.scss b/client/src/scss/tools/mixins/placeholder.scss new file mode 100644 index 0000000..0bfbc86 --- /dev/null +++ b/client/src/scss/tools/mixins/placeholder.scss @@ -0,0 +1,52 @@ +// +// Input placeholder text color/size +// +@mixin input-placeholder($color, $size:"", $weight:"400") { + // do NOT group selectors! + + // WebKit, Blink, Edge + &::-webkit-input-placeholder { + color: $color; + @if $size != "" { + font-size: $size; + } + @if $weight != "" { + font-weight: $weight; + } + } + + // Mozilla Firefox 4 to 18 + &:-moz-placeholder { + color: $color; + opacity: 1; + @if $size != "" { + font-size: $size; + } + @if $weight != "" { + font-weight: $weight; + } + } + + // Mozilla Firefox 19+ + &::-moz-placeholder { + color: $color; + opacity: 1; + @if $size != "" { + font-size: $size; + } + @if $weight != "" { + font-weight: $weight; + } + } + + // Internet Explorer 10-11 + &:-ms-input-placeholder { + color: $color; + @if $size != "" { + font-size: $size; + } + @if $weight != "" { + font-weight: $weight; + } + } +} diff --git a/client/src/scss/tools/mixins/position.scss b/client/src/scss/tools/mixins/position.scss new file mode 100644 index 0000000..81a5239 --- /dev/null +++ b/client/src/scss/tools/mixins/position.scss @@ -0,0 +1,35 @@ +// +// Force Hardware Acceleration +// (aka "null" transform hack) +// +@mixin noflicker { + backface-visibility: hidden; + transform: translate3d(0,0,0); +} + +// Translate center +@mixin translateCenter { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +// "Absolute margin auto" hack +@mixin positionCenter { + margin: auto; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +@mixin centerVertically() { + &:before { + content: ''; + display: inline-block; + vertical-align: middle; + height: 100%; + } +} diff --git a/client/src/scss/tools/mixins/responsive.scss b/client/src/scss/tools/mixins/responsive.scss new file mode 100644 index 0000000..c8da588 --- /dev/null +++ b/client/src/scss/tools/mixins/responsive.scss @@ -0,0 +1,90 @@ +/*------------------------------------*\ + RESPONSIVE BREAKPOINTS +\*------------------------------------*/ + +$smallWidth: 320px !default; +$mediumWidth: 768px !default; +$largeWidth: 1024px !default; +$hugeWidth: 1200px !default; + +/*------------------------------------*\ + RESPONSIVE MIXINS +\*------------------------------------*/ + +@mixin fromHeight($height) { + @media only screen and (min-height: $height) { @content; } +} + +@mixin toHeight($height) { + @media only screen and (max-height: $height) { @content; } +} + +@mixin fromWidth($width) { + @media only screen and (min-width: $width) { @content; } +} + +@mixin toWidth($width) { + @media only screen and (max-width: $width) { @content; } +} + +@mixin betweenWidth($minWidth, $maxWidth) { + @media only screen and (min-width: $minWidth) and (max-width: $maxWidth) { @content; } +} + +@mixin responsive($type) { + @if $type == 's' { + @include small { + @content; + } + } + + @if $type == 'm' { + @include medium { + @content; + } + } + + @if $type == 'l' { + @include large { + @content; + } + } + + @if $type == 'xl' { + @include huge { + @content; + } + } +} + +@mixin small { + @include toWidth($mediumWidth - 1px) { @content; }; +} + +@mixin medium { + @include betweenWidth($mediumWidth, $largeWidth - 1px) { @content; }; +} + +@mixin large { + @include betweenWidth($largeWidth, $hugeWidth - 1px) { @content; }; +} + +@mixin huge { + @include fromWidth($hugeWidth) { @content; }; +} + +@mixin from-small { + @include fromWidth($smallWidth) { @content; }; +} + +@mixin from-medium { + @include fromWidth($mediumWidth) { @content; }; +} + +@mixin from-large { + @include fromWidth($largeWidth) { @content; }; +} + +@mixin from-huge { + @include fromWidth($hugeWidth) { @content; }; +} diff --git a/client/src/scss/vendor.scss b/client/src/scss/vendor.scss new file mode 100644 index 0000000..a9d2685 --- /dev/null +++ b/client/src/scss/vendor.scss @@ -0,0 +1 @@ +@import '~normalize.css/normalize.css'; From 9195fc6574d7286d1831de700ae5ca69c660646c Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Thu, 4 Aug 2016 22:41:56 +0300 Subject: [PATCH 03/46] Add normalize.css. @TODO: check why webpack includes it 2 times. Auto include without @import call ? --- client/.eslintrc.js | 1 + client/package.json | 1 + client/src/containers/App.jsx | 6 ------ client/src/containers/Root.jsx | 6 +++++- client/src/scss/main.scss | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client/.eslintrc.js b/client/.eslintrc.js index abdb3ca..8f0014d 100644 --- a/client/.eslintrc.js +++ b/client/.eslintrc.js @@ -24,6 +24,7 @@ module.exports = exports = { 'no-console': OFF, 'no-param-reassign': WARN, 'no-unused-vars': [WARN, { args: 'after-used' }], + 'no-underscore-dangle': OFF, 'react/wrap-multilines': OFF, 'react/jsx-no-bind': OFF, 'react/prefer-stateless-function': OFF diff --git a/client/package.json b/client/package.json index 18c2dd0..a4c912b 100644 --- a/client/package.json +++ b/client/package.json @@ -27,6 +27,7 @@ "babel-polyfill": "^6.9.1", "es6-promise": "^3.2.1", "history": "2.1.2", + "normalize.css": "3.0.3", "react": "^15.3.0", "react-dom": "^15.3.0", "react-redux": "^4.4.5", diff --git a/client/src/containers/App.jsx b/client/src/containers/App.jsx index 31b9548..f47796b 100644 --- a/client/src/containers/App.jsx +++ b/client/src/containers/App.jsx @@ -1,10 +1,5 @@ // deps import React, { Component, PropTypes } from 'react'; -import { connect } from 'react-redux'; -import { bindActionCreators } from 'redux'; - -// components -import Test from 'components/test'; export default class App extends Component { static propTypes = { @@ -14,7 +9,6 @@ export default class App extends Component { render() { return (
- {this.props.children}
); diff --git a/client/src/containers/Root.jsx b/client/src/containers/Root.jsx index e5d09ca..9d361b6 100644 --- a/client/src/containers/Root.jsx +++ b/client/src/containers/Root.jsx @@ -9,12 +9,16 @@ import DevTools from './DevTools'; // routes import routes from '../routes'; +const devtoolsActive = (localStorage.getItem('devtools') === 'true'); + export default class Root extends Component { static propTypes = { store: React.PropTypes.object.isRequired }; render() { + const devTools = devtoolsActive ? : null; + return (
@@ -22,7 +26,7 @@ export default class Root extends Component { {routes} - + {devTools}
diff --git a/client/src/scss/main.scss b/client/src/scss/main.scss index 25ada66..b8ffc5e 100644 --- a/client/src/scss/main.scss +++ b/client/src/scss/main.scss @@ -1,5 +1,5 @@ // Vendor libs -@import 'vendor'; +@import 'vendor'; // @TODO: check why Webpack includes 2x normalize.css // Toolkit @import "tools/mixins"; From 347e8577a98b03661463b4e62dc3e960da9460d2 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Thu, 4 Aug 2016 22:42:38 +0300 Subject: [PATCH 04/46] Remove node_modules from SASS loader exclude --- client/webpack/loaders/sass.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/client/webpack/loaders/sass.js b/client/webpack/loaders/sass.js index 7c233d1..30c58bf 100644 --- a/client/webpack/loaders/sass.js +++ b/client/webpack/loaders/sass.js @@ -17,7 +17,6 @@ export const sassLoader = (config) => { return { test: /\.(scss|css)$/, - loader, - exclude: /node_modules/ + loader }; }; From 038a26094e4cfb842c155b29f99cb19b741e76b3 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Fri, 5 Aug 2016 00:37:00 +0300 Subject: [PATCH 05/46] Add basic /pokemons and /pokemon:id API routes (#wip) --- client/config.js | 13 +++++++++++-- server/.eslintrc.js | 1 + server/package.json | 1 + server/src/app.js | 2 +- server/src/db.js | 8 +++++++- server/src/index.js | 1 + server/src/polyfills.js | 2 +- server/src/routes/test.js | 23 ++++++++++++++++++++++- 8 files changed, 45 insertions(+), 6 deletions(-) diff --git a/client/config.js b/client/config.js index 9ff3e6c..a6d1608 100644 --- a/client/config.js +++ b/client/config.js @@ -24,7 +24,11 @@ CONFIG.set('PORT', 8080); CONFIG.set('paths', { project: path.resolve(__dirname, './'), source: 'src', - build: 'dist' + build: 'dist', + + shared: '../shared', + assets: '../shared/assets', + data: '../shared/data' }); // app dependencies @@ -55,7 +59,12 @@ const paths = (() => { return { project, source: project.bind(null, CONFIG.get('paths').source), - build: project.bind(null, CONFIG.get('paths').build) + build: project.bind(null, CONFIG.get('paths').build), + + // @TODO: time to make this more dynamic? + shared: project.bind(null, CONFIG.get('paths').shared), + assets: project.bind(null, CONFIG.get('paths').assets), + data: project.bind(null, CONFIG.get('paths').data) }; })(); diff --git a/server/.eslintrc.js b/server/.eslintrc.js index e21906f..283f813 100644 --- a/server/.eslintrc.js +++ b/server/.eslintrc.js @@ -24,6 +24,7 @@ module.exports = exports = { 'import/no-mutable-exports': WARN, 'import/newline-after-import': WARN, 'import/imports-first': OFF, + 'import/no-extraneous-dependencies': WARN, 'quote-props': [ERROR, 'consistent-as-needed'], 'prefer-template': OFF, 'no-param-reassign': WARN, diff --git a/server/package.json b/server/package.json index af59964..5fd3b5e 100644 --- a/server/package.json +++ b/server/package.json @@ -43,6 +43,7 @@ "babel-preset-es2015": "^6.9.0", "babel-preset-es2015-node6": "^0.2.0", "babel-preset-stage-0": "^6.5.0", + "babel-register": "^6.11.6", "eslint": "^3.2.2", "eslint-config-airbnb": "^10.0.0", "eslint-import-resolver-node": "^0.2.2", diff --git a/server/src/app.js b/server/src/app.js index 12cbdf7..c7ca8ba 100644 --- a/server/src/app.js +++ b/server/src/app.js @@ -13,7 +13,7 @@ import Database from './db'; const UTILS = CONFIG.get('utils'); // @TODO -const DB = new Database({ path: `${UTILS.paths.data()}/test.json` }); +const DB = new Database({ path: `${UTILS.paths.data()}/pokemon/pokedex.en.build.json` }); // @DEBUG CONFIG // console.log(CONFIG.get('paths')); diff --git a/server/src/db.js b/server/src/db.js index 6d885c4..1bf5274 100644 --- a/server/src/db.js +++ b/server/src/db.js @@ -1,5 +1,5 @@ // deps -import { loadData } from './helpers'; +import { loadData } from './utils/helpers'; // const DEBUG = require('debug')('pokepedia:wtf'); // DB @@ -29,6 +29,12 @@ class Database { console.log('[DB] Reloading data...'); this.data = this.load(); } + + getPokemonById(pokemonId) { + return this.data.filter((item) => { + return item.id == pokemonId; + }); + } } // expose diff --git a/server/src/index.js b/server/src/index.js index 8ad6f6f..dd59b69 100644 --- a/server/src/index.js +++ b/server/src/index.js @@ -1,4 +1,5 @@ // #!/usr/bin/env node +// require('babel/register'); // deps import './polyfills'; diff --git a/server/src/polyfills.js b/server/src/polyfills.js index cf2a2a2..a53d6c8 100644 --- a/server/src/polyfills.js +++ b/server/src/polyfills.js @@ -1,3 +1,3 @@ // deps -require('es6-promise').polyfill(); import 'babel-polyfill'; +require('es6-promise').polyfill(); diff --git a/server/src/routes/test.js b/server/src/routes/test.js index 8542754..9b04d70 100644 --- a/server/src/routes/test.js +++ b/server/src/routes/test.js @@ -1,6 +1,6 @@ // deps import { Router } from 'express'; -import { inspect } from '../helpers'; +import { inspect } from '../utils/helpers'; // app router const router = Router(); @@ -9,6 +9,27 @@ router.get('/', (req, res, next) => { res.end('lolzz'); }); +router.get('/pokemons', (req, res, next) => { + console.log('poke @ '); + console.log(req.db.data); + + res.end('get pokemons'); +}); + +// get pokemon by id +// function getPokemonById() + +router.get('/pokemon/:id', (req, res, next) => { + const pokemonId = req.params.id; + + const findPokemon = req.db.getPokemonById(pokemonId); + console.log(findPokemon); + + res.end(`
${JSON.stringify(findPokemon)}
`); +}); + +// reload local file DB +// @TODO: switch to Mongo? router.get('/update', (req, res, next) => { // reload JSON data req.db.reload(); From d0883d7b4477710f8545861a28ee5a7dce300646 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Fri, 5 Aug 2016 22:16:20 +0300 Subject: [PATCH 06/46] Add apisauce to project deps + Pokedex API, actions, reducer --- client/package.json | 1 + client/src/actions/pokedex.js | 15 +++++++++++ client/src/api/api.js | 40 ++++++++++++++++++++++++++++ client/src/api/index.js | 5 ++++ client/src/api/pokedex.js | 6 +++++ client/src/constants/action-types.js | 17 +++++++++++- client/src/store/initial-state.js | 7 ++++- client/src/store/reducers/index.js | 4 ++- client/src/store/reducers/pokedex.js | 19 +++++++++++++ server/src/app.js | 11 ++++++++ server/src/db.js | 4 +++ server/src/routes/test.js | 11 ++++---- 12 files changed, 131 insertions(+), 9 deletions(-) create mode 100644 client/src/actions/pokedex.js create mode 100644 client/src/api/api.js create mode 100644 client/src/api/index.js create mode 100644 client/src/api/pokedex.js create mode 100644 client/src/store/reducers/pokedex.js diff --git a/client/package.json b/client/package.json index a4c912b..1c91ef3 100644 --- a/client/package.json +++ b/client/package.json @@ -24,6 +24,7 @@ "lint": "./node_modules/.bin/eslint src --ext .js --ext .jsx" }, "dependencies": { + "apisauce": "^0.3.0", "babel-polyfill": "^6.9.1", "es6-promise": "^3.2.1", "history": "2.1.2", diff --git a/client/src/actions/pokedex.js b/client/src/actions/pokedex.js new file mode 100644 index 0000000..76f4269 --- /dev/null +++ b/client/src/actions/pokedex.js @@ -0,0 +1,15 @@ +// deps +import * as PokedexAPI from 'api/pokedex'; + +// actions types +import { POKEDEX_TYPES as TYPES } from 'constants/action-types'; + +export const getPokemons = () => ({ + type: TYPES.POKEDEX_GET_POKEMONS, + payload: PokedexAPI.getAllPokemons() +}); + +export const getPokemonById = (pokemonId) => ({ + type: TYPES.POKEDEX_GET_POKEMON_BY_ID, + payload: PokedexAPI.getPokemonById(pokemonId) +}); diff --git a/client/src/api/api.js b/client/src/api/api.js new file mode 100644 index 0000000..0ec30a5 --- /dev/null +++ b/client/src/api/api.js @@ -0,0 +1,40 @@ +// deps +import { create } from 'apisauce'; +import { store } from '../store'; + +// @TODO +// import RequestActions from './actions/request'; + +// +// Le API +// +const API = create({ + baseURL: 'http://localhost:9090', + headers: { + // 'Authorization': TOKEN, // @TODO + 'Content-Type': 'application/json', + 'Accept': 'application/json' + } +}); + +// intercept request and add status to store +const { interceptors } = API.axiosInstance; + +interceptors.request.use((config) => { + // console.log('!!!! INTERCEPT BEFORE REQUEST !!!'); + // store.dispatch(RequestActions.startLoad()); + return config; +}); + +interceptors.response.use( + (response) => { + // store.dispatch(RequestActions.endLoad()); + return response; + }, + (err) => { + // store.dispatch(RequestActions.errorLoad()); + return Promise.reject(err); + } +); + +export default API; diff --git a/client/src/api/index.js b/client/src/api/index.js new file mode 100644 index 0000000..46564dd --- /dev/null +++ b/client/src/api/index.js @@ -0,0 +1,5 @@ +import Pokedex from './pokedex'; + +export default { + pokedex: Pokedex +}; diff --git a/client/src/api/pokedex.js b/client/src/api/pokedex.js new file mode 100644 index 0000000..c3dc00d --- /dev/null +++ b/client/src/api/pokedex.js @@ -0,0 +1,6 @@ +// deps +import API from './api'; + +export function getAllPokemons() { + return API.get('/pokemons'); +} diff --git a/client/src/constants/action-types.js b/client/src/constants/action-types.js index 5e9a207..86e304c 100644 --- a/client/src/constants/action-types.js +++ b/client/src/constants/action-types.js @@ -7,7 +7,22 @@ // deps import createConstants from 'utils/constants'; -// website builder +// export const PROGRESS_TYPES = createConstants( +// 'PROGRESS' +// ); + +// pokedex +export const POKEDEX_TYPES = createConstants( + 'POKEDEX_GET_POKEMONS', + 'POKEDEX_GET_POKEMONS_PENDING', + 'POKEDEX_GET_POKEMONS_SUCCESS', + + 'POKEDEX_GET_POKEMON_BY_ID', + 'POKEDEX_GET_POKEMON_BY_ID_PENDING', + 'POKEDEX_GET_POKEMON_BY_ID_SUCCESS' +); + +// location export const LOCATION_TYPES = createConstants( 'LOCATION_LOAD_MAP' ); diff --git a/client/src/store/initial-state.js b/client/src/store/initial-state.js index 1303c9a..fe9e3a0 100644 --- a/client/src/store/initial-state.js +++ b/client/src/store/initial-state.js @@ -6,7 +6,12 @@ export const LOCATION_STATE = { long: null }; +export const POKEDEX_STATE = { + data: [] +}; + // expose INITIAL state export default { - location: LOCATION_STATE + location: LOCATION_STATE, + pokedex: POKEDEX_STATE }; diff --git a/client/src/store/reducers/index.js b/client/src/store/reducers/index.js index a8e4f80..cc2426c 100644 --- a/client/src/store/reducers/index.js +++ b/client/src/store/reducers/index.js @@ -4,8 +4,10 @@ import { routerStateReducer } from 'redux-router'; // reducers import location from './location'; +import pokedex from './pokedex'; export default combineReducers({ router: routerStateReducer, - location + location, + pokedex }); diff --git a/client/src/store/reducers/pokedex.js b/client/src/store/reducers/pokedex.js new file mode 100644 index 0000000..407627d --- /dev/null +++ b/client/src/store/reducers/pokedex.js @@ -0,0 +1,19 @@ +// deps +import createReducer from 'utils/createReducer'; + +// initial state & constants +import { POKEDEX_STATE } from '../initial-state'; +import { POKEDEX_TYPES } from 'constants/action-types'; + +export default createReducer(POKEDEX_STATE, { + [`${POKEDEX_TYPES.POKEDEX_GET_POKEMONS}_SUCCESS`]: (state, action) => { + const { payload } = action; + + const { data } = payload; + + return { + ...state, + data + }; + } +}); diff --git a/server/src/app.js b/server/src/app.js index c7ca8ba..a825546 100644 --- a/server/src/app.js +++ b/server/src/app.js @@ -26,6 +26,17 @@ const DB = new Database({ path: `${UTILS.paths.data()}/pokemon/pokedex.en.build. // create Express app <3 const app = express(); +// enable CORS +app.all('*', (req, res, next) => { + console.log('HERE !!!'); + + res.header('Access-Control-Allow-Origin', '*'); + res.header('Access-Control-Allow-Methods', 'GET'); + res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); + + next(); +}); + // add middleware enhancers app.use(logger('dev')); // http request logger app.use(express.static(UTILS.paths.assets())); diff --git a/server/src/db.js b/server/src/db.js index 1bf5274..994b746 100644 --- a/server/src/db.js +++ b/server/src/db.js @@ -30,6 +30,10 @@ class Database { this.data = this.load(); } + getPokemons() { + return this.data; + } + getPokemonById(pokemonId) { return this.data.filter((item) => { return item.id == pokemonId; diff --git a/server/src/routes/test.js b/server/src/routes/test.js index 9b04d70..0bdf360 100644 --- a/server/src/routes/test.js +++ b/server/src/routes/test.js @@ -10,22 +10,21 @@ router.get('/', (req, res, next) => { }); router.get('/pokemons', (req, res, next) => { - console.log('poke @ '); - console.log(req.db.data); + // get pokemons list + const pokemons = req.db.getPokemons(); - res.end('get pokemons'); + res.json(pokemons); }); // get pokemon by id // function getPokemonById() router.get('/pokemon/:id', (req, res, next) => { + // find pokemon const pokemonId = req.params.id; - const findPokemon = req.db.getPokemonById(pokemonId); - console.log(findPokemon); - res.end(`
${JSON.stringify(findPokemon)}
`); + res.json(findPokemon); }); // reload local file DB From 0c3b3dadd5f4d3a11582dd89425f22521bc15f56 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Fri, 5 Aug 2016 22:21:14 +0300 Subject: [PATCH 07/46] Add PokedexPage and PokedexView container (#wip) --- .../pages/PokedexPage/PokedexPage.jsx | 29 +++++++++ .../pages/PokedexPage/PokedexPage.scss | 0 .../src/components/pages/PokedexPage/index.js | 1 + client/src/routes.js | 3 +- client/src/views/PokedexView.jsx | 62 +++++++++++++++++++ 5 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 client/src/components/pages/PokedexPage/PokedexPage.jsx create mode 100644 client/src/components/pages/PokedexPage/PokedexPage.scss create mode 100644 client/src/components/pages/PokedexPage/index.js create mode 100644 client/src/views/PokedexView.jsx diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx new file mode 100644 index 0000000..3b92753 --- /dev/null +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -0,0 +1,29 @@ +// deps +import React, { Component, PropTypes } from 'react'; + +// components +// import WidgetSlot from 'components/partials/WidgetSlot'; + +// style +import './PokedexPage.scss'; + +export default class PokedexPage extends Component { + static propTypes = { + // pokemons: PropTypes.object.isRequired + }; + + static defaultProps = { + }; + + render() { + // const { pokemons } = this.props; + + return ( +
+

pokepage here

+ + poke list map here +
+ ); + } +} diff --git a/client/src/components/pages/PokedexPage/PokedexPage.scss b/client/src/components/pages/PokedexPage/PokedexPage.scss new file mode 100644 index 0000000..e69de29 diff --git a/client/src/components/pages/PokedexPage/index.js b/client/src/components/pages/PokedexPage/index.js new file mode 100644 index 0000000..8cd21e1 --- /dev/null +++ b/client/src/components/pages/PokedexPage/index.js @@ -0,0 +1 @@ +export default from './PokedexPage'; diff --git a/client/src/routes.js b/client/src/routes.js index 8bf19fc..5515441 100644 --- a/client/src/routes.js +++ b/client/src/routes.js @@ -5,6 +5,7 @@ import { Route, IndexRoute, IndexRedirect } from 'react-router'; // containers import App from 'containers/App'; import HomeView from 'views/HomeView'; +import PokedexView from 'views/PokedexView'; import LocationView from 'views/LocationView'; const onCheckAuth = () => { @@ -19,7 +20,7 @@ const routes = ( - + ); diff --git a/client/src/views/PokedexView.jsx b/client/src/views/PokedexView.jsx new file mode 100644 index 0000000..fc3fc6a --- /dev/null +++ b/client/src/views/PokedexView.jsx @@ -0,0 +1,62 @@ +// deps +import React, { Component, PropTypes } from 'react'; +import { bindActionCreators } from 'redux'; +import { connect } from 'react-redux'; + +// components +import PokedexPage from 'components/pages/PokedexPage'; + +// actions +// import * as PokedexAPI from 'api/pokedex'; +import * as PokedexActions from 'actions/pokedex'; + +// console.log('poke api @ ', PokedexAPI); + +// map store +const mapStoreToProps = (store) => ({}); + +// map actions +const mapDispatchToProps = (dispatch) => ({ + actions: bindActionCreators( + PokedexActions + , dispatch) +}); + +@connect(mapStoreToProps, mapDispatchToProps) +class PokedexContainer extends Component { + static propTypes = { + actions: PropTypes.object.isRequired, + pokedex: PropTypes.object // .isRequired + } + + // constructor(props) { + // super(props); + // } + + componentDidMount() { + this.fetchData(); + } + + fetchData() { + console.log('>>> POKEDEX FETCH DATA'); + + const { actions } = this.props; + + // PokedexAPI.getAllPokemons().then((response) => { + // console.log('API @ ', response.data); + // }); + + // fetch list of available widget components for builder + actions.getPokemons(); + } + + render() { + const { pokedex } = this.props; + + return ( + + ); + } +} + +export default PokedexContainer; From a61d2f370b7fcc15248b231b185ea462a534d186 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 01:54:19 +0300 Subject: [PATCH 08/46] Add material-ui, classnames and responsive image CSS --- client/.eslintrc.js | 3 ++- client/package.json | 3 +++ client/src/containers/Root.jsx | 6 ++++-- client/src/index.html | 3 +++ client/src/polyfills.js | 5 +++++ client/src/scss/common/layout.scss | 8 +++++++- 6 files changed, 24 insertions(+), 4 deletions(-) diff --git a/client/.eslintrc.js b/client/.eslintrc.js index 8f0014d..435a047 100644 --- a/client/.eslintrc.js +++ b/client/.eslintrc.js @@ -27,7 +27,8 @@ module.exports = exports = { 'no-underscore-dangle': OFF, 'react/wrap-multilines': OFF, 'react/jsx-no-bind': OFF, - 'react/prefer-stateless-function': OFF + 'react/prefer-stateless-function': OFF, + 'quote-props': OFF }, settings: { diff --git a/client/package.json b/client/package.json index 1c91ef3..8ac50f6 100644 --- a/client/package.json +++ b/client/package.json @@ -26,13 +26,16 @@ "dependencies": { "apisauce": "^0.3.0", "babel-polyfill": "^6.9.1", + "classnames": "^2.2.5", "es6-promise": "^3.2.1", "history": "2.1.2", + "material-ui": "^0.15.3", "normalize.css": "3.0.3", "react": "^15.3.0", "react-dom": "^15.3.0", "react-redux": "^4.4.5", "react-router": "^2.6.1", + "react-tap-event-plugin": "^1.0.0", "redux": "^3.5.2", "redux-promise-middleware": "^3.3.2", "redux-router": "^2.1.2", diff --git a/client/src/containers/Root.jsx b/client/src/containers/Root.jsx index 9d361b6..192bb66 100644 --- a/client/src/containers/Root.jsx +++ b/client/src/containers/Root.jsx @@ -4,11 +4,13 @@ import { Provider } from 'react-redux'; import { ReduxRouter } from 'redux-router'; // components +import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; import DevTools from './DevTools'; // routes import routes from '../routes'; +// devtools for easy debugging const devtoolsActive = (localStorage.getItem('devtools') === 'true'); export default class Root extends Component { @@ -20,7 +22,7 @@ export default class Root extends Component { const devTools = devtoolsActive ? : null; return ( -
+
@@ -29,7 +31,7 @@ export default class Root extends Component { {devTools}
-
+ ); } } diff --git a/client/src/index.html b/client/src/index.html index 3b20671..c10ea47 100644 --- a/client/src/index.html +++ b/client/src/index.html @@ -7,6 +7,9 @@ pokepedia.club + + + diff --git a/client/src/polyfills.js b/client/src/polyfills.js index cf2a2a2..5be39fe 100644 --- a/client/src/polyfills.js +++ b/client/src/polyfills.js @@ -1,3 +1,8 @@ // deps require('es6-promise').polyfill(); import 'babel-polyfill'; +import injectTapEventPlugin from 'react-tap-event-plugin'; + +// Needed for onTouchTap +// http://stackoverflow.com/a/34015469/988941 +injectTapEventPlugin(); diff --git a/client/src/scss/common/layout.scss b/client/src/scss/common/layout.scss index e81ba75..2684dc2 100644 --- a/client/src/scss/common/layout.scss +++ b/client/src/scss/common/layout.scss @@ -4,12 +4,18 @@ body { position: relative; - font-family: Arial, Helvetica, sans-serif; + font-family: 'Roboto', sans-serif; font-weight: 400; background: #eee; } +.img-fluid { + display: block; + max-width: 100%; + height: auto; +} + .Page { position: relative; } From 9f3b19de0fa0ce313e80f32c2539b5ba7bd23ce8 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 01:54:52 +0300 Subject: [PATCH 09/46] Add Pokemon types and model --- client/src/constants/pokemon-types.js | 154 ++++++++++++++++++++++++++ client/src/constants/pokemon.model.js | 17 +++ client/src/store/initial-state.js | 2 +- client/src/store/reducers/pokedex.js | 2 +- 4 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 client/src/constants/pokemon-types.js create mode 100644 client/src/constants/pokemon.model.js diff --git a/client/src/constants/pokemon-types.js b/client/src/constants/pokemon-types.js new file mode 100644 index 0000000..a31b4a5 --- /dev/null +++ b/client/src/constants/pokemon-types.js @@ -0,0 +1,154 @@ +// colors +import { + blue500, + blueGrey400, + brown400, + cyanA200, + deepPurple400, + green600, + grey300, + grey600, + grey900, + indigo400, + orange700, + lightGreen500, + pink600, + purpleA100, + purple500, + red500, + red700, + yellow500 +} from 'material-ui/styles/colors'; + +// const POKEMON_TYPES = { +// 'Normal': grey300, +// 'Fire': orange700, +// 'Water': blue500, +// 'Electric': yellow500, +// 'Grass': green600, +// 'Ice': cyanA200, +// 'Fighting': red700, +// 'Poison': purple500, +// 'Ground': brown400, +// 'Flying': indigo400, +// 'Psychic': pink600, +// 'Bug': lightGreen500, +// 'Rock': grey600, +// 'Ghost': deepPurple400, +// 'Dragon': red500, +// 'Dark': grey900, +// 'Steel': blueGrey400, +// 'Fairy': purpleA100 +// }; + +const POKEMON_TYPES = { + 'Normal': { + avatarColor: grey300, + backgroundColor: 'cyan', + textColor: '#000' + }, + + 'Fire': { + avatarColor: orange700, + backgroundColor: orange700, + textColor: '#FFF' + }, + + 'Water': { + avatarColor: blue500, + backgroundColor: '#ccc', + textColor: '#FFF' + }, + + 'Electric': { + avatarColor: yellow500, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Grass': { + avatarColor: green600, + backgroundColor: grey300, + textColor: '#000' + }, + + 'Ice': { + avatarColor: cyanA200, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Fighting': { + avatarColor: red700, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Poison': { + avatarColor: purple500, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Ground': { + avatarColor: brown400, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Flying': { + avatarColor: indigo400, + backgroundColor: '#e7e7e7', + textColor: '#FFF' + }, + + 'Psychic': { + avatarColor: pink600, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Bug': { + avatarColor: lightGreen500, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Rock': { + avatarColor: grey600, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Ghost': { + avatarColor: deepPurple400, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Dragon': { + avatarColor: red500, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Dark': { + avatarColor: grey900, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Steel': { + avatarColor: blueGrey400, + backgroundColor: grey300, + textColor: '#FFF' + }, + + 'Fairy': { + avatarColor: purpleA100, + backgroundColor: grey300, + textColor: '#FFF' + } +}; + +export default POKEMON_TYPES; diff --git a/client/src/constants/pokemon.model.js b/client/src/constants/pokemon.model.js new file mode 100644 index 0000000..4c17dd5 --- /dev/null +++ b/client/src/constants/pokemon.model.js @@ -0,0 +1,17 @@ +// deps +import { PropTypes } from 'react'; + +export default { + id: PropTypes.number, + name: PropTypes.string, + type: PropTypes.array, + height: PropTypes.string, + weight: PropTypes.string, + candy: PropTypes.string, + egg: PropTypes.string, + multipliers: PropTypes.number, + weaknesses: PropTypes.array, + next_evolution: PropTypes.array, + prev_evolution: PropTypes.array, + pokemonId: PropTypes.string +}; diff --git a/client/src/store/initial-state.js b/client/src/store/initial-state.js index fe9e3a0..f5546a7 100644 --- a/client/src/store/initial-state.js +++ b/client/src/store/initial-state.js @@ -7,7 +7,7 @@ export const LOCATION_STATE = { }; export const POKEDEX_STATE = { - data: [] + pokemons: [] }; // expose INITIAL state diff --git a/client/src/store/reducers/pokedex.js b/client/src/store/reducers/pokedex.js index 407627d..2c0bc0c 100644 --- a/client/src/store/reducers/pokedex.js +++ b/client/src/store/reducers/pokedex.js @@ -13,7 +13,7 @@ export default createReducer(POKEDEX_STATE, { return { ...state, - data + pokemons: data }; } }); From 2ab1672a1b3b514cdbfaaab81ae085fd17632eba Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 01:55:15 +0300 Subject: [PATCH 10/46] Add Grid and GridCell components --- client/src/components/atoms/Grid/Grid.jsx | 53 ++++++++++++ client/src/components/atoms/Grid/Grid.scss | 63 ++++++++++++++ client/src/components/atoms/Grid/GridCell.jsx | 44 ++++++++++ .../src/components/atoms/Grid/GridCell.scss | 86 +++++++++++++++++++ client/src/components/atoms/Grid/index.js | 4 + 5 files changed, 250 insertions(+) create mode 100644 client/src/components/atoms/Grid/Grid.jsx create mode 100644 client/src/components/atoms/Grid/Grid.scss create mode 100644 client/src/components/atoms/Grid/GridCell.jsx create mode 100644 client/src/components/atoms/Grid/GridCell.scss create mode 100644 client/src/components/atoms/Grid/index.js diff --git a/client/src/components/atoms/Grid/Grid.jsx b/client/src/components/atoms/Grid/Grid.jsx new file mode 100644 index 0000000..5c4775e --- /dev/null +++ b/client/src/components/atoms/Grid/Grid.jsx @@ -0,0 +1,53 @@ +// deps +import React, { PropTypes } from 'react'; +import cx from 'classnames'; +import { capitalize } from 'lodash'; + +// style +import './Grid.scss'; + +const Grid = (props) => { + const { + className, + align, + fit, + flow, + equalHeight, + withGutter, + spaceAround, + children, + ...otherProps } = props; + + const gridClasses = cx('Grid', { + [`Grid--flow${capitalize(flow)}`]: flow, + [`Grid--align${capitalize(align)}`]: align, + 'Grid--fit': fit, + 'Grid--equalHeight': equalHeight, + 'Grid--withGutter': withGutter, + 'Grid--spaceAround': spaceAround + }, className); + + + return ( +
+ {children} +
+ ); +}; + +Grid.propTypes = { + align: PropTypes.oneOf(['center', 'right', 'middle', 'bottom']), + fit: PropTypes.bool, + flow: PropTypes.oneOf(['row', 'column']), + equalHeight: PropTypes.bool, + withGutter: PropTypes.bool, + className: PropTypes.string, + spaceAround: PropTypes.bool, + children: PropTypes.node +}; + +Grid.defaultProps = { + flow: 'row' +}; + +export default Grid; diff --git a/client/src/components/atoms/Grid/Grid.scss b/client/src/components/atoms/Grid/Grid.scss new file mode 100644 index 0000000..1e83718 --- /dev/null +++ b/client/src/components/atoms/Grid/Grid.scss @@ -0,0 +1,63 @@ +$grid-space: 10px; +$grid-gutter: $grid-space * 2; + +// Inspired by https://github.com/suitcss/components-grid +// DO NOT apply dimension utilities to the `Grid` element. All cell +// widths should be applied to child grid cells. + +// All content must be contained within child `GridCell` elements. + +.Grid { + display: flex; +} + +// Flow order +.Grid--flowRow { + flex-flow: row wrap; +} + +.Grid--flowColumn { + flex-flow: column wrap; +} + +// Alignment +.Grid--alignCenter { + justify-content: center; +} + +.Grid--alignRight { + justify-content: flex-end; +} + +.Grid--spaceAround { + justify-content: space-around; +} + +.Grid--alignMiddle { + align-items: center; +} + +.Grid--alignBottom { + align-items: flex-end; +} + +// Allow cells to equal distribute width +.Grid--fit > .GridCell { + flex: 1 1 0%; +} + +// All cells match height of tallest cell in a row +.Grid--equalHeight > .GridCell { + display: flex; +} + +// With gutters +.Grid--withGutter { + margin-right: -($grid-gutter / 2); + margin-left: -($grid-gutter / 2); + + > .GridCell { + padding-right: $grid-gutter / 2; + padding-left: $grid-gutter / 2; + } +} diff --git a/client/src/components/atoms/Grid/GridCell.jsx b/client/src/components/atoms/Grid/GridCell.jsx new file mode 100644 index 0000000..f4d4942 --- /dev/null +++ b/client/src/components/atoms/Grid/GridCell.jsx @@ -0,0 +1,44 @@ +// deps +import React, { PropTypes } from 'react'; +import cx from 'classnames'; + +// style +import './GridCell.scss'; + +const GridCell = (props) => { + const { + className, + col, + fit, + fill, + full, + center, + children, + ...otherProps } = props; + + const gridCellClasses = cx('GridCell', { + 'GridCell--center': center, + 'GridCell--fit': fit, + 'GridCell--fill': fill, + 'GridCell--full': full, + [`GridCell--col${col}`]: col + }, className); + + return ( +
+ {children} +
+ ); +}; + +GridCell.propTypes = { + col: PropTypes.number, + center: PropTypes.bool, + fit: PropTypes.bool, + fill: PropTypes.bool, + full: PropTypes.bool, + className: PropTypes.string, + children: PropTypes.node.isRequired +}; + +export default GridCell; diff --git a/client/src/components/atoms/Grid/GridCell.scss b/client/src/components/atoms/Grid/GridCell.scss new file mode 100644 index 0000000..d088d36 --- /dev/null +++ b/client/src/components/atoms/Grid/GridCell.scss @@ -0,0 +1,86 @@ +// No explicit width by default. Rely on combining `GridCell` with a dimension +// utility or a component class that extends 'Grid'. + +.GridCell { + flex: 0 0 100%; // Set flex items to full width by default +} + +// Horizontally center one unit +.GridCell--center { + margin: 0 auto; +} + +// Intrinsic widths + +// Make an element shrink wrap its content. +.GridCell--fit { + flex-basis: auto; +} + +// Make an element fill the remaining space. +.GridCell--fill { + flex: 1 1 0%; + flex-basis: 0%; +} + + // Make an element the width of its parent. +.GridCell--full { + display: block; + width: 100%; +} + +// Sizes +.GridCell--col1 { + width: calc(100% * 1 / 12); + flex-basis: auto; +} + +.GridCell--col2 { + width: calc(100% * 2 / 13); + flex-basis: auto; +} + +.GridCell--col3 { + width: 25%; + flex-basis: auto; +} + +.GridCell--col4 { + width: calc(100% * 4 / 12); + flex-basis: auto; +} + +.GridCell--col5 { + width: calc(100% * 5 / 12); + flex-basis: auto; +} + +.GridCell--col6 { + width: 50%; + flex-basis: auto; +} + +.GridCell--col7 { + width: calc(100% * 7 / 12); + flex-basis: auto; +} + +.GridCell--col8 { + width: calc(100% * 8 / 12); + flex-basis: auto; +} + +.GridCell--col9 { + width: 75%; + flex-basis: auto; +} + +.GridCell--col10 { + width: calc(100% * 10 / 12); + flex-basis: auto; +} + +.GridCell--col11 { + width: calc(100% * 11 / 12); + flex-basis: auto; +} diff --git a/client/src/components/atoms/Grid/index.js b/client/src/components/atoms/Grid/index.js new file mode 100644 index 0000000..48b575d --- /dev/null +++ b/client/src/components/atoms/Grid/index.js @@ -0,0 +1,4 @@ +import Grid from './Grid'; +import GridCell from './GridCell'; + +export default { Grid, GridCell }; From e7b9dc144d0e968505d0e5c994dc3fd248d0714d Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 01:55:41 +0300 Subject: [PATCH 11/46] Create PokeCard component #wip --- .../components/atoms/PokeCard/PokeCard.jsx | 160 ++++++++++++++++++ .../components/atoms/PokeCard/PokeCard.scss | 96 +++++++++++ client/src/components/atoms/PokeCard/index.js | 1 + 3 files changed, 257 insertions(+) create mode 100644 client/src/components/atoms/PokeCard/PokeCard.jsx create mode 100644 client/src/components/atoms/PokeCard/PokeCard.scss create mode 100644 client/src/components/atoms/PokeCard/index.js diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx new file mode 100644 index 0000000..887cdaf --- /dev/null +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -0,0 +1,160 @@ +// deps +import React, { Component, PropTypes } from 'react'; + +// components +import Avatar from 'material-ui/Avatar'; +import Chip from 'material-ui/Chip'; +import RaisedButton from 'material-ui/RaisedButton'; +import { Grid, GridCell } from 'components/atoms/Grid'; + +// constants / models (prop types) +import POKEMON_TYPES from 'constants/pokemon-types'; +// import PokemonModel from 'constants/pokemon.model'; + +// style +import { blue50, blue300, blue500 } from 'material-ui/styles/colors'; +import './PokeCard.scss'; + + +// [ +// { +// "id": 1, +// "name": "Bulbasaur", +// "type": [ +// "Grass", +// "Poison" +// ], +// "height": "0.71 m", +// "weight": "6.9 kg", +// "candy": "25 Bulbasaur Candy", +// "egg": "2 km", +// "multipliers": 1.58, +// "weaknesses": [ +// "Fire", +// "Ice", +// "Flying", +// "Psychic" +// ], +// "next_evolution": [ +// { +// "name": "Ivysaur", +// "pokemonId": "002" +// }, +// { +// "name": "Venusaur", +// "pokemonId": "003" +// } +// ], +// "pokemonId": "001" +// } +// ] + +const css = { + chip: { + margin: 4 + } +}; + +export default class PokeCard extends Component { + static propTypes = { + pokemon: PropTypes.object.isRequired + }; + + renderTypeChips(types) { + const chips = types.map((type) => { + // + // + // MB + // + // Colored Chip + // + + const colors = POKEMON_TYPES[type] || {}; + + return ( + + + ? + + {type} + + ); + }); + + return chips; + } + + render() { + const { pokemon } = this.props; + + // if (!pokemon) { return null; } + // const { name, pokemonId, type } = pokemon; + + const pokemonTypeChips = this.renderTypeChips(pokemon.type); + + // const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemonId}.png`; + + return ( +
+
+
+ foo +
+ +
+
+

Pikachiu

+ {/*

#003

*/} + +
+
Type
+ {pokemonTypeChips} +
+
+ +
+ +
+ + +
Weight
+
9.68 kg
+
+ + +
Height
+
0.84 m
+
+ + +
Candies
+
3 (C)
+
+
+
+ + {/* */} + +
+
Weaknesses
+ {pokemonTypeChips} +
+
+
+
+ ); + } +} diff --git a/client/src/components/atoms/PokeCard/PokeCard.scss b/client/src/components/atoms/PokeCard/PokeCard.scss new file mode 100644 index 0000000..f28e715 --- /dev/null +++ b/client/src/components/atoms/PokeCard/PokeCard.scss @@ -0,0 +1,96 @@ +$pokecard-avatar-size: 120px; + + +.PokeCard { + position: relative; + width: 100%; + + // padding: 10px 30px; + margin-bottom: 20px; + + background: #fff; + border-radius: 10px; + overflow: hidden; + box-shadow: 0px 23px 30px -20px rgba(#000, .2); + + transition: all .2s ease-in-out; + + &-Wrapper { + width: 100%; + border-radius: 10px; + overflow: hidden; + } + + // + &:hover { + cursor: pointer; + transform: translateY(-4px); + box-shadow: 0px 27px 30px -20px rgba(#000, .3); + } +} + +.PokeCard-Header { + position: relative; + + width: 100%; + height: 120px; + + background: #eee; + text-align: center; +} + +.PokeCard-Name { + font-size: 26px; + font-weight: 500; + letter-spacing: 1px; +} + +.PokeCard-Avatar { + position: absolute; + top: 50%; + left: 50%; + transform: translateX(-50%); + + width: $pokecard-avatar-size; + height: $pokecard-avatar-size; + + border-radius: 50px; + border: 10px solid rgba(255, 255, 255, 0.2); +} + +.PokeCard-Content { + padding: 55px 20px; + + background: #fff; + text-align: center; +} + +.PokeCard-Properties { + margin: 40px 0; + + color: #333; +} + +.PokeCard-Property-Name { + margin-bottom: 10px; + color: #bbb; +} + +.PokeCard-Property-Value { + font-size: 20px; +} + +.PokeCard-Chips { + display: flex; + flex-flow: wrap; + justify-content: center; + + text-align: center; + + .PokeCard-Property-Name { + display: block; + width: 100%; + } +} + +.PokeCard-Chip { margin: 4px; } diff --git a/client/src/components/atoms/PokeCard/index.js b/client/src/components/atoms/PokeCard/index.js new file mode 100644 index 0000000..b13fe42 --- /dev/null +++ b/client/src/components/atoms/PokeCard/index.js @@ -0,0 +1 @@ +export default from './PokeCard'; From 3a8ce39b972a8c5fde10a1ad74a660f8d4206203 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 01:56:17 +0300 Subject: [PATCH 12/46] Create module PokeList and connect PokedexView / Page to store (#wip) --- .../components/modules/PokeList/PokeList.jsx | 62 +++++++++++++++++++ .../components/modules/PokeList/PokeList.scss | 3 + .../src/components/modules/PokeList/index.js | 1 + .../pages/PokedexPage/PokedexPage.jsx | 13 ++-- client/src/views/PokedexView.jsx | 12 ++-- 5 files changed, 74 insertions(+), 17 deletions(-) create mode 100644 client/src/components/modules/PokeList/PokeList.jsx create mode 100644 client/src/components/modules/PokeList/PokeList.scss create mode 100644 client/src/components/modules/PokeList/index.js diff --git a/client/src/components/modules/PokeList/PokeList.jsx b/client/src/components/modules/PokeList/PokeList.jsx new file mode 100644 index 0000000..217c9ea --- /dev/null +++ b/client/src/components/modules/PokeList/PokeList.jsx @@ -0,0 +1,62 @@ +// deps +import React, { Component, PropTypes } from 'react'; + +// components +import { Grid, GridCell } from 'components/atoms/Grid'; +import PokeCard from 'components/atoms/PokeCard'; + +// style +import './PokeList.scss'; + +export default class PokeList extends Component { + static propTypes = { + pokemons: PropTypes.array.isRequired + }; + + static defaultProps = { + pokemons: [] + }; + + renderPokeCards() { + const { pokemons } = this.props; + + const testList = [ + pokemons[0], + pokemons[1], + pokemons[2], + pokemons[3], + pokemons[4], + pokemons[5], + pokemons[6], + pokemons[7] + ]; + + const pokeCards = testList.map((pokemon) => { + return ( + + + + ); + }); + + return pokeCards; + } + + render() { + const { pokemons } = this.props; + + const pokeCards = pokemons.length ? this.renderPokeCards() : 'No pokemons bro'; + console.log('POKEMONS @', pokemons); + + return ( +
+ + {pokeCards} + +
+ ); + } +} diff --git a/client/src/components/modules/PokeList/PokeList.scss b/client/src/components/modules/PokeList/PokeList.scss new file mode 100644 index 0000000..b5d55f2 --- /dev/null +++ b/client/src/components/modules/PokeList/PokeList.scss @@ -0,0 +1,3 @@ +.PokeList { + padding: 30px 50px; +} diff --git a/client/src/components/modules/PokeList/index.js b/client/src/components/modules/PokeList/index.js new file mode 100644 index 0000000..a8df5f9 --- /dev/null +++ b/client/src/components/modules/PokeList/index.js @@ -0,0 +1 @@ +export default from './PokeList'; diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx index 3b92753..87ba20e 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.jsx +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -2,27 +2,22 @@ import React, { Component, PropTypes } from 'react'; // components -// import WidgetSlot from 'components/partials/WidgetSlot'; +import PokeList from 'components/modules/PokeList'; // style import './PokedexPage.scss'; export default class PokedexPage extends Component { static propTypes = { - // pokemons: PropTypes.object.isRequired - }; - - static defaultProps = { + pokemons: PropTypes.array.isRequired }; render() { - // const { pokemons } = this.props; + const { pokemons } = this.props; return (
-

pokepage here

- - poke list map here +
); } diff --git a/client/src/views/PokedexView.jsx b/client/src/views/PokedexView.jsx index fc3fc6a..0455522 100644 --- a/client/src/views/PokedexView.jsx +++ b/client/src/views/PokedexView.jsx @@ -13,7 +13,9 @@ import * as PokedexActions from 'actions/pokedex'; // console.log('poke api @ ', PokedexAPI); // map store -const mapStoreToProps = (store) => ({}); +const mapStoreToProps = (store) => ({ + pokedex: store.pokedex +}); // map actions const mapDispatchToProps = (dispatch) => ({ @@ -38,14 +40,8 @@ class PokedexContainer extends Component { } fetchData() { - console.log('>>> POKEDEX FETCH DATA'); - const { actions } = this.props; - // PokedexAPI.getAllPokemons().then((response) => { - // console.log('API @ ', response.data); - // }); - // fetch list of available widget components for builder actions.getPokemons(); } @@ -54,7 +50,7 @@ class PokedexContainer extends Component { const { pokedex } = this.props; return ( - + ); } } From ec2bfe1a68a6a642e86765c35e679deca95aff82 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 01:56:24 +0300 Subject: [PATCH 13/46] Minor cleanup --- client/src/components/test.jsx | 12 ------------ client/src/components/test.scss | 3 --- 2 files changed, 15 deletions(-) delete mode 100644 client/src/components/test.jsx delete mode 100644 client/src/components/test.scss diff --git a/client/src/components/test.jsx b/client/src/components/test.jsx deleted file mode 100644 index 1976979..0000000 --- a/client/src/components/test.jsx +++ /dev/null @@ -1,12 +0,0 @@ -// deps -import React, { Component } from 'react'; - -import './test.scss'; - -export default class Test extends Component { - render() { - return ( -
This is a test
- ); - } -} diff --git a/client/src/components/test.scss b/client/src/components/test.scss deleted file mode 100644 index 8386122..0000000 --- a/client/src/components/test.scss +++ /dev/null @@ -1,3 +0,0 @@ -.test { - background: #f00; -} From 9af5d0c6efd11464c4d048a972aeaab395f53aa9 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 02:58:39 +0300 Subject: [PATCH 14/46] Code the shit out of this #wip --- client/src/components/atoms/Grid/Grid.scss | 2 +- .../components/atoms/PokeCard/PokeCard.jsx | 57 ++++++++++++++----- .../components/atoms/PokeCard/PokeCard.scss | 15 +++-- .../components/modules/PokeList/PokeList.jsx | 4 +- client/src/constants/pokemon-types.js | 38 ++++++------- 5 files changed, 76 insertions(+), 40 deletions(-) diff --git a/client/src/components/atoms/Grid/Grid.scss b/client/src/components/atoms/Grid/Grid.scss index 1e83718..6c36140 100644 --- a/client/src/components/atoms/Grid/Grid.scss +++ b/client/src/components/atoms/Grid/Grid.scss @@ -1,4 +1,4 @@ -$grid-space: 10px; +$grid-space: 15px; $grid-gutter: $grid-space * 2; // Inspired by https://github.com/suitcss/components-grid diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx index 887cdaf..328270b 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.jsx +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -15,6 +15,8 @@ import POKEMON_TYPES from 'constants/pokemon-types'; import { blue50, blue300, blue500 } from 'material-ui/styles/colors'; import './PokeCard.scss'; +// helpers +const isNumber = /\d+/g; // [ // { @@ -60,6 +62,34 @@ export default class PokeCard extends Component { pokemon: PropTypes.object.isRequired }; + getPokemonTypeColors(types) { + const pokemonColors = types.map((pokemonType) => { + return POKEMON_TYPES[pokemonType].avatarColor; + }); + + return pokemonColors; + } + + getPokemonCandies(candies) { + return candies.match(isNumber) || 'None'; + } + + getHeaderStyle(types = []) { + const pokemonColors = this.getPokemonTypeColors(types); + + let headerBackground = pokemonColors[0]; + + // generate gradient if more colors + if (pokemonColors.length > 1) { + const [toColor, fromColor] = pokemonColors; + headerBackground = `-webkit-linear-gradient(top, ${toColor} 0%, ${fromColor} 100%)`; + } + + return { + background: headerBackground + }; + } + renderTypeChips(types) { const chips = types.map((type) => { // - - ? + + {type.substr(0, 1)} {type} @@ -96,24 +126,25 @@ export default class PokeCard extends Component { render() { const { pokemon } = this.props; + const { pokemonId } = pokemon; - // if (!pokemon) { return null; } - // const { name, pokemonId, type } = pokemon; - + const headerStyle = this.getHeaderStyle(pokemon.type); const pokemonTypeChips = this.renderTypeChips(pokemon.type); + const pokemonWeaknessesChips = this.renderTypeChips(pokemon.weaknesses); + const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemonId}.png`; - // const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemonId}.png`; + const pokemonCandies = this.getPokemonCandies(pokemon.candy); return (
-
- foo +
+ {pokemon.name}
-

Pikachiu

+

{pokemon.name}

{/*

#003

*/}
@@ -131,17 +162,17 @@ export default class PokeCard extends Component { >
Weight
-
9.68 kg
+
{pokemon.weight}
Height
-
0.84 m
+
{pokemon.height}
Candies
-
3 (C)
+
{pokemonCandies}
@@ -150,7 +181,7 @@ export default class PokeCard extends Component {
Weaknesses
- {pokemonTypeChips} + {pokemonWeaknessesChips}
diff --git a/client/src/components/atoms/PokeCard/PokeCard.scss b/client/src/components/atoms/PokeCard/PokeCard.scss index f28e715..33516a3 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.scss +++ b/client/src/components/atoms/PokeCard/PokeCard.scss @@ -1,19 +1,22 @@ -$pokecard-avatar-size: 120px; +@import '~scss/tools/mixins/position.scss'; +$pokecard-avatar-size: 120px; .PokeCard { position: relative; width: 100%; // padding: 10px 30px; - margin-bottom: 20px; + margin-bottom: 30px; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0px 23px 30px -20px rgba(#000, .2); - transition: all .2s ease-in-out; + // force HA + @include noflicker(); + transition: all 0.2s ease-in-out; &-Wrapper { width: 100%; @@ -24,7 +27,7 @@ $pokecard-avatar-size: 120px; // &:hover { cursor: pointer; - transform: translateY(-4px); + transform: translateY(-6px); box-shadow: 0px 27px 30px -20px rgba(#000, .3); } } @@ -54,7 +57,9 @@ $pokecard-avatar-size: 120px; width: $pokecard-avatar-size; height: $pokecard-avatar-size; - border-radius: 50px; + background: none; + + border-radius: 50%; border: 10px solid rgba(255, 255, 255, 0.2); } diff --git a/client/src/components/modules/PokeList/PokeList.jsx b/client/src/components/modules/PokeList/PokeList.jsx index 217c9ea..6e20dff 100644 --- a/client/src/components/modules/PokeList/PokeList.jsx +++ b/client/src/components/modules/PokeList/PokeList.jsx @@ -31,7 +31,7 @@ export default class PokeList extends Component { pokemons[7] ]; - const pokeCards = testList.map((pokemon) => { + const pokeCards = pokemons.map((pokemon) => { return ( @@ -46,13 +46,13 @@ export default class PokeList extends Component { const { pokemons } = this.props; const pokeCards = pokemons.length ? this.renderPokeCards() : 'No pokemons bro'; - console.log('POKEMONS @', pokemons); return (
{pokeCards} diff --git a/client/src/constants/pokemon-types.js b/client/src/constants/pokemon-types.js index a31b4a5..79ee342 100644 --- a/client/src/constants/pokemon-types.js +++ b/client/src/constants/pokemon-types.js @@ -44,55 +44,55 @@ import { const POKEMON_TYPES = { 'Normal': { avatarColor: grey300, - backgroundColor: 'cyan', + backgroundColor: '#e7e7e7', textColor: '#000' }, 'Fire': { avatarColor: orange700, - backgroundColor: orange700, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Water': { avatarColor: blue500, - backgroundColor: '#ccc', + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Electric': { avatarColor: yellow500, - backgroundColor: grey300, - textColor: '#FFF' + backgroundColor: '#e7e7e7', + textColor: '#000' }, 'Grass': { avatarColor: green600, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#000' }, 'Ice': { avatarColor: cyanA200, - backgroundColor: grey300, - textColor: '#FFF' + backgroundColor: '#e7e7e7', + textColor: '#000' }, 'Fighting': { avatarColor: red700, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Poison': { avatarColor: purple500, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Ground': { avatarColor: brown400, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, @@ -104,49 +104,49 @@ const POKEMON_TYPES = { 'Psychic': { avatarColor: pink600, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Bug': { avatarColor: lightGreen500, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Rock': { avatarColor: grey600, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Ghost': { avatarColor: deepPurple400, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Dragon': { avatarColor: red500, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Dark': { avatarColor: grey900, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Steel': { avatarColor: blueGrey400, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' }, 'Fairy': { avatarColor: purpleA100, - backgroundColor: grey300, + backgroundColor: '#e7e7e7', textColor: '#FFF' } }; From 859db424f54c3844cb159b8c6a5b3775f76f1afa Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 14:41:12 +0300 Subject: [PATCH 15/46] Add dynamic render of Pokemon details and update styling in PokeCard element --- client/src/api/api.js | 3 +- .../components/atoms/PokeCard/PokeCard.jsx | 80 +++++++++++++++---- .../components/atoms/PokeCard/PokeCard.scss | 30 +++++-- .../components/modules/PokeList/PokeList.jsx | 2 +- client/src/constants/pokemon-types.js | 2 +- client/src/scss/main.scss | 7 -- 6 files changed, 91 insertions(+), 33 deletions(-) diff --git a/client/src/api/api.js b/client/src/api/api.js index 0ec30a5..576fb01 100644 --- a/client/src/api/api.js +++ b/client/src/api/api.js @@ -8,8 +8,9 @@ import { store } from '../store'; // // Le API // +const IP = '192.168.0.103'; const API = create({ - baseURL: 'http://localhost:9090', + baseURL: `http://${IP}:9090`, headers: { // 'Authorization': TOKEN, // @TODO 'Content-Type': 'application/json', diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx index 328270b..9864ad3 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.jsx +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -74,6 +74,21 @@ export default class PokeCard extends Component { return candies.match(isNumber) || 'None'; } + getPokemonDetails(pokemon) { + const { height, weight, candy, egg } = pokemon; + const pokeDetails = { height, weight, candy, egg }; + + // format poke details keys to [value, type] format + // eg: { + // height: ['0.41', 'm'], + // weight: ['4.0', 'kg'] + // } + return Object.keys(pokeDetails).reduce((acc, curr) => { + acc[curr] = this.formatPokeDetail(pokeDetails[curr]); + return acc; + }, {}); + } + getHeaderStyle(types = []) { const pokemonColors = this.getPokemonTypeColors(types); @@ -81,7 +96,7 @@ export default class PokeCard extends Component { // generate gradient if more colors if (pokemonColors.length > 1) { - const [toColor, fromColor] = pokemonColors; + const [fromColor, toColor] = pokemonColors; headerBackground = `-webkit-linear-gradient(top, ${toColor} 0%, ${fromColor} 100%)`; } @@ -90,6 +105,14 @@ export default class PokeCard extends Component { }; } + formatPokeDetail(detail) { + if (detail.match(isNumber)) { + return detail.split(' '); + } + + return detail; + } + renderTypeChips(types) { const chips = types.map((type) => { // + {propValue} + {propScale} +
+ ) : propValue; + + return ( + +
{label}
+
+ {pokeDetailValue} +
+
+ ); + } + render() { const { pokemon } = this.props; const { pokemonId } = pokemon; @@ -133,13 +186,19 @@ export default class PokeCard extends Component { const pokemonWeaknessesChips = this.renderTypeChips(pokemon.weaknesses); const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemonId}.png`; - const pokemonCandies = this.getPokemonCandies(pokemon.candy); + const pokemonDetails = [ + this.renderPokeDetail('Weight', pokemon.weight), + this.renderPokeDetail('Height', pokemon.height), + this.renderPokeDetail('Candies', pokemon.candy) + ]; return (
- {pokemon.name} +
+ {pokemon.name} +
@@ -160,20 +219,7 @@ export default class PokeCard extends Component { flow="row" withGutter > - -
Weight
-
{pokemon.weight}
-
- - -
Height
-
{pokemon.height}
-
- - -
Candies
-
{pokemonCandies}
-
+ {pokemonDetails}
diff --git a/client/src/components/atoms/PokeCard/PokeCard.scss b/client/src/components/atoms/PokeCard/PokeCard.scss index 33516a3..19f963f 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.scss +++ b/client/src/components/atoms/PokeCard/PokeCard.scss @@ -1,6 +1,13 @@ @import '~scss/tools/mixins/position.scss'; $pokecard-avatar-size: 120px; +$pokecard-avatar-border-size: 10px; + +.PokeCard-Cell { + position: relative; + min-width: 300px; + width: 20%; +} .PokeCard { position: relative; @@ -44,36 +51,40 @@ $pokecard-avatar-size: 120px; .PokeCard-Name { font-size: 26px; - font-weight: 500; + font-weight: 400; letter-spacing: 1px; } .PokeCard-Avatar { position: absolute; - top: 50%; + top: 30%; left: 50%; transform: translateX(-50%); - width: $pokecard-avatar-size; - height: $pokecard-avatar-size; + width: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); + height: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); background: none; border-radius: 50%; - border: 10px solid rgba(255, 255, 255, 0.2); + border: $pokecard-avatar-border-size solid rgba(255, 255, 255, 0.2); } .PokeCard-Content { - padding: 55px 20px; + padding: 35px 20px; background: #fff; text-align: center; } .PokeCard-Properties { + padding: 20px; margin: 40px 0; color: #333; + border: 1px dashed #dcdcdc; + border-left: 0; + border-right: 0; } .PokeCard-Property-Name { @@ -83,6 +94,13 @@ $pokecard-avatar-size: 120px; .PokeCard-Property-Value { font-size: 20px; + + span { + margin-left: 5px; + + font-size: 16px; + color: #bbb; + } } .PokeCard-Chips { diff --git a/client/src/components/modules/PokeList/PokeList.jsx b/client/src/components/modules/PokeList/PokeList.jsx index 6e20dff..35b44f8 100644 --- a/client/src/components/modules/PokeList/PokeList.jsx +++ b/client/src/components/modules/PokeList/PokeList.jsx @@ -33,7 +33,7 @@ export default class PokeList extends Component { const pokeCards = pokemons.map((pokemon) => { return ( - + ); diff --git a/client/src/constants/pokemon-types.js b/client/src/constants/pokemon-types.js index 79ee342..207a951 100644 --- a/client/src/constants/pokemon-types.js +++ b/client/src/constants/pokemon-types.js @@ -43,7 +43,7 @@ import { const POKEMON_TYPES = { 'Normal': { - avatarColor: grey300, + avatarColor: '#d8d8d8', backgroundColor: '#e7e7e7', textColor: '#000' }, diff --git a/client/src/scss/main.scss b/client/src/scss/main.scss index b8ffc5e..af61655 100644 --- a/client/src/scss/main.scss +++ b/client/src/scss/main.scss @@ -8,10 +8,3 @@ // Common global + layout @import 'common/global'; @import 'common/layout'; - -// -// Custom stuffz here (go components!) -// -body { - background: #ccc; -} From a3bc500f727da0b0c8789f23faccf6a291445e34 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sat, 6 Aug 2016 18:58:29 +0300 Subject: [PATCH 16/46] Refactor PokeList into PokedexList and PokedexItem components. We're getting there! #wip --- .../components/atoms/PokeCard/PokeCard.jsx | 4 + .../components/atoms/PokeCard/PokeCard.scss | 13 +- .../components/modules/PokeList/PokeList.jsx | 62 ------- .../components/modules/PokeList/PokeList.scss | 3 - .../src/components/modules/PokeList/index.js | 1 - .../modules/PokedexList/PokedexItem.jsx | 37 ++++ .../modules/PokedexList/PokedexList.jsx | 166 ++++++++++++++++++ .../modules/PokedexList/PokedexList.scss | 80 +++++++++ .../components/modules/PokedexList/index.js | 1 + .../pages/PokedexPage/PokedexPage.jsx | 4 +- 10 files changed, 297 insertions(+), 74 deletions(-) delete mode 100644 client/src/components/modules/PokeList/PokeList.jsx delete mode 100644 client/src/components/modules/PokeList/PokeList.scss delete mode 100644 client/src/components/modules/PokeList/index.js create mode 100644 client/src/components/modules/PokedexList/PokedexItem.jsx create mode 100644 client/src/components/modules/PokedexList/PokedexList.jsx create mode 100644 client/src/components/modules/PokedexList/PokedexList.scss create mode 100644 client/src/components/modules/PokedexList/index.js diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx index 9864ad3..b9e35ea 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.jsx +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -184,6 +184,10 @@ export default class PokeCard extends Component { const headerStyle = this.getHeaderStyle(pokemon.type); const pokemonTypeChips = this.renderTypeChips(pokemon.type); const pokemonWeaknessesChips = this.renderTypeChips(pokemon.weaknesses); + + // const pokemonImage = `http://www.pokestadium.com/sprites/xy/${pokemon.name.toLowerCase()}.gif`; + // const pokemonImage = `http://www.pkparaiso.com/imagenes/xy/sprites/animados/${pokemon.name.toLowerCase()}.gif`; + // const pokemonImage = `http://pokemon-online.eu/images/pokemon/x-y/animated/${pokemonId}.gif`; const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemonId}.png`; const pokemonDetails = [ diff --git a/client/src/components/atoms/PokeCard/PokeCard.scss b/client/src/components/atoms/PokeCard/PokeCard.scss index 19f963f..6485091 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.scss +++ b/client/src/components/atoms/PokeCard/PokeCard.scss @@ -7,6 +7,8 @@ $pokecard-avatar-border-size: 10px; position: relative; min-width: 300px; width: 20%; + + margin-bottom: 30px; } .PokeCard { @@ -14,7 +16,6 @@ $pokecard-avatar-border-size: 10px; width: 100%; // padding: 10px 30px; - margin-bottom: 30px; background: #fff; border-radius: 10px; @@ -32,11 +33,11 @@ $pokecard-avatar-border-size: 10px; } // - &:hover { - cursor: pointer; - transform: translateY(-6px); - box-shadow: 0px 27px 30px -20px rgba(#000, .3); - } + // &:hover { + // cursor: pointer; + // transform: translateY(-6px); + // box-shadow: 0px 27px 30px -20px rgba(#000, .3); + // } } .PokeCard-Header { diff --git a/client/src/components/modules/PokeList/PokeList.jsx b/client/src/components/modules/PokeList/PokeList.jsx deleted file mode 100644 index 35b44f8..0000000 --- a/client/src/components/modules/PokeList/PokeList.jsx +++ /dev/null @@ -1,62 +0,0 @@ -// deps -import React, { Component, PropTypes } from 'react'; - -// components -import { Grid, GridCell } from 'components/atoms/Grid'; -import PokeCard from 'components/atoms/PokeCard'; - -// style -import './PokeList.scss'; - -export default class PokeList extends Component { - static propTypes = { - pokemons: PropTypes.array.isRequired - }; - - static defaultProps = { - pokemons: [] - }; - - renderPokeCards() { - const { pokemons } = this.props; - - const testList = [ - pokemons[0], - pokemons[1], - pokemons[2], - pokemons[3], - pokemons[4], - pokemons[5], - pokemons[6], - pokemons[7] - ]; - - const pokeCards = pokemons.map((pokemon) => { - return ( - - - - ); - }); - - return pokeCards; - } - - render() { - const { pokemons } = this.props; - - const pokeCards = pokemons.length ? this.renderPokeCards() : 'No pokemons bro'; - - return ( -
- - {pokeCards} - -
- ); - } -} diff --git a/client/src/components/modules/PokeList/PokeList.scss b/client/src/components/modules/PokeList/PokeList.scss deleted file mode 100644 index b5d55f2..0000000 --- a/client/src/components/modules/PokeList/PokeList.scss +++ /dev/null @@ -1,3 +0,0 @@ -.PokeList { - padding: 30px 50px; -} diff --git a/client/src/components/modules/PokeList/index.js b/client/src/components/modules/PokeList/index.js deleted file mode 100644 index a8df5f9..0000000 --- a/client/src/components/modules/PokeList/index.js +++ /dev/null @@ -1 +0,0 @@ -export default from './PokeList'; diff --git a/client/src/components/modules/PokedexList/PokedexItem.jsx b/client/src/components/modules/PokedexList/PokedexItem.jsx new file mode 100644 index 0000000..63c3c88 --- /dev/null +++ b/client/src/components/modules/PokedexList/PokedexItem.jsx @@ -0,0 +1,37 @@ +// deps +import React, { Component, PropTypes } from 'react'; + +// components +import Paper from 'material-ui/Paper'; + +const paperStyle = { + // height: 100, + width: '100%', + // margin: 20, + textAlign: 'center', + display: 'inline-block' +}; + +const PokedexItem = (props) => { + const { pokemon, ...otherProps } = props; + + const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemon.pokemonId}.png`; + + return ( +
+
+
+ {pokemon.name} +
+

{pokemon.name}

+
+
+
+ ); +}; + +PokedexItem.propTypes = { + pokemon: PropTypes.object +}; + +export default PokedexItem; diff --git a/client/src/components/modules/PokedexList/PokedexList.jsx b/client/src/components/modules/PokedexList/PokedexList.jsx new file mode 100644 index 0000000..6f8e78a --- /dev/null +++ b/client/src/components/modules/PokedexList/PokedexList.jsx @@ -0,0 +1,166 @@ +// deps +import React, { Component, PropTypes } from 'react'; + +// components +import Popover from 'material-ui/Popover'; +import { Grid, GridCell } from 'components/atoms/Grid'; +import PokedexItem from './PokedexItem'; +import PokeCard from 'components/atoms/PokeCard'; + +// style +import './PokedexList.scss'; + +const popoverStyle = { + width: 300, + background: 0, + borderRadius: 10 + // boxShadow: 0 +}; + +export default class PokedexList extends Component { + static propTypes = { + pokemons: PropTypes.array.isRequired + }; + + static defaultProps = { + pokemons: [] + }; + + constructor(props) { + super(props); + + this.state = { + pokedexAnchor: null, + pokedexOpened: false, + pokedexPokemon: null + }; + + this.renderPokedex = this.renderPokedex.bind(this); + this.renderPokedexPopover = this.renderPokedexPopover.bind(this); + this.openDex = this.openDex.bind(this); + this.closeDex = this.closeDex.bind(this); + } + + openDex(pokemonId, event) { + // console.log('!!! OPEN pokedex @ ', pokemonId, event.currentTarget); + const { pokemons } = this.props; + + // find pokemon + const pokemonDex = pokemons.filter((pokemon) => { return pokemon.id === pokemonId; })[0]; + + // prevent ghost click + event.preventDefault(); + + this.setState({ + pokedexAnchor: event.currentTarget, + pokedexPokemon: pokemonDex, + pokedexOpened: true + }); + } + + closeDex() { + // console.log('!!! CLOSE pokedex'); + this.setState({ + pokedexOpened: false, + pokedexPokemon: null + }); + } + + renderPokedexPopover() { + const { pokedexOpened, pokedexAnchor, pokedexPokemon } = this.state; + + const pokeCard = pokedexPokemon ? () : null; + + return ( + + {pokeCard} + + ); + } + + renderPokedex() { + const { pokemons } = this.props; + + const pokeCards = pokemons.map((pokemon) => { + return ( + + + + ); + }); + + return pokeCards; + } + + renderPokeCards() { + const { pokemons } = this.props; + + const testList = [ + pokemons[5], + pokemons[98], + pokemons[69], + pokemons[55], + pokemons[100] + ]; + + const pokeCards = testList.map((pokemon) => { + return ( + + + + ); + }); + + return ( + + {pokeCards} + + ); + } + + render() { + const { pokemons } = this.props; + + const pokeCards = pokemons.length ? this.renderPokeCards() : null; + const pokeDex = pokemons.length ? this.renderPokedex() : 'No pokemons bro'; + const pokedexPopover = this.renderPokedexPopover(); + + return ( +
+ {pokeCards} +
+
+ + + {pokeDex} + {pokedexPopover} + +
+ ); + } +} diff --git a/client/src/components/modules/PokedexList/PokedexList.scss b/client/src/components/modules/PokedexList/PokedexList.scss new file mode 100644 index 0000000..1831e28 --- /dev/null +++ b/client/src/components/modules/PokedexList/PokedexList.scss @@ -0,0 +1,80 @@ +@import '~scss/tools/mixins/position.scss'; + +$pokecard-avatar-size: 100px; +$pokecard-avatar-border-size: 10px; + +.PokedexList { + width: 100%; + // max-width: 1000px; + + padding: 100px 50px; + // margin: 100px auto; +} + +.PokedexItem-Cell { + position: relative; + width: 270px; + + margin-bottom: 70px; +} + +.PokedexItem { + position: relative; + width: 100%; + + padding: 70px 0 10px; + + text-align: center; + background: #fff; + border-radius: 10px; + + // overflow: hidden; + box-shadow: 0px 23px 30px -20px rgba(#000, .2); + + // force HA + @include noflicker(); + transition: all 0.2s ease-in-out; + + // + &:hover { + cursor: pointer; + transform: translateY(-6px); + box-shadow: 0px 27px 30px -20px rgba(#000, .3); + } +} + +.PokedexItem-Name { + font-size: 18px; + font-weight: 300; +} + +.PokedexItem-Avatar { + z-index: 1; + + display: inline-block; + + // width: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); + // height: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); + + background: none; +} + +.PokedexItem-Avatar, +.PokedexItem-Circle { + position: absolute; + top: -30%; + left: 50%; + transform: translateX(-50%); + + width: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); + height: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); +} + +.PokedexItem-Circle { + z-index: -1; + + // background: #f00; + + border-radius: 50%; + border: $pokecard-avatar-border-size solid rgba(255, 255, 255, 0.7); +} diff --git a/client/src/components/modules/PokedexList/index.js b/client/src/components/modules/PokedexList/index.js new file mode 100644 index 0000000..a5aea8f --- /dev/null +++ b/client/src/components/modules/PokedexList/index.js @@ -0,0 +1 @@ +export default from './PokedexList'; diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx index 87ba20e..3ed6db7 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.jsx +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -2,7 +2,7 @@ import React, { Component, PropTypes } from 'react'; // components -import PokeList from 'components/modules/PokeList'; +import PokedexList from 'components/modules/PokedexList'; // style import './PokedexPage.scss'; @@ -17,7 +17,7 @@ export default class PokedexPage extends Component { return (
- +
); } From 91156612580dbe59199a7ded48d93b8bbe0ca175 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 15:25:29 +0300 Subject: [PATCH 17/46] Add Filters state, actions and reducer --- client/.eslintrc.js | 2 +- client/src/constants/action-types.js | 6 ++++++ client/src/store/initial-state.js | 6 ++++++ client/src/store/reducers/filters.js | 24 ++++++++++++++++++++++++ client/src/store/reducers/index.js | 4 +++- 5 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 client/src/store/reducers/filters.js diff --git a/client/.eslintrc.js b/client/.eslintrc.js index 435a047..9c7d2d2 100644 --- a/client/.eslintrc.js +++ b/client/.eslintrc.js @@ -17,7 +17,7 @@ module.exports = exports = { rules: { 'global-require': WARN, 'arrow-body-style': [WARN, 'always'], - 'comma-dangle': [ERROR, 'never'], + 'comma-dangle': [WARN, 'never'], 'import/no-mutable-exports': WARN, 'import/no-unresolved': OFF, 'quote-props': [ERROR, 'consistent-as-needed'], diff --git a/client/src/constants/action-types.js b/client/src/constants/action-types.js index 86e304c..0fe0552 100644 --- a/client/src/constants/action-types.js +++ b/client/src/constants/action-types.js @@ -26,3 +26,9 @@ export const POKEDEX_TYPES = createConstants( export const LOCATION_TYPES = createConstants( 'LOCATION_LOAD_MAP' ); + +// filters +export const FILTERS_TYPES = createConstants( + 'FILTERS_RESET', + 'FILTERS_SEARCH_UPDATE' +); diff --git a/client/src/store/initial-state.js b/client/src/store/initial-state.js index f5546a7..535a2fa 100644 --- a/client/src/store/initial-state.js +++ b/client/src/store/initial-state.js @@ -10,6 +10,12 @@ export const POKEDEX_STATE = { pokemons: [] }; +export const FILTERS_STATE = { + search: { + query: '' + } +}; + // expose INITIAL state export default { location: LOCATION_STATE, diff --git a/client/src/store/reducers/filters.js b/client/src/store/reducers/filters.js new file mode 100644 index 0000000..c945524 --- /dev/null +++ b/client/src/store/reducers/filters.js @@ -0,0 +1,24 @@ +// deps +import createReducer from 'utils/createReducer'; +import { merge } from 'lodash'; + +// initial state & constants +import { FILTERS_STATE } from '../initial-state'; +import { FILTERS_TYPES } from 'constants/action-types'; + +export default createReducer(FILTERS_STATE, { + [FILTERS_TYPES.FILTERS_RESET]: (state, action) => { + return merge({}, FILTERS_STATE); + }, + + [FILTERS_TYPES.FILTERS_SEARCH_UPDATE]: (state, action) => { + const { payload } = action; + + return { + ...state, + search: { + query: payload + } + }; + } +}); diff --git a/client/src/store/reducers/index.js b/client/src/store/reducers/index.js index cc2426c..164b136 100644 --- a/client/src/store/reducers/index.js +++ b/client/src/store/reducers/index.js @@ -5,9 +5,11 @@ import { routerStateReducer } from 'redux-router'; // reducers import location from './location'; import pokedex from './pokedex'; +import filters from './filters'; export default combineReducers({ router: routerStateReducer, location, - pokedex + pokedex, + filters }); From 634d7fbdb6ec3bb2209161a4608d2decd7d708b2 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 15:26:30 +0300 Subject: [PATCH 18/46] Create PokemonIcon atom component --- .../atoms/PokemonIcon/PokemonIcon.jsx | 31 +++++++++++++++++++ .../src/components/atoms/PokemonIcon/index.js | 1 + 2 files changed, 32 insertions(+) create mode 100644 client/src/components/atoms/PokemonIcon/PokemonIcon.jsx create mode 100644 client/src/components/atoms/PokemonIcon/index.js diff --git a/client/src/components/atoms/PokemonIcon/PokemonIcon.jsx b/client/src/components/atoms/PokemonIcon/PokemonIcon.jsx new file mode 100644 index 0000000..caeabac --- /dev/null +++ b/client/src/components/atoms/PokemonIcon/PokemonIcon.jsx @@ -0,0 +1,31 @@ +// deps +import React, { PropTypes } from 'react'; + +const PokemonIcon = (props) => { + const { pokemon, animated, ...otherProps } = props; + + // static PNG + const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemon.pokemonId}.png`; + + // @TODO: add props.animated and switch to GIF ? + // const pokemonImage = `http://www.pokestadium.com/sprites/xy/${pokemon.name.toLowerCase()}.gif`; + // const pokemonImage = `http://www.pkparaiso.com/imagenes/xy/sprites/animados/${pokemon.name.toLowerCase()}.gif`; + // const pokemonImage = `http://pokemon-online.eu/images/pokemon/x-y/animated/${pokemon.pokemonId}.gif`; + + return ( +
+ {pokemon.name} +
+ ); +}; + +PokemonIcon.propTypes = { + pokemon: PropTypes.object, + animated: PropTypes.bool +}; + +PokemonIcon.defaultProps = { + animated: false +}; + +export default PokemonIcon; diff --git a/client/src/components/atoms/PokemonIcon/index.js b/client/src/components/atoms/PokemonIcon/index.js new file mode 100644 index 0000000..a75cf50 --- /dev/null +++ b/client/src/components/atoms/PokemonIcon/index.js @@ -0,0 +1 @@ +export default from './PokemonIcon'; From eb976deaa970501b11538ab8a2e4d5dc28ed3c11 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 15:26:54 +0300 Subject: [PATCH 19/46] Create filterList and isValidItem helpers to filter Pokemons search --- client/src/utils/filterList.js | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 client/src/utils/filterList.js diff --git a/client/src/utils/filterList.js b/client/src/utils/filterList.js new file mode 100644 index 0000000..5b093be --- /dev/null +++ b/client/src/utils/filterList.js @@ -0,0 +1,65 @@ +export function isValidItem(searchQuery, item, sanitize = false) { + // sanitize + const keyword = sanitize ? searchQuery.replace(/\\/g, '') : searchQuery; + const keywordRegexp = new RegExp(keyword, 'ig'); + + const itemMainKey = item.text; + const itemExtraKeys = item.extra || null; + + let itemIsValid = false; + + // + // Validation for words + // + if (keyword.length > 1) { + // check 'text' key first + if (keywordRegexp.test(itemMainKey) === true) { + itemIsValid = true; + } else { + if (itemExtraKeys) { + Object.keys(itemExtraKeys).forEach((key) => { + if (keywordRegexp.test(itemExtraKeys[key]) === true) { + itemIsValid = true; + } + }); + } + } + } else if (keyword.length === 1) { + // check first letter of text node + // itemIsValid = (itemMainKey.slice(0, 1).toLowerCase() === keyword.toLowerCase()); + + // check all body of text node + itemIsValid = (keyword !== '' && itemMainKey.indexOf(keyword) !== -1); + } else { + // if we don't provide any keywords, we return the valid item + itemIsValid = true; + } + + return itemIsValid; +} + +export default function filterList(searchTerm = null, list = [], sortResults = true) { + // + // if widget has no data, don't show anything + // + if (!list.length || !searchTerm) { + return null; + } + + // sanitize + const keyword = searchTerm.replace(/\\/g, ''); + + // filter list + let filteredArray = []; + + filteredArray = list.filter((item) => { + return isValidItem(keyword, item); + }); + + // perform sorting + if (sortResults) { + filteredArray = filteredArray.sort(); + } + + return filteredArray; +} From 0f93a75501b26e84fd4541d6b9d612432cc5e5d5 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 15:34:11 +0300 Subject: [PATCH 20/46] Minor refactor to reflect new PokemonIcon atom element --- client/package.json | 1 + client/src/components/atoms/PokeCard/PokeCard.jsx | 8 ++------ .../components/modules/PokedexList/PokedexItem.jsx | 5 ++--- .../components/modules/PokedexList/PokedexList.jsx | 11 +++++++---- client/src/{ => components}/views/HomeView.jsx | 0 client/src/{ => components}/views/LocationView.jsx | 0 client/src/{ => components}/views/PokedexView.jsx | 4 ++-- client/src/routes.js | 6 +++--- 8 files changed, 17 insertions(+), 18 deletions(-) rename client/src/{ => components}/views/HomeView.jsx (100%) rename client/src/{ => components}/views/LocationView.jsx (100%) rename client/src/{ => components}/views/PokedexView.jsx (92%) diff --git a/client/package.json b/client/package.json index 8ac50f6..3b20a61 100644 --- a/client/package.json +++ b/client/package.json @@ -32,6 +32,7 @@ "material-ui": "^0.15.3", "normalize.css": "3.0.3", "react": "^15.3.0", + "react-addons-shallow-compare": "^15.3.0", "react-dom": "^15.3.0", "react-redux": "^4.4.5", "react-router": "^2.6.1", diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx index b9e35ea..098d553 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.jsx +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -6,6 +6,7 @@ import Avatar from 'material-ui/Avatar'; import Chip from 'material-ui/Chip'; import RaisedButton from 'material-ui/RaisedButton'; import { Grid, GridCell } from 'components/atoms/Grid'; +import PokemonIcon from 'components/atoms/PokemonIcon'; // constants / models (prop types) import POKEMON_TYPES from 'constants/pokemon-types'; @@ -185,11 +186,6 @@ export default class PokeCard extends Component { const pokemonTypeChips = this.renderTypeChips(pokemon.type); const pokemonWeaknessesChips = this.renderTypeChips(pokemon.weaknesses); - // const pokemonImage = `http://www.pokestadium.com/sprites/xy/${pokemon.name.toLowerCase()}.gif`; - // const pokemonImage = `http://www.pkparaiso.com/imagenes/xy/sprites/animados/${pokemon.name.toLowerCase()}.gif`; - // const pokemonImage = `http://pokemon-online.eu/images/pokemon/x-y/animated/${pokemonId}.gif`; - const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemonId}.png`; - const pokemonDetails = [ this.renderPokeDetail('Weight', pokemon.weight), this.renderPokeDetail('Height', pokemon.height), @@ -201,7 +197,7 @@ export default class PokeCard extends Component {
- {pokemon.name} +
diff --git a/client/src/components/modules/PokedexList/PokedexItem.jsx b/client/src/components/modules/PokedexList/PokedexItem.jsx index 63c3c88..0b141d6 100644 --- a/client/src/components/modules/PokedexList/PokedexItem.jsx +++ b/client/src/components/modules/PokedexList/PokedexItem.jsx @@ -3,6 +3,7 @@ import React, { Component, PropTypes } from 'react'; // components import Paper from 'material-ui/Paper'; +import PokemonIcon from 'components/atoms/PokemonIcon'; const paperStyle = { // height: 100, @@ -15,13 +16,11 @@ const paperStyle = { const PokedexItem = (props) => { const { pokemon, ...otherProps } = props; - const pokemonImage = `http://www.serebii.net/pokemongo/pokemon/${pokemon.pokemonId}.png`; - return (
- {pokemon.name} +

{pokemon.name}

diff --git a/client/src/components/modules/PokedexList/PokedexList.jsx b/client/src/components/modules/PokedexList/PokedexList.jsx index 6f8e78a..e802ecd 100644 --- a/client/src/components/modules/PokedexList/PokedexList.jsx +++ b/client/src/components/modules/PokedexList/PokedexList.jsx @@ -32,7 +32,7 @@ export default class PokedexList extends Component { this.state = { pokedexAnchor: null, pokedexOpened: false, - pokedexPokemon: null + pokedexPokemon: null, }; this.renderPokedex = this.renderPokedex.bind(this); @@ -140,10 +140,13 @@ export default class PokedexList extends Component { render() { const { pokemons } = this.props; + const hasPokemons = (pokemons && pokemons.length); + + if (!hasPokemons) return 'No pokemons to list'; - const pokeCards = pokemons.length ? this.renderPokeCards() : null; - const pokeDex = pokemons.length ? this.renderPokedex() : 'No pokemons bro'; - const pokedexPopover = this.renderPokedexPopover(); + const pokeCards = hasPokemons ? this.renderPokeCards() : null; + const pokeDex = hasPokemons ? this.renderPokedex() : 'No pokemons bro'; + const pokedexPopover = hasPokemons ? this.renderPokedexPopover() : null; return (
diff --git a/client/src/views/HomeView.jsx b/client/src/components/views/HomeView.jsx similarity index 100% rename from client/src/views/HomeView.jsx rename to client/src/components/views/HomeView.jsx diff --git a/client/src/views/LocationView.jsx b/client/src/components/views/LocationView.jsx similarity index 100% rename from client/src/views/LocationView.jsx rename to client/src/components/views/LocationView.jsx diff --git a/client/src/views/PokedexView.jsx b/client/src/components/views/PokedexView.jsx similarity index 92% rename from client/src/views/PokedexView.jsx rename to client/src/components/views/PokedexView.jsx index 0455522..29f4d42 100644 --- a/client/src/views/PokedexView.jsx +++ b/client/src/components/views/PokedexView.jsx @@ -28,7 +28,7 @@ const mapDispatchToProps = (dispatch) => ({ class PokedexContainer extends Component { static propTypes = { actions: PropTypes.object.isRequired, - pokedex: PropTypes.object // .isRequired + pokedex: PropTypes.any.isRequired } // constructor(props) { @@ -50,7 +50,7 @@ class PokedexContainer extends Component { const { pokedex } = this.props; return ( - + ); } } diff --git a/client/src/routes.js b/client/src/routes.js index 5515441..c0ee503 100644 --- a/client/src/routes.js +++ b/client/src/routes.js @@ -4,9 +4,9 @@ import { Route, IndexRoute, IndexRedirect } from 'react-router'; // containers import App from 'containers/App'; -import HomeView from 'views/HomeView'; -import PokedexView from 'views/PokedexView'; -import LocationView from 'views/LocationView'; +import HomeView from 'components/views/HomeView'; +import PokedexView from 'components/views/PokedexView'; +import LocationView from 'components/views/LocationView'; const onCheckAuth = () => { console.log('ROUTE CHECK AUTH!!!'); From 7f86fd2a68d8218114b95e2e292496512fa73a76 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 18:32:33 +0300 Subject: [PATCH 21/46] Create PokedexSearch module --- .../modules/PokedexSearch/PokedexSearch.jsx | 119 ++++++++++++++++++ .../modules/PokedexSearch/PokedexSearch.scss | 11 ++ .../components/modules/PokedexSearch/index.js | 1 + 3 files changed, 131 insertions(+) create mode 100644 client/src/components/modules/PokedexSearch/PokedexSearch.jsx create mode 100644 client/src/components/modules/PokedexSearch/PokedexSearch.scss create mode 100644 client/src/components/modules/PokedexSearch/index.js diff --git a/client/src/components/modules/PokedexSearch/PokedexSearch.jsx b/client/src/components/modules/PokedexSearch/PokedexSearch.jsx new file mode 100644 index 0000000..356756f --- /dev/null +++ b/client/src/components/modules/PokedexSearch/PokedexSearch.jsx @@ -0,0 +1,119 @@ +// deps +import React, { Component, PropTypes } from 'react'; +import shallowCompare from 'react-addons-shallow-compare'; + +// helpers +import { isValidItem } from 'utils/filterList'; + +// components +import AutoComplete from 'material-ui/AutoComplete'; +import MenuItem from 'material-ui/MenuItem'; +import PokemonIcon from 'components/atoms/PokemonIcon'; + +// style +import './PokedexSearch.scss'; + +export default class PokedexSearch extends Component { + static propTypes = { + pokemons: PropTypes.array + }; + + static defaultProps = { + pokemons: [] + }; + + constructor(props) { + super(props); + + const searchOptions = this.buildSearchOptions(props); + + console.log('>> PokedexSearch @@ ', searchOptions); + + this.state = { + searchOptions + }; + + this.onSearchFilter = this.onSearchFilter.bind(this); + this.onSearchUpdate = this.onSearchUpdate.bind(this); + } + + shouldComponentUpdate(nextProps, nextState) { + return shallowCompare(this, nextProps, nextState); + } + + onSearchSelect(chosenItem, index) { + console.log('<<< search select ', chosenItem, index); + } + + onSearchUpdate(searchTerm) { + console.log('>>> search term : ', searchTerm); + } + + onSearchFilter(searchText, key, item) { + if (!searchText) { return null; } + return isValidItem(searchText, item); + } + + buildSearchOptions(props) { + console.log('>> BUILD SEARCH OPTIONS '); + + const { pokemons } = props; + + // map Pokemons list + const searchItems = pokemons.map(pokemon => { + return { + id: pokemon.id, + text: pokemon.name, + value: this.renderSearchItem(pokemon), // must be + + // extra lookup search terms + extra: { + id: pokemon.pokemonId, + type: pokemon.type + } + }; + }); + + return searchItems; + } + + renderSearchItem(pokemon) { + return ( + } + > + {pokemon.pokemonId} {pokemon.name} + + ); + } + + renderSearch() { + const { searchOptions } = this.state; + + return ( +
+ +
+ ); + } + + render() { + const node = this.renderSearch(); + + return ( +
+ {node} +
+ ); + } +} diff --git a/client/src/components/modules/PokedexSearch/PokedexSearch.scss b/client/src/components/modules/PokedexSearch/PokedexSearch.scss new file mode 100644 index 0000000..593ac0c --- /dev/null +++ b/client/src/components/modules/PokedexSearch/PokedexSearch.scss @@ -0,0 +1,11 @@ +.PokedexSearch { + width: 100%; + max-width: 500px; + + margin: 0 auto 70px; + text-align: center;; +} + +.PokedexSearch-Input { + +} diff --git a/client/src/components/modules/PokedexSearch/index.js b/client/src/components/modules/PokedexSearch/index.js new file mode 100644 index 0000000..6f108de --- /dev/null +++ b/client/src/components/modules/PokedexSearch/index.js @@ -0,0 +1 @@ +export default from './PokedexSearch'; From 57988957291134fdc4a0951c68d0fa58a431f0ac Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 18:32:55 +0300 Subject: [PATCH 22/46] Add PokeLoader atom component (rename this to PokeLogo maybe ?) --- .../atoms/PokeLoader/PokeLoader.jsx | 16 + .../atoms/PokeLoader/PokeLoader.scss | 819 ++++++++++++++++++ .../src/components/atoms/PokeLoader/index.js | 1 + client/src/scss/tools/mixins/animation.scss | 27 + 4 files changed, 863 insertions(+) create mode 100644 client/src/components/atoms/PokeLoader/PokeLoader.jsx create mode 100644 client/src/components/atoms/PokeLoader/PokeLoader.scss create mode 100644 client/src/components/atoms/PokeLoader/index.js create mode 100644 client/src/scss/tools/mixins/animation.scss diff --git a/client/src/components/atoms/PokeLoader/PokeLoader.jsx b/client/src/components/atoms/PokeLoader/PokeLoader.jsx new file mode 100644 index 0000000..0a951e0 --- /dev/null +++ b/client/src/components/atoms/PokeLoader/PokeLoader.jsx @@ -0,0 +1,16 @@ +// deps +import React, { Component, PropTypes } from 'react'; + +// style +import './PokeLoader.scss'; + +const PokeLoader = (props) => { + return ( +
+
+
+
+ ); +}; + +export default PokeLoader; diff --git a/client/src/components/atoms/PokeLoader/PokeLoader.scss b/client/src/components/atoms/PokeLoader/PokeLoader.scss new file mode 100644 index 0000000..5fd3946 --- /dev/null +++ b/client/src/components/atoms/PokeLoader/PokeLoader.scss @@ -0,0 +1,819 @@ +@import '~scss/tools/mixins/animation.scss'; + +$size: 4px; + +/* Black and white, like the old days */ +// $ash-line: #181818; +// $ash-hat: #cdcdcd; +// $ash-hat-front: #f9f9f9; +// $ash-face: #fdfdfd; +// $ash-mouth: #cdcdcd; +// $ash-backpack: #cdcdcd; +// $ash-hand: #fdfdfd; +// $ash-pants: #cdcdcd; +// $ash-shoes: #cdcdcd; + +// $pikachu-line: #181818; +// $pikachu-body: #f8f8f8; +// $pikachu-cheeck: #c0c0c0; +// $pikachu-tail: #c0c0c0; + +/* In HD colors ;) */ +$ash-line: #181818; +$ash-hat: #e31613; +$ash-hat-front: #f7f7f7; +$ash-face: #f0c3aa; +$ash-mouth: #f0c3aa; +$ash-backpack: #037efb; +$ash-hand: #f0c3aa; +$ash-pants: #ffffff; +$ash-shoes: #ffffff; + +$pikachu-line: #181818; +$pikachu-body: #fefe00; +$pikachu-cheeck: #fe4100; +$pikachu-tail: #823e00; + +#ash, +#pikachu { + position: relative; + display: inline-block; + margin: 0 10px; + overflow: hidden; + + &:before, + &:after { + content: " "; + position: absolute; + + width: $size; + height: $size; + + top: 0; + left: 0; + } + + &:before { + // When animations is not supported + margin-left: $size * 30; + } +} + +#ash { + width: $size * 13; + height: $size * 16; + + &:before { + box-shadow: ( + // Row 1 + $size * 3 $size 0 0 $ash-line, + $size * 4 $size 0 0 $ash-line, + $size * 5 $size 0 0 $ash-line, + $size * 6 $size 0 0 $ash-line, + $size * 7 $size 0 0 $ash-line, + $size * 8 $size 0 0 $ash-line, + + // Row 2 + $size * 2 $size * 2 0 0 $ash-line, + $size * 3 $size * 2 0 0 $ash-hat, + $size * 4 $size * 2 0 0 $ash-hat, + $size * 5 $size * 2 0 0 $ash-hat, + $size * 6 $size * 2 0 0 $ash-hat, + $size * 7 $size * 2 0 0 $ash-hat, + $size * 8 $size * 2 0 0 $ash-hat, + $size * 9 $size * 2 0 0 $ash-line, + + // Row 3 + $size $size * 3 0 0 $ash-line, + $size * 2 $size * 3 0 0 $ash-hat, + $size * 3 $size * 3 0 0 $ash-hat, + $size * 4 $size * 3 0 0 $ash-hat, + $size * 5 $size * 3 0 0 $ash-hat, + $size * 6 $size * 3 0 0 $ash-hat, + $size * 7 $size * 3 0 0 $ash-hat, + $size * 8 $size * 3 0 0 $ash-hat, + $size * 9 $size * 3 0 0 $ash-hat, + $size * 10 $size * 3 0 0 $ash-line, + + // Row 4 + $size $size * 4 0 0 $ash-line, + $size * 2 $size * 4 0 0 $ash-hat, + $size * 3 $size * 4 0 0 $ash-hat, + $size * 4 $size * 4 0 0 $ash-hat, + $size * 5 $size * 4 0 0 $ash-hat, + $size * 6 $size * 4 0 0 $ash-hat, + $size * 7 $size * 4 0 0 $ash-hat, + $size * 8 $size * 4 0 0 $ash-hat, + $size * 9 $size * 4 0 0 $ash-hat-front, + $size * 10 $size * 4 0 0 $ash-line, + $size * 11 $size * 4 0 0 $ash-line, + + // Row 5 + 0 $size * 5 0 0 $ash-line, + $size $size * 5 0 0 $ash-line, + $size * 2 $size * 5 0 0 $ash-line, + $size * 3 $size * 5 0 0 $ash-hat, + $size * 4 $size * 5 0 0 $ash-hat, + $size * 5 $size * 5 0 0 $ash-hat, + $size * 6 $size * 5 0 0 $ash-hat, + $size * 7 $size * 5 0 0 $ash-hat, + $size * 8 $size * 5 0 0 $ash-hat-front, + $size * 9 $size * 5 0 0 $ash-hat-front, + $size * 10 $size * 5 0 0 $ash-hat-front, + $size * 11 $size * 5 0 0 $ash-hat-front, + $size * 12 $size * 5 0 0 $ash-line, + + // Row 6 + 0 $size * 6 0 0 $ash-line, + $size $size * 6 0 0 $ash-line, + $size * 2 $size * 6 0 0 $ash-line, + $size * 3 $size * 6 0 0 $ash-line, + $size * 4 $size * 6 0 0 $ash-line, + $size * 5 $size * 6 0 0 $ash-line, + $size * 6 $size * 6 0 0 $ash-line, + $size * 7 $size * 6 0 0 $ash-hat, + $size * 8 $size * 6 0 0 $ash-hat, + $size * 9 $size * 6 0 0 $ash-hat, + $size * 10 $size * 6 0 0 $ash-line, + $size * 11 $size * 6 0 0 $ash-line, + + // Row 7 + 0 $size * 7 0 0 $ash-line, + $size $size * 7 0 0 $ash-line, + $size * 2 $size * 7 0 0 $ash-line, + $size * 3 $size * 7 0 0 $ash-line, + $size * 4 $size * 7 0 0 $ash-line, + $size * 5 $size * 7 0 0 $ash-line, + $size * 6 $size * 7 0 0 $ash-face, + $size * 7 $size * 7 0 0 $ash-face, + $size * 8 $size * 7 0 0 $ash-line, + $size * 9 $size * 7 0 0 $ash-face, + $size * 10 $size * 7 0 0 $ash-line, + + // Row 8 + $size $size * 8 0 0 $ash-line, + $size * 2 $size * 8 0 0 $ash-line, + $size * 3 $size * 8 0 0 $ash-face, + $size * 4 $size * 8 0 0 $ash-face, + $size * 5 $size * 8 0 0 $ash-line, + $size * 6 $size * 8 0 0 $ash-face, + $size * 7 $size * 8 0 0 $ash-face, + $size * 8 $size * 8 0 0 $ash-line, + $size * 9 $size * 8 0 0 $ash-face, + $size * 10 $size * 8 0 0 $ash-line, + + // Row 9 + $size * 2 $size * 9 0 0 $ash-line, + $size * 3 $size * 9 0 0 $ash-face, + $size * 4 $size * 9 0 0 $ash-face, + $size * 5 $size * 9 0 0 $ash-face, + $size * 6 $size * 9 0 0 $ash-face, + $size * 7 $size * 9 0 0 $ash-face, + $size * 8 $size * 9 0 0 $ash-face, + $size * 9 $size * 9 0 0 $ash-face, + $size * 10 $size * 9 0 0 $ash-line, + + // Row 10 + $size $size * 10 0 0 $ash-line, + $size * 2 $size * 10 0 0 $ash-backpack, + $size * 3 $size * 10 0 0 $ash-line, + $size * 4 $size * 10 0 0 $ash-line, + $size * 5 $size * 10 0 0 $ash-face, + $size * 6 $size * 10 0 0 $ash-face, + $size * 7 $size * 10 0 0 $ash-face, + $size * 8 $size * 10 0 0 $ash-mouth, + $size * 9 $size * 10 0 0 $ash-line, + + // Row 11 + $size $size * 11 0 0 $ash-line, + $size * 2 $size * 11 0 0 $ash-backpack, + $size * 3 $size * 11 0 0 $ash-line, + $size * 4 $size * 11 0 0 $ash-line, + $size * 5 $size * 11 0 0 $ash-line, + $size * 6 $size * 11 0 0 $ash-line, + $size * 7 $size * 11 0 0 $ash-line, + $size * 8 $size * 11 0 0 $ash-line, + + // Row 12 + $size $size * 12 0 0 $ash-line, + $size * 2 $size * 12 0 0 $ash-line, + $size * 3 $size * 12 0 0 $ash-hand, + $size * 4 $size * 12 0 0 $ash-hand, + $size * 5 $size * 12 0 0 $ash-line, + $size * 6 $size * 12 0 0 $ash-line, + $size * 7 $size * 12 0 0 $ash-line, + $size * 8 $size * 12 0 0 $ash-line, + $size * 9 $size * 12 0 0 $ash-line, + $size * 10 $size * 12 0 0 $ash-line, + + // Row 13 + 0 $size * 13 0 0 $ash-line, + $size $size * 13 0 0 $ash-shoes, + $size * 2 $size * 13 0 0 $ash-line, + $size * 3 $size * 13 0 0 $ash-hand, + $size * 4 $size * 13 0 0 $ash-hand, + $size * 5 $size * 13 0 0 $ash-line, + $size * 6 $size * 13 0 0 $ash-pants, + $size * 7 $size * 13 0 0 $ash-pants, + $size * 8 $size * 13 0 0 $ash-line, + $size * 9 $size * 13 0 0 $ash-shoes, + $size * 10 $size * 13 0 0 $ash-shoes, + $size * 11 $size * 13 0 0 $ash-line, + + // Row 14 + 0 $size * 14 0 0 $ash-line, + $size $size * 14 0 0 $ash-shoes, + $size * 2 $size * 14 0 0 $ash-shoes, + $size * 3 $size * 14 0 0 $ash-line, + $size * 4 $size * 14 0 0 $ash-line, + $size * 5 $size * 14 0 0 $ash-line, + $size * 6 $size * 14 0 0 $ash-line, + $size * 7 $size * 14 0 0 $ash-line, + $size * 8 $size * 14 0 0 $ash-shoes, + $size * 9 $size * 14 0 0 $ash-shoes, + $size * 10 $size * 14 0 0 $ash-line, + + // Row 15 + $size $size * 15 0 0 $ash-line, + $size * 2 $size * 15 0 0 $ash-line, + $size * 7 $size * 15 0 0 $ash-line, + $size * 8 $size * 15 0 0 $ash-line, + $size * 9 $size * 15 0 0 $ash-line + ); + } + + &:after { + box-shadow: ( + // Row 0 + $size * 3 0 0 0 $ash-line, + $size * 4 0 0 0 $ash-line, + $size * 5 0 0 0 $ash-line, + $size * 6 0 0 0 $ash-line, + $size * 7 0 0 0 $ash-line, + $size * 8 0 0 0 $ash-line, + + // Row 1 + $size * 2 $size 0 0 $ash-line, + $size * 3 $size 0 0 $ash-hat, + $size * 4 $size 0 0 $ash-hat, + $size * 5 $size 0 0 $ash-hat, + $size * 6 $size 0 0 $ash-hat, + $size * 7 $size 0 0 $ash-hat, + $size * 8 $size 0 0 $ash-hat, + $size * 9 $size 0 0 $ash-line, + + // Row 2 + $size $size * 2 0 0 $ash-line, + $size * 2 $size * 2 0 0 $ash-hat, + $size * 3 $size * 2 0 0 $ash-hat, + $size * 4 $size * 2 0 0 $ash-hat, + $size * 5 $size * 2 0 0 $ash-hat, + $size * 6 $size * 2 0 0 $ash-hat, + $size * 7 $size * 2 0 0 $ash-hat, + $size * 8 $size * 2 0 0 $ash-hat, + $size * 9 $size * 2 0 0 $ash-hat, + $size * 10 $size * 2 0 0 $ash-line, + + // Row 3 + $size $size * 3 0 0 $ash-line, + $size * 2 $size * 3 0 0 $ash-hat, + $size * 3 $size * 3 0 0 $ash-hat, + $size * 4 $size * 3 0 0 $ash-hat, + $size * 5 $size * 3 0 0 $ash-hat, + $size * 6 $size * 3 0 0 $ash-hat, + $size * 7 $size * 3 0 0 $ash-hat, + $size * 8 $size * 3 0 0 $ash-hat, + $size * 9 $size * 3 0 0 $ash-hat-front, + $size * 10 $size * 3 0 0 $ash-line, + $size * 11 $size * 3 0 0 $ash-line, + + // Row 4 + 0 $size * 4 0 0 $ash-line, + $size $size * 4 0 0 $ash-line, + $size * 2 $size * 4 0 0 $ash-line, + $size * 3 $size * 4 0 0 $ash-hat, + $size * 4 $size * 4 0 0 $ash-hat, + $size * 5 $size * 4 0 0 $ash-hat, + $size * 6 $size * 4 0 0 $ash-hat, + $size * 7 $size * 4 0 0 $ash-hat, + $size * 8 $size * 4 0 0 $ash-hat-front, + $size * 9 $size * 4 0 0 $ash-hat-front, + $size * 10 $size * 4 0 0 $ash-hat-front, + $size * 11 $size * 4 0 0 $ash-hat-front, + $size * 12 $size * 4 0 0 $ash-line, + + // Row 5 + 0 $size * 5 0 0 $ash-line, + $size $size * 5 0 0 $ash-line, + $size * 2 $size * 5 0 0 $ash-line, + $size * 3 $size * 5 0 0 $ash-line, + $size * 4 $size * 5 0 0 $ash-line, + $size * 5 $size * 5 0 0 $ash-line, + $size * 6 $size * 5 0 0 $ash-line, + $size * 7 $size * 5 0 0 $ash-hat, + $size * 8 $size * 5 0 0 $ash-hat, + $size * 9 $size * 5 0 0 $ash-hat, + $size * 10 $size * 5 0 0 $ash-line, + $size * 11 $size * 5 0 0 $ash-line, + + // Row 6 + 0 $size * 6 0 0 $ash-line, + $size $size * 6 0 0 $ash-line, + $size * 2 $size * 6 0 0 $ash-line, + $size * 3 $size * 6 0 0 $ash-line, + $size * 4 $size * 6 0 0 $ash-line, + $size * 5 $size * 6 0 0 $ash-line, + $size * 6 $size * 6 0 0 $ash-face, + $size * 7 $size * 6 0 0 $ash-face, + $size * 8 $size * 6 0 0 $ash-line, + $size * 9 $size * 6 0 0 $ash-face, + $size * 10 $size * 6 0 0 $ash-line, + + // Row 7 + $size $size * 7 0 0 $ash-line, + $size * 2 $size * 7 0 0 $ash-line, + $size * 3 $size * 7 0 0 $ash-face, + $size * 4 $size * 7 0 0 $ash-face, + $size * 5 $size * 7 0 0 $ash-line, + $size * 6 $size * 7 0 0 $ash-face, + $size * 7 $size * 7 0 0 $ash-face, + $size * 8 $size * 7 0 0 $ash-line, + $size * 9 $size * 7 0 0 $ash-face, + $size * 10 $size * 7 0 0 $ash-line, + + // Row 8 + $size * 2 $size * 8 0 0 $ash-line, + $size * 3 $size * 8 0 0 $ash-face, + $size * 4 $size * 8 0 0 $ash-face, + $size * 5 $size * 8 0 0 $ash-face, + $size * 6 $size * 8 0 0 $ash-face, + $size * 7 $size * 8 0 0 $ash-face, + $size * 8 $size * 8 0 0 $ash-face, + $size * 9 $size * 8 0 0 $ash-face, + $size * 10 $size * 8 0 0 $ash-line, + + // Row 9 + $size $size * 9 0 0 $ash-line, + $size * 2 $size * 9 0 0 $ash-backpack, + $size * 3 $size * 9 0 0 $ash-line, + $size * 4 $size * 9 0 0 $ash-line, + $size * 5 $size * 9 0 0 $ash-face, + $size * 6 $size * 9 0 0 $ash-face, + $size * 7 $size * 9 0 0 $ash-face, + $size * 8 $size * 9 0 0 $ash-mouth, + $size * 9 $size * 9 0 0 $ash-line, + + // Row 10 + $size $size * 10 0 0 $ash-line, + $size * 2 $size * 10 0 0 $ash-backpack, + $size * 3 $size * 10 0 0 $ash-backpack, + $size * 4 $size * 10 0 0 $ash-line, + $size * 5 $size * 10 0 0 $ash-line, + $size * 6 $size * 10 0 0 $ash-line, + $size * 7 $size * 10 0 0 $ash-line, + $size * 8 $size * 10 0 0 $ash-line, + + // Row 11 + $size $size * 11 0 0 $ash-line, + $size * 2 $size * 11 0 0 $ash-backpack, + $size * 3 $size * 11 0 0 $ash-line, + $size * 4 $size * 11 0 0 $ash-hand, + $size * 5 $size * 11 0 0 $ash-hand, + $size * 6 $size * 11 0 0 $ash-line, + $size * 7 $size * 11 0 0 $ash-line, + + // Row 12 + $size $size * 12 0 0 $ash-line, + $size * 2 $size * 12 0 0 $ash-backpack, + $size * 3 $size * 12 0 0 $ash-line, + $size * 4 $size * 12 0 0 $ash-hand, + $size * 5 $size * 12 0 0 $ash-hand, + $size * 6 $size * 12 0 0 $ash-line, + $size * 7 $size * 12 0 0 $ash-line, + + // Row 13 + $size * 2 $size * 13 0 0 $ash-line, + $size * 3 $size * 13 0 0 $ash-line, + $size * 4 $size * 13 0 0 $ash-line, + $size * 5 $size * 13 0 0 $ash-line, + $size * 6 $size * 13 0 0 $ash-pants, + $size * 7 $size * 13 0 0 $ash-pants, + $size * 8 $size * 13 0 0 $ash-line, + + // Row 14 + $size * 3 $size * 14 0 0 $ash-line, + $size * 4 $size * 14 0 0 $ash-pants, + $size * 5 $size * 14 0 0 $ash-pants, + $size * 6 $size * 14 0 0 $ash-pants, + $size * 7 $size * 14 0 0 $ash-pants, + $size * 8 $size * 14 0 0 $ash-line, + + // Row 15 + $size * 4 $size * 15 0 0 $ash-line, + $size * 5 $size * 15 0 0 $ash-line, + $size * 6 $size * 15 0 0 $ash-line, + $size * 7 $size * 15 0 0 $ash-line + ); + } +} + +#pikachu { + width: $size * 15; + height: $size * 16; + + &:before { + box-shadow: ( + // Row 0 + $size * 4 $size 0 0 $pikachu-line, + $size * 5 $size 0 0 $pikachu-line, + + // Row 1 + 0 $size * 2 0 0 $pikachu-line, + $size $size * 2 0 0 $pikachu-line, + $size * 2 $size * 2 0 0 $pikachu-line, + $size * 3 $size * 2 0 0 $pikachu-line, + $size * 4 $size * 2 0 0 $pikachu-line, + $size * 5 $size * 2 0 0 $pikachu-line, + $size * 6 $size * 2 0 0 $pikachu-line, + $size * 7 $size * 2 0 0 $pikachu-line, + $size * 8 $size * 2 0 0 $pikachu-line, + + // Row 2 + 0 $size * 3 0 0 $pikachu-line, + $size $size * 3 0 0 $pikachu-body, + $size * 2 $size * 3 0 0 $pikachu-body, + $size * 3 $size * 3 0 0 $pikachu-body, + $size * 4 $size * 3 0 0 $pikachu-line, + $size * 5 $size * 3 0 0 $pikachu-line, + $size * 6 $size * 3 0 0 $pikachu-line, + $size * 7 $size * 3 0 0 $pikachu-body, + $size * 8 $size * 3 0 0 $pikachu-body, + $size * 9 $size * 3 0 0 $pikachu-line, + $size * 10 $size * 3 0 0 $pikachu-line, + $size * 11 $size * 3 0 0 $pikachu-line, + + // Row 3 + $size $size * 4 0 0 $pikachu-line, + $size * 2 $size * 4 0 0 $pikachu-body, + $size * 3 $size * 4 0 0 $pikachu-body, + $size * 4 $size * 4 0 0 $pikachu-body, + $size * 5 $size * 4 0 0 $pikachu-line, + $size * 6 $size * 4 0 0 $pikachu-body, + $size * 7 $size * 4 0 0 $pikachu-body, + $size * 8 $size * 4 0 0 $pikachu-body, + $size * 9 $size * 4 0 0 $pikachu-body, + $size * 10 $size * 4 0 0 $pikachu-body, + $size * 11 $size * 4 0 0 $pikachu-body, + $size * 12 $size * 4 0 0 $pikachu-line, + + // Row 4 + $size * 2 $size * 5 0 0 $pikachu-line, + $size * 3 $size * 5 0 0 $pikachu-body, + $size * 4 $size * 5 0 0 $pikachu-body, + $size * 5 $size * 5 0 0 $pikachu-line, + $size * 6 $size * 5 0 0 $pikachu-line, + $size * 7 $size * 5 0 0 $pikachu-body, + $size * 8 $size * 5 0 0 $pikachu-body, + $size * 9 $size * 5 0 0 $pikachu-body, + $size * 10 $size * 5 0 0 $pikachu-body, + $size * 11 $size * 5 0 0 $pikachu-body, + $size * 12 $size * 5 0 0 $pikachu-body, + $size * 13 $size * 5 0 0 $pikachu-line, + + // Row 5 + $size * 3 $size * 6 0 0 $pikachu-line, + $size * 4 $size * 6 0 0 $pikachu-body, + $size * 5 $size * 6 0 0 $pikachu-body, + $size * 6 $size * 6 0 0 $pikachu-line, + $size * 7 $size * 6 0 0 $pikachu-body, + $size * 8 $size * 6 0 0 $pikachu-body, + $size * 9 $size * 6 0 0 $pikachu-body, + $size * 10 $size * 6 0 0 $pikachu-body, + $size * 11 $size * 6 0 0 $pikachu-body, + $size * 12 $size * 6 0 0 $pikachu-body, + $size * 13 $size * 6 0 0 $pikachu-line, + + // Row 6 + $size $size * 7 0 0 $pikachu-line, + $size * 2 $size * 7 0 0 $pikachu-line, + $size * 3 $size * 7 0 0 $pikachu-line, + $size * 4 $size * 7 0 0 $pikachu-body, + $size * 5 $size * 7 0 0 $pikachu-line, + $size * 6 $size * 7 0 0 $pikachu-body, + $size * 7 $size * 7 0 0 $pikachu-body, + $size * 8 $size * 7 0 0 $pikachu-body, + $size * 9 $size * 7 0 0 $pikachu-body, + $size * 10 $size * 7 0 0 $pikachu-body, + $size * 11 $size * 7 0 0 $pikachu-line, + $size * 12 $size * 7 0 0 $pikachu-body, + $size * 13 $size * 7 0 0 $pikachu-body, + $size * 14 $size * 7 0 0 $pikachu-line, + + // Row 7 + $size $size * 8 0 0 $pikachu-line, + $size * 2 $size * 8 0 0 $pikachu-body, + $size * 3 $size * 8 0 0 $pikachu-body, + $size * 4 $size * 8 0 0 $pikachu-line, + $size * 5 $size * 8 0 0 $pikachu-line, + $size * 6 $size * 8 0 0 $pikachu-body, + $size * 7 $size * 8 0 0 $pikachu-body, + $size * 8 $size * 8 0 0 $pikachu-body, + $size * 9 $size * 8 0 0 $pikachu-cheeck, + $size * 10 $size * 8 0 0 $pikachu-body, + $size * 11 $size * 8 0 0 $pikachu-body, + $size * 12 $size * 8 0 0 $pikachu-body, + $size * 13 $size * 8 0 0 $pikachu-body, + $size * 14 $size * 8 0 0 $pikachu-line, + + // Row 8 + $size * 2 $size * 9 0 0 $pikachu-line, + $size * 3 $size * 9 0 0 $pikachu-tail, + $size * 4 $size * 9 0 0 $pikachu-line, + $size * 5 $size * 9 0 0 $pikachu-tail, + $size * 6 $size * 9 0 0 $pikachu-tail, + $size * 7 $size * 9 0 0 $pikachu-tail, + $size * 8 $size * 9 0 0 $pikachu-body, + $size * 9 $size * 9 0 0 $pikachu-body, + $size * 10 $size * 9 0 0 $pikachu-body, + $size * 11 $size * 9 0 0 $pikachu-body, + $size * 12 $size * 9 0 0 $pikachu-body, + $size * 13 $size * 9 0 0 $pikachu-line, + + // Row 9 + $size $size * 10 0 0 $pikachu-line, + $size * 2 $size * 10 0 0 $pikachu-tail, + $size * 3 $size * 10 0 0 $pikachu-tail, + $size * 4 $size * 10 0 0 $pikachu-line, + $size * 5 $size * 10 0 0 $pikachu-body, + $size * 6 $size * 10 0 0 $pikachu-body, + $size * 7 $size * 10 0 0 $pikachu-body, + $size * 8 $size * 10 0 0 $pikachu-body, + $size * 9 $size * 10 0 0 $pikachu-body, + $size * 10 $size * 10 0 0 $pikachu-body, + $size * 11 $size * 10 0 0 $pikachu-line, + $size * 12 $size * 10 0 0 $pikachu-body, + $size * 13 $size * 10 0 0 $pikachu-line, + + // Row 10 + $size * 2 $size * 11 0 0 $pikachu-line, + $size * 3 $size * 11 0 0 $pikachu-tail, + $size * 4 $size * 11 0 0 $pikachu-line, + $size * 5 $size * 11 0 0 $pikachu-tail, + $size * 6 $size * 11 0 0 $pikachu-tail, + $size * 7 $size * 11 0 0 $pikachu-tail, + $size * 8 $size * 11 0 0 $pikachu-body, + $size * 9 $size * 11 0 0 $pikachu-body, + $size * 10 $size * 11 0 0 $pikachu-line, + $size * 11 $size * 11 0 0 $pikachu-line, + $size * 12 $size * 11 0 0 $pikachu-body, + $size * 13 $size * 11 0 0 $pikachu-line, + + // Row 11 + $size * 3 $size * 12 0 0 $pikachu-line, + $size * 4 $size * 12 0 0 $pikachu-line, + $size * 5 $size * 12 0 0 $pikachu-line, + $size * 6 $size * 12 0 0 $pikachu-body, + $size * 7 $size * 12 0 0 $pikachu-body, + $size * 8 $size * 12 0 0 $pikachu-body, + $size * 9 $size * 12 0 0 $pikachu-body, + $size * 10 $size * 12 0 0 $pikachu-body, + $size * 11 $size * 12 0 0 $pikachu-body, + $size * 12 $size * 12 0 0 $pikachu-line, + $size * 13 $size * 12 0 0 $pikachu-line, + + // Row 12 + $size * 3 $size * 13 0 0 $pikachu-line, + $size * 4 $size * 13 0 0 $pikachu-body, + $size * 5 $size * 13 0 0 $pikachu-line, + $size * 6 $size * 13 0 0 $pikachu-line, + $size * 7 $size * 13 0 0 $pikachu-body, + $size * 8 $size * 13 0 0 $pikachu-body, + $size * 9 $size * 13 0 0 $pikachu-body, + $size * 10 $size * 13 0 0 $pikachu-body, + $size * 11 $size * 13 0 0 $pikachu-line, + $size * 12 $size * 13 0 0 $pikachu-body, + $size * 13 $size * 13 0 0 $pikachu-body, + $size * 14 $size * 13 0 0 $pikachu-line, + + // Row 13 + $size * 4 $size * 14 0 0 $pikachu-line, + $size * 5 $size * 14 0 0 $pikachu-body, + $size * 6 $size * 14 0 0 $pikachu-body, + $size * 7 $size * 14 0 0 $pikachu-line, + $size * 8 $size * 14 0 0 $pikachu-line, + $size * 9 $size * 14 0 0 $pikachu-line, + $size * 10 $size * 14 0 0 $pikachu-line, + $size * 12 $size * 14 0 0 $pikachu-line, + $size * 13 $size * 14 0 0 $pikachu-line, + + // Row 13 + $size * 5 $size * 15 0 0 $pikachu-line, + $size * 6 $size * 15 0 0 $pikachu-line + ); + } + + &:after { + box-shadow: ( + // Row 0 + $size * 4 $size * 2 0 0 $pikachu-line, + $size * 5 $size * 2 0 0 $pikachu-line, + + // Row 1 + 0 $size * 3 0 0 $pikachu-line, + $size * 1 $size * 3 0 0 $pikachu-line, + $size * 2 $size * 3 0 0 $pikachu-line, + $size * 3 $size * 3 0 0 $pikachu-line, + $size * 4 $size * 3 0 0 $pikachu-line, + $size * 5 $size * 3 0 0 $pikachu-line, + $size * 6 $size * 3 0 0 $pikachu-line, + $size * 7 $size * 3 0 0 $pikachu-line, + $size * 8 $size * 3 0 0 $pikachu-line, + + // Row 2 + 0 $size * 4 0 0 $pikachu-line, + $size $size * 4 0 0 $pikachu-body, + $size * 2 $size * 4 0 0 $pikachu-body, + $size * 3 $size * 4 0 0 $pikachu-body, + $size * 4 $size * 4 0 0 $pikachu-line, + $size * 5 $size * 4 0 0 $pikachu-line, + $size * 6 $size * 4 0 0 $pikachu-line, + $size * 7 $size * 4 0 0 $pikachu-body, + $size * 8 $size * 4 0 0 $pikachu-body, + $size * 9 $size * 4 0 0 $pikachu-line, + $size * 10 $size * 4 0 0 $pikachu-line, + $size * 11 $size * 4 0 0 $pikachu-line, + + // Row 3 + $size $size * 5 0 0 $pikachu-line, + $size * 2 $size * 5 0 0 $pikachu-body, + $size * 3 $size * 5 0 0 $pikachu-body, + $size * 4 $size * 5 0 0 $pikachu-body, + $size * 5 $size * 5 0 0 $pikachu-line, + $size * 6 $size * 5 0 0 $pikachu-body, + $size * 7 $size * 5 0 0 $pikachu-body, + $size * 8 $size * 5 0 0 $pikachu-body, + $size * 9 $size * 5 0 0 $pikachu-body, + $size * 10 $size * 5 0 0 $pikachu-body, + $size * 11 $size * 5 0 0 $pikachu-body, + $size * 12 $size * 5 0 0 $pikachu-line, + + // Row 4 + $size * 2 $size * 6 0 0 $pikachu-line, + $size * 3 $size * 6 0 0 $pikachu-body, + $size * 4 $size * 6 0 0 $pikachu-body, + $size * 5 $size * 6 0 0 $pikachu-line, + $size * 6 $size * 6 0 0 $pikachu-line, + $size * 7 $size * 6 0 0 $pikachu-body, + $size * 8 $size * 6 0 0 $pikachu-body, + $size * 9 $size * 6 0 0 $pikachu-body, + $size * 10 $size * 6 0 0 $pikachu-body, + $size * 11 $size * 6 0 0 $pikachu-body, + $size * 12 $size * 6 0 0 $pikachu-body, + $size * 13 $size * 6 0 0 $pikachu-line, + + // Row 5 + $size * 3 $size * 7 0 0 $pikachu-line, + $size * 4 $size * 7 0 0 $pikachu-body, + $size * 5 $size * 7 0 0 $pikachu-body, + $size * 6 $size * 7 0 0 $pikachu-line, + $size * 7 $size * 7 0 0 $pikachu-body, + $size * 8 $size * 7 0 0 $pikachu-body, + $size * 9 $size * 7 0 0 $pikachu-body, + $size * 10 $size * 7 0 0 $pikachu-body, + $size * 11 $size * 7 0 0 $pikachu-body, + $size * 12 $size * 7 0 0 $pikachu-body, + $size * 13 $size * 7 0 0 $pikachu-line, + + // Row 6 + $size $size * 8 0 0 $pikachu-line, + $size * 2 $size * 8 0 0 $pikachu-line, + $size * 3 $size * 8 0 0 $pikachu-line, + $size * 4 $size * 8 0 0 $pikachu-body, + $size * 5 $size * 8 0 0 $pikachu-line, + $size * 6 $size * 8 0 0 $pikachu-body, + $size * 7 $size * 8 0 0 $pikachu-body, + $size * 8 $size * 8 0 0 $pikachu-body, + $size * 9 $size * 8 0 0 $pikachu-body, + $size * 10 $size * 8 0 0 $pikachu-body, + $size * 11 $size * 8 0 0 $pikachu-line, + $size * 12 $size * 8 0 0 $pikachu-body, + $size * 13 $size * 8 0 0 $pikachu-body, + $size * 14 $size * 8 0 0 $pikachu-line, + + // Row 7 + $size $size * 9 0 0 $pikachu-line, + $size * 2 $size * 9 0 0 $pikachu-body, + $size * 3 $size * 9 0 0 $pikachu-body, + $size * 4 $size * 9 0 0 $pikachu-body, + $size * 5 $size * 9 0 0 $pikachu-line, + $size * 6 $size * 9 0 0 $pikachu-body, + $size * 7 $size * 9 0 0 $pikachu-body, + $size * 8 $size * 9 0 0 $pikachu-body, + $size * 9 $size * 9 0 0 $pikachu-cheeck, + $size * 10 $size * 9 0 0 $pikachu-body, + $size * 11 $size * 9 0 0 $pikachu-body, + $size * 12 $size * 9 0 0 $pikachu-body, + $size * 13 $size * 9 0 0 $pikachu-body, + $size * 14 $size * 9 0 0 $pikachu-line, + + // Row 8 + $size * 2 $size * 10 0 0 $pikachu-line, + $size * 3 $size * 10 0 0 $pikachu-tail, + $size * 4 $size * 10 0 0 $pikachu-line, + $size * 5 $size * 10 0 0 $pikachu-tail, + $size * 6 $size * 10 0 0 $pikachu-tail, + $size * 7 $size * 10 0 0 $pikachu-tail, + $size * 8 $size * 10 0 0 $pikachu-body, + $size * 9 $size * 10 0 0 $pikachu-body, + $size * 10 $size * 10 0 0 $pikachu-body, + $size * 11 $size * 10 0 0 $pikachu-body, + $size * 12 $size * 10 0 0 $pikachu-body, + $size * 13 $size * 10 0 0 $pikachu-line, + + // Row 9 + $size $size * 11 0 0 $pikachu-line, + $size * 2 $size * 11 0 0 $pikachu-tail, + $size * 3 $size * 11 0 0 $pikachu-tail, + $size * 4 $size * 11 0 0 $pikachu-line, + $size * 5 $size * 11 0 0 $pikachu-body, + $size * 6 $size * 11 0 0 $pikachu-body, + $size * 7 $size * 11 0 0 $pikachu-body, + $size * 8 $size * 11 0 0 $pikachu-body, + $size * 9 $size * 11 0 0 $pikachu-body, + $size * 10 $size * 11 0 0 $pikachu-body, + $size * 11 $size * 11 0 0 $pikachu-line, + $size * 12 $size * 11 0 0 $pikachu-body, + $size * 13 $size * 11 0 0 $pikachu-line, + + // Row 10 + $size * 2 $size * 12 0 0 $pikachu-line, + $size * 3 $size * 12 0 0 $pikachu-tail, + $size * 4 $size * 12 0 0 $pikachu-line, + $size * 5 $size * 12 0 0 $pikachu-tail, + $size * 6 $size * 12 0 0 $pikachu-tail, + $size * 7 $size * 12 0 0 $pikachu-tail, + $size * 8 $size * 12 0 0 $pikachu-body, + $size * 9 $size * 12 0 0 $pikachu-body, + $size * 10 $size * 12 0 0 $pikachu-line, + $size * 11 $size * 12 0 0 $pikachu-line, + $size * 12 $size * 12 0 0 $pikachu-body, + $size * 13 $size * 12 0 0 $pikachu-line, + + // Row 11 + $size * 3 $size * 13 0 0 $pikachu-line, + $size * 4 $size * 13 0 0 $pikachu-line, + $size * 5 $size * 13 0 0 $pikachu-line, + $size * 6 $size * 13 0 0 $pikachu-body, + $size * 7 $size * 13 0 0 $pikachu-body, + $size * 8 $size * 13 0 0 $pikachu-body, + $size * 9 $size * 13 0 0 $pikachu-body, + $size * 10 $size * 13 0 0 $pikachu-body, + $size * 11 $size * 13 0 0 $pikachu-body, + $size * 12 $size * 13 0 0 $pikachu-body, + $size * 13 $size * 13 0 0 $pikachu-line, + + // Row 12 + $size * 6 $size * 14 0 0 $pikachu-line, + $size * 7 $size * 14 0 0 $pikachu-line, + $size * 8 $size * 14 0 0 $pikachu-body, + $size * 9 $size * 14 0 0 $pikachu-body, + $size * 10 $size * 14 0 0 $pikachu-body, + $size * 11 $size * 14 0 0 $pikachu-line, + $size * 12 $size * 14 0 0 $pikachu-line, + + // Row 13 + $size * 8 $size * 15 0 0 $pikachu-line, + $size * 9 $size * 15 0 0 $pikachu-line, + $size * 10 $size * 15 0 0 $pikachu-line + ); + } +} + +#ash, +#pikachu { + &:before, + &:after { + @include animation(the-animation .4s infinite steps(2)); + } + + &:after { + @include animation-direction(reverse); + } +} + +#pikachu { + &:after, + &:before { + @include animation-duration(.2s); + } +} + +@include keyframes(the-animation) { + 0% { + margin-left: 0; + } + + 100% { + margin-left: $size * 30; + } +} diff --git a/client/src/components/atoms/PokeLoader/index.js b/client/src/components/atoms/PokeLoader/index.js new file mode 100644 index 0000000..731253b --- /dev/null +++ b/client/src/components/atoms/PokeLoader/index.js @@ -0,0 +1 @@ +export default from './PokeLoader'; diff --git a/client/src/scss/tools/mixins/animation.scss b/client/src/scss/tools/mixins/animation.scss new file mode 100644 index 0000000..ba0d4c5 --- /dev/null +++ b/client/src/scss/tools/mixins/animation.scss @@ -0,0 +1,27 @@ +@mixin animation($value) { + -webkit-animation: unquote($value); + -moz-animation: unquote($value); + -o-animation: unquote($value); + animation: unquote($value); +} + +@mixin animation-direction($value) { + -webkit-animation-direction: unquote($value); + -moz-animation-direction: unquote($value); + -o-animation-direction: unquote($value); + animation-direction: unquote($value); +} + +@mixin animation-duration($value) { + -webkit-animation-duration: unquote($value); + -moz-animation-duration: unquote($value); + -o-animation-duration: unquote($value); + animation-duration: unquote($value); +} + +@mixin keyframes($name) { + @-webkit-keyframes #{$name} { @content; } + @-moz-keyframes #{$name} { @content; } + @-o-keyframes #{$name} { @content; } + @keyframes #{$name} { @content; } +} From 88f5846d4e0f017f32ce8f88e170dbf57b0ba817 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 18:34:08 +0300 Subject: [PATCH 23/46] Add Pokemon id number to PokeCard and PokedexItem, add Pokepedia-Logo and minor refactors --- .../components/atoms/PokeCard/PokeCard.jsx | 11 ++-- .../components/atoms/PokeCard/PokeCard.scss | 9 ++++ .../modules/PokedexList/PokedexItem.jsx | 1 + .../modules/PokedexList/PokedexList.jsx | 6 +-- .../modules/PokedexList/PokedexList.scss | 10 +++- .../pages/PokedexPage/PokedexPage.jsx | 53 +++++++++++++++++-- .../pages/PokedexPage/PokedexPage.scss | 16 ++++++ client/src/scss/tools/mixins.scss | 1 + client/src/utils/filterList.js | 6 +-- 9 files changed, 95 insertions(+), 18 deletions(-) diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx index 098d553..a3281ec 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.jsx +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -204,12 +204,11 @@ export default class PokeCard extends Component {

{pokemon.name}

- {/*

#003

*/} - -
-
Type
- {pokemonTypeChips} -
+ #{pokemon.id} +
+
+
Type
+ {pokemonTypeChips}
diff --git a/client/src/components/atoms/PokeCard/PokeCard.scss b/client/src/components/atoms/PokeCard/PokeCard.scss index 6485091..f58679f 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.scss +++ b/client/src/components/atoms/PokeCard/PokeCard.scss @@ -56,6 +56,15 @@ $pokecard-avatar-border-size: 10px; letter-spacing: 1px; } +.PokeCard-No { + position: absolute; + top: 20px; + right: 20px; + + color: #fff; + text-shadow: 1px 1px 1px rgba(0,0,0, 0.6); +} + .PokeCard-Avatar { position: absolute; top: 30%; diff --git a/client/src/components/modules/PokedexList/PokedexItem.jsx b/client/src/components/modules/PokedexList/PokedexItem.jsx index 0b141d6..3e3e91d 100644 --- a/client/src/components/modules/PokedexList/PokedexItem.jsx +++ b/client/src/components/modules/PokedexList/PokedexItem.jsx @@ -23,6 +23,7 @@ const PokedexItem = (props) => {

{pokemon.name}

+ #{pokemon.id}
diff --git a/client/src/components/modules/PokedexList/PokedexList.jsx b/client/src/components/modules/PokedexList/PokedexList.jsx index e802ecd..4fc0dbc 100644 --- a/client/src/components/modules/PokedexList/PokedexList.jsx +++ b/client/src/components/modules/PokedexList/PokedexList.jsx @@ -144,16 +144,12 @@ export default class PokedexList extends Component { if (!hasPokemons) return 'No pokemons to list'; - const pokeCards = hasPokemons ? this.renderPokeCards() : null; + // const pokeCards = hasPokemons ? this.renderPokeCards() : null; const pokeDex = hasPokemons ? this.renderPokedex() : 'No pokemons bro'; const pokedexPopover = hasPokemons ? this.renderPokedexPopover() : null; return (
- {pokeCards} -
-
- + +
+ Loading... +
+ ); + } + + renderPokedex() { + const { pokemons } = this.props.pokedex; + + return ( +
+ + +
+ ); + } + render() { - const { pokemons } = this.props; + const { pokemons } = this.props.pokedex; + const hasPokemons = (pokemons && pokemons.length); + + const node = !hasPokemons ? this.renderLoader() : this.renderPokedex(); + // const node = this.renderLoader(); return (
- +
+ +

PokéPedia

+
+ {node}
); } diff --git a/client/src/components/pages/PokedexPage/PokedexPage.scss b/client/src/components/pages/PokedexPage/PokedexPage.scss index e69de29..1e063ab 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.scss +++ b/client/src/components/pages/PokedexPage/PokedexPage.scss @@ -0,0 +1,16 @@ +.PokedexPage { + text-align: center; +} + +.Pokepedia-Logo { + margin: 50px; +} + +.Pokepedia-Greet { + margin: 0px; + padding: 0px; + + color: magenta; + font-size: 40px; + font-weight: 300; +} diff --git a/client/src/scss/tools/mixins.scss b/client/src/scss/tools/mixins.scss index aaa8823..a20861f 100644 --- a/client/src/scss/tools/mixins.scss +++ b/client/src/scss/tools/mixins.scss @@ -1,3 +1,4 @@ +@import "mixins/animation"; @import "mixins/font-size"; @import "mixins/position"; @import "mixins/placeholder"; diff --git a/client/src/utils/filterList.js b/client/src/utils/filterList.js index 5b093be..9ee5833 100644 --- a/client/src/utils/filterList.js +++ b/client/src/utils/filterList.js @@ -26,10 +26,10 @@ export function isValidItem(searchQuery, item, sanitize = false) { } } else if (keyword.length === 1) { // check first letter of text node - // itemIsValid = (itemMainKey.slice(0, 1).toLowerCase() === keyword.toLowerCase()); + itemIsValid = (itemMainKey.slice(0, 1).toLowerCase() === keyword.toLowerCase()); // check all body of text node - itemIsValid = (keyword !== '' && itemMainKey.indexOf(keyword) !== -1); + // itemIsValid = (keyword !== '' && itemMainKey.indexOf(keyword) !== -1); } else { // if we don't provide any keywords, we return the valid item itemIsValid = true; @@ -38,7 +38,7 @@ export function isValidItem(searchQuery, item, sanitize = false) { return itemIsValid; } -export default function filterList(searchTerm = null, list = [], sortResults = true) { +export function filterList(searchTerm = null, list = [], sortResults = true) { // // if widget has no data, don't show anything // From f0c1df88ad8f872a15b3a5347f8fa34345b9ac7d Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 18:35:24 +0300 Subject: [PATCH 24/46] Clean old components from PokedexPage --- client/src/components/pages/PokedexPage/PokedexPage.jsx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx index 31b641a..1111504 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.jsx +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -1,17 +1,8 @@ // deps import React, { Component, PropTypes } from 'react'; -import shallowCompare from 'react-addons-shallow-compare'; - -// helpers -import { isValidItem } from 'utils/filterList'; // components import CircularProgress from 'material-ui/CircularProgress'; - -import AutoComplete from 'material-ui/AutoComplete'; -import MenuItem from 'material-ui/MenuItem'; - -import PokemonIcon from 'components/atoms/PokemonIcon'; import PokeLoader from 'components/atoms/PokeLoader'; import PokedexSearch from 'components/modules/PokedexSearch'; import PokedexList from 'components/modules/PokedexList'; From 21ad7922a989e09cf42569385fe32eb8c4da7b7b Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 20:26:53 +0300 Subject: [PATCH 25/46] Add support to search by name, id and number in PokedexPage --- client/.eslintrc.js | 2 + .../modules/PokedexSearch/PokedexSearch.jsx | 27 +++-- .../modules/PokedexSearch/PokedexSearch.scss | 8 +- .../pages/PokedexPage/PokedexPage.jsx | 102 +++++++++++++++++- .../pages/PokedexPage/PokedexPage.scss | 2 +- 5 files changed, 126 insertions(+), 15 deletions(-) diff --git a/client/.eslintrc.js b/client/.eslintrc.js index 9c7d2d2..aac688d 100644 --- a/client/.eslintrc.js +++ b/client/.eslintrc.js @@ -22,9 +22,11 @@ module.exports = exports = { 'import/no-unresolved': OFF, 'quote-props': [ERROR, 'consistent-as-needed'], 'no-console': OFF, + 'no-debugger': WARN, 'no-param-reassign': WARN, 'no-unused-vars': [WARN, { args: 'after-used' }], 'no-underscore-dangle': OFF, + 'no-restricted-syntax': WARN, 'react/wrap-multilines': OFF, 'react/jsx-no-bind': OFF, 'react/prefer-stateless-function': OFF, diff --git a/client/src/components/modules/PokedexSearch/PokedexSearch.jsx b/client/src/components/modules/PokedexSearch/PokedexSearch.jsx index 356756f..6aed4b7 100644 --- a/client/src/components/modules/PokedexSearch/PokedexSearch.jsx +++ b/client/src/components/modules/PokedexSearch/PokedexSearch.jsx @@ -15,7 +15,10 @@ import './PokedexSearch.scss'; export default class PokedexSearch extends Component { static propTypes = { - pokemons: PropTypes.array + pokemons: PropTypes.array, + + onSearch: PropTypes.func, + onSelect: PropTypes.func }; static defaultProps = { @@ -25,28 +28,32 @@ export default class PokedexSearch extends Component { constructor(props) { super(props); + // build search options const searchOptions = this.buildSearchOptions(props); - console.log('>> PokedexSearch @@ ', searchOptions); - this.state = { searchOptions }; this.onSearchFilter = this.onSearchFilter.bind(this); this.onSearchUpdate = this.onSearchUpdate.bind(this); + this.onSearchSelect = this.onSearchSelect.bind(this); } shouldComponentUpdate(nextProps, nextState) { return shallowCompare(this, nextProps, nextState); } - onSearchSelect(chosenItem, index) { - console.log('<<< search select ', chosenItem, index); + onSearchSelect(chosenItem) { + if (this.props.onSelect) { + this.props.onSelect(chosenItem); + } } onSearchUpdate(searchTerm) { - console.log('>>> search term : ', searchTerm); + if (this.props.onSearch) { + this.props.onSearch(searchTerm); + } } onSearchFilter(searchText, key, item) { @@ -55,8 +62,6 @@ export default class PokedexSearch extends Component { } buildSearchOptions(props) { - console.log('>> BUILD SEARCH OPTIONS '); - const { pokemons } = props; // map Pokemons list @@ -82,7 +87,7 @@ export default class PokedexSearch extends Component { } > - {pokemon.pokemonId} {pokemon.name} + #{pokemon.pokemonId} {pokemon.name} ); } @@ -94,8 +99,8 @@ export default class PokedexSearch extends Component {
{ + return pokemon.id === keyword.id; + }); + } else { + // string + const isPokemonId = isFinite(parseInt(keyword, 10)); + + if (isPokemonId) { + // simple id search + newList = pokemons.filter((pokemon) => { + return (pokemon.pokemonId.indexOf(keyword) !== -1); + }); + } else { + // complex search ? + newList = pokemons.filter((pokemon) => { + const name = pokemon.name; + + let isValid = null; + + if (keyword.length === 1) { + // check first letter + isValid = (name.slice(0, 1).toLowerCase() === keyword.toLowerCase()); + } else if (keyword.length > 1) { + // check full name + isValid = (pokemon.name.toLowerCase().indexOf(keyword.toLowerCase()) !== -1); + } + + return isValid; + }); + } + // @TODO: add search by Pokemon type + } + + // console.log('pokedex select @ ', keyword); + // console.log('pokedex select filter @ ', newList); + // console.log(' '); + + this.setState({ + searchResults: newList + }); + } + renderLoader() { return (
@@ -33,11 +123,19 @@ export default class PokedexPage extends Component { renderPokedex() { const { pokemons } = this.props.pokedex; + const { searchResults } = this.state; + + const node = (searchResults && searchResults.length) ? + () : null; return (
- - + + {node}
); } diff --git a/client/src/components/pages/PokedexPage/PokedexPage.scss b/client/src/components/pages/PokedexPage/PokedexPage.scss index 1e063ab..ab95835 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.scss +++ b/client/src/components/pages/PokedexPage/PokedexPage.scss @@ -3,7 +3,7 @@ } .Pokepedia-Logo { - margin: 50px; + margin: 70px 0 50px; } .Pokepedia-Greet { From dfd42bab6e7b7feafa992f7bd7204198cd78b509 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Sun, 7 Aug 2016 20:40:42 +0300 Subject: [PATCH 26/46] Minor update to index.html --- client/src/index.html | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/client/src/index.html b/client/src/index.html index c10ea47..7880d70 100644 --- a/client/src/index.html +++ b/client/src/index.html @@ -7,13 +7,26 @@ pokepedia.club + + + + + + + + + + + + +
From a4cbdc425918b0565c0be91b722220cfbdbe05b1 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Mon, 8 Aug 2016 13:30:08 +0300 Subject: [PATCH 27/46] Simplify server start dev & prod npm scripts + minor refactors --- server/package.json | 5 +++-- server/src/config.js | 4 ++-- server/src/index.js | 5 ++++- server/src/routes/index.js | 4 ++-- server/src/routes/{test.js => pokedex.js} | 8 +++----- server/src/utils/helpers.js | 12 ++++++------ 6 files changed, 20 insertions(+), 18 deletions(-) rename server/src/routes/{test.js => pokedex.js} (83%) diff --git a/server/package.json b/server/package.json index 5fd3b5e..8eada50 100644 --- a/server/package.json +++ b/server/package.json @@ -18,8 +18,9 @@ }, "main": "src/index.js", "scripts": { - "start": "./node_modules/.bin/nodemon --quiet --watch build --exec 'node build/'", - "dev": "npm run clean && ./node_modules/.bin/babel src --out-dir build --watch --debug", + "start": "npm run start:dev", + "start:dev": "NODE_ENV=development ./node_modules/.bin/nodemon --exec './node_modules/.bin/babel-node src/'", + "start:prod": "NODE_ENV=production ./node_modules/.bin/nodemon --quiet --watch build --exec 'node build/'", "build": "npm run clean && NODE_ENV=production ./node_modules/.bin/babel src --out-dir build --source-maps inline", "clean": "rm -rf ./build", "lint": "./node_modules/.bin/eslint src --ext .js" diff --git a/server/src/config.js b/server/src/config.js index e7f8e11..ca8995f 100644 --- a/server/src/config.js +++ b/server/src/config.js @@ -12,8 +12,8 @@ const CONFIG = new Map(); // environment CONFIG.set('env', process.env.NODE_ENV); -CONFIG.set('HOST', '0.0.0.0'); -CONFIG.set('PORT', 8080); +CONFIG.set('HOST', '0.0.0.0'); // bind to all interfaces +CONFIG.set('PORT', 9090); // app port // app paths CONFIG.set('paths', { diff --git a/server/src/index.js b/server/src/index.js index dd59b69..01164c3 100644 --- a/server/src/index.js +++ b/server/src/index.js @@ -9,7 +9,10 @@ import http from 'http'; import app from './app'; // settings -const PORT = (process.env.PORT || 9090); +import CONFIG from './config'; + +// settings +const PORT = (process.env.PORT || CONFIG.get('PORT')); // save port in app locals app.set('port', PORT); diff --git a/server/src/routes/index.js b/server/src/routes/index.js index 999198d..e88c366 100644 --- a/server/src/routes/index.js +++ b/server/src/routes/index.js @@ -1,7 +1,7 @@ // deps -import test from './test'; +import pokedex from './pokedex'; // expose export default { - test + pokedex }; diff --git a/server/src/routes/test.js b/server/src/routes/pokedex.js similarity index 83% rename from server/src/routes/test.js rename to server/src/routes/pokedex.js index 0bdf360..80e1b43 100644 --- a/server/src/routes/test.js +++ b/server/src/routes/pokedex.js @@ -6,10 +6,10 @@ import { inspect } from '../utils/helpers'; const router = Router(); router.get('/', (req, res, next) => { - res.end('lolzz'); + res.send(200); }); -router.get('/pokemons', (req, res, next) => { +router.get('/pokedex', (req, res, next) => { // get pokemons list const pokemons = req.db.getPokemons(); @@ -17,9 +17,7 @@ router.get('/pokemons', (req, res, next) => { }); // get pokemon by id -// function getPokemonById() - -router.get('/pokemon/:id', (req, res, next) => { +router.get('/pokedex/:id', (req, res, next) => { // find pokemon const pokemonId = req.params.id; const findPokemon = req.db.getPokemonById(pokemonId); diff --git a/server/src/utils/helpers.js b/server/src/utils/helpers.js index d9a7f3a..87955c7 100644 --- a/server/src/utils/helpers.js +++ b/server/src/utils/helpers.js @@ -27,8 +27,8 @@ export const logger = tracer.colorConsole({ // Get URI file name helper // export const getFileName = (uri) => { - var fileName = url.parse(uri).pathname.split('/').pop().split('?').shift(); - return fileName; + var fileName = url.parse(uri).pathname.split('/').pop().split('?').shift(); + return fileName; }; // @@ -58,14 +58,14 @@ export const downloadFile = (uri, filename, callback) => { .on('close', () => { callback(null, filename); }); -} +}; // rename object properties export const renameProp = (obj = {}, oldName = null, newName = null) => { // console.log(`Renaming ${oldName} -> ${newName}`); // Do nothing if the names are the same - if (oldName == newName) { + if (oldName === newName) { // console.log('Rename abort. Same names'); return obj; } @@ -80,14 +80,14 @@ export const renameProp = (obj = {}, oldName = null, newName = null) => { } return obj; -} +}; // // @TODO: ?? // export const loadData = (path) => { return JSON.parse(fs.readFileSync(path, 'utf8')); -} +}; // // object representation / stringify From 913ece9965910a71fc6a17190374eca18e2d7ee4 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Mon, 8 Aug 2016 13:30:35 +0300 Subject: [PATCH 28/46] Client minor refactors --- client/config.js | 4 +-- client/src/api/api.js | 6 ++-- client/src/api/pokedex.js | 2 +- .../components/atoms/PokeCard/PokeCard.jsx | 36 ++++++------------- 4 files changed, 17 insertions(+), 31 deletions(-) diff --git a/client/config.js b/client/config.js index a6d1608..0706463 100644 --- a/client/config.js +++ b/client/config.js @@ -17,8 +17,8 @@ const CONFIG = new Map(); // environment CONFIG.set('env', process.env.NODE_ENV); -CONFIG.set('HOST', '0.0.0.0'); -CONFIG.set('PORT', 8080); +CONFIG.set('HOST', '0.0.0.0'); // bind to all interfaces +CONFIG.set('PORT', 8080); // webpack dev server // app paths CONFIG.set('paths', { diff --git a/client/src/api/api.js b/client/src/api/api.js index 576fb01..023c991 100644 --- a/client/src/api/api.js +++ b/client/src/api/api.js @@ -8,9 +8,11 @@ import { store } from '../store'; // // Le API // -const IP = '192.168.0.103'; +const API_IP = '192.168.0.104'; +const API_PORT = 9090; + const API = create({ - baseURL: `http://${IP}:9090`, + baseURL: `http://${API_IP}:${API_PORT}`, headers: { // 'Authorization': TOKEN, // @TODO 'Content-Type': 'application/json', diff --git a/client/src/api/pokedex.js b/client/src/api/pokedex.js index c3dc00d..7153ef7 100644 --- a/client/src/api/pokedex.js +++ b/client/src/api/pokedex.js @@ -2,5 +2,5 @@ import API from './api'; export function getAllPokemons() { - return API.get('/pokemons'); + return API.get('/pokedex'); } diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx index a3281ec..23defe6 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.jsx +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -4,20 +4,23 @@ import React, { Component, PropTypes } from 'react'; // components import Avatar from 'material-ui/Avatar'; import Chip from 'material-ui/Chip'; -import RaisedButton from 'material-ui/RaisedButton'; import { Grid, GridCell } from 'components/atoms/Grid'; import PokemonIcon from 'components/atoms/PokemonIcon'; // constants / models (prop types) import POKEMON_TYPES from 'constants/pokemon-types'; -// import PokemonModel from 'constants/pokemon.model'; + +// helpers +const isNumber = /\d+/g; // style -import { blue50, blue300, blue500 } from 'material-ui/styles/colors'; import './PokeCard.scss'; -// helpers -const isNumber = /\d+/g; +const css = { + chip: { + margin: 4 + } +}; // [ // { @@ -52,12 +55,6 @@ const isNumber = /\d+/g; // } // ] -const css = { - chip: { - margin: 4 - } -}; - export default class PokeCard extends Component { static propTypes = { pokemon: PropTypes.object.isRequired @@ -116,18 +113,6 @@ export default class PokeCard extends Component { renderTypeChips(types) { const chips = types.map((type) => { - // - // - // MB - // - // Colored Chip - // - const colors = POKEMON_TYPES[type] || {}; return ( @@ -161,6 +146,8 @@ export default class PokeCard extends Component { propValue = pokeDetail; } + propScale = null; + const pokeDetailValue = propScale ? (
{propValue} @@ -180,7 +167,6 @@ export default class PokeCard extends Component { render() { const { pokemon } = this.props; - const { pokemonId } = pokemon; const headerStyle = this.getHeaderStyle(pokemon.type); const pokemonTypeChips = this.renderTypeChips(pokemon.type); @@ -222,8 +208,6 @@ export default class PokeCard extends Component {
- {/* */} -
Weaknesses
{pokemonWeaknessesChips} From ce0c6060344586101aab6c69d4bb0339163b23c5 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Mon, 8 Aug 2016 13:33:03 +0300 Subject: [PATCH 29/46] Update API to bind to all local interfaces (for local dev). @TODO: add envs ? --- client/src/api/api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/api/api.js b/client/src/api/api.js index 023c991..fd68551 100644 --- a/client/src/api/api.js +++ b/client/src/api/api.js @@ -8,7 +8,7 @@ import { store } from '../store'; // // Le API // -const API_IP = '192.168.0.104'; +const API_IP = '0.0.0.0'; // bind to local interfaces (assuming API server is up) const API_PORT = 9090; const API = create({ From 16d90ed1776c80cd7fc40261eea0898a9c59095b Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Mon, 8 Aug 2016 13:36:08 +0300 Subject: [PATCH 30/46] Add NPM version requirement and start instructions --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 88911ed..105a7a1 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,12 @@ Poke all the way! ### Requirements -Node `v6.3` +Node `v6.3.1` +Npm `v3.10` ### Getting started -@TODO +`$ npm i` (both in /client and /server) +`$ npm start` #### Features: - [x] Pokemons card listing From c416df85f94b0fd5c21e94f826f656ce6318cccc Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Mon, 8 Aug 2016 15:56:51 +0300 Subject: [PATCH 31/46] Move Popover styling to CSS, add Logo style and custom Poke Ball appearance to PokeCard! --- .../components/atoms/PokeCard/PokeCard.jsx | 11 ++ .../modules/PokedexList/PokedexItem.jsx | 5 +- .../modules/PokedexList/PokedexItem.scss | 85 ++++++++++++++ .../modules/PokedexList/PokedexList.jsx | 27 +++-- .../modules/PokedexList/PokedexList.scss | 108 ++++++++---------- .../pages/PokedexPage/PokedexPage.jsx | 7 +- .../pages/PokedexPage/PokedexPage.scss | 29 +++-- client/src/constants/pokemon-types.js | 1 - 8 files changed, 189 insertions(+), 84 deletions(-) create mode 100644 client/src/components/modules/PokedexList/PokedexItem.scss diff --git a/client/src/components/atoms/PokeCard/PokeCard.jsx b/client/src/components/atoms/PokeCard/PokeCard.jsx index 23defe6..26a079f 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.jsx +++ b/client/src/components/atoms/PokeCard/PokeCard.jsx @@ -22,6 +22,17 @@ const css = { } }; +// fast extract of pokemon types colors for use in SCSS +// @TODO: make this dynamic +// const cssColors = Object.keys(POKEMON_TYPES).map((type) => { +// console.log(`${type}: ${POKEMON_TYPES[type].avatarColor}`); +// }); +// +// console.log('css colors @ ', cssColors); + +// +// @DEBUG: Pokemon sample +// // [ // { // "id": 1, diff --git a/client/src/components/modules/PokedexList/PokedexItem.jsx b/client/src/components/modules/PokedexList/PokedexItem.jsx index 3e3e91d..28ce1fe 100644 --- a/client/src/components/modules/PokedexList/PokedexItem.jsx +++ b/client/src/components/modules/PokedexList/PokedexItem.jsx @@ -5,6 +5,9 @@ import React, { Component, PropTypes } from 'react'; import Paper from 'material-ui/Paper'; import PokemonIcon from 'components/atoms/PokemonIcon'; +// style +import './PokedexItem.scss'; + const paperStyle = { // height: 100, width: '100%', @@ -22,7 +25,7 @@ const PokedexItem = (props) => {
-

{pokemon.name}

+

{pokemon.name}

#{pokemon.id}
diff --git a/client/src/components/modules/PokedexList/PokedexItem.scss b/client/src/components/modules/PokedexList/PokedexItem.scss new file mode 100644 index 0000000..027b84c --- /dev/null +++ b/client/src/components/modules/PokedexList/PokedexItem.scss @@ -0,0 +1,85 @@ +// deps +@import '~scss/tools/mixins/position.scss'; + +// settings +$pokedex-avatar-size: 100px; +$pokedex-avatar-border-size: 10px; + +.PokedexItem { + position: relative; + width: 100%; + + padding: 70px 0 10px; + + text-align: center; + // overflow: hidden; + + // background: #fff; + border-radius: 10px; + // box-shadow: 0px 23px 30px -20px rgba(#000, .2); + + // force HA + @include noflicker(); + transition: all 0.2s ease-in-out; + + // + &:hover { + cursor: pointer; + transform: translateY(-6px); + + .PokedexItem-Circle { + box-shadow: 0px 27px 30px -20px rgba(#000, .3); + } + } +} + +.PokedexItem-Name { + margin-top: 20px; + + font-size: 18px; + font-weight: 300; +} + +.PokedexItem-No { + position: absolute; + top: 20px; + right: 20px; + + color: #bbb; +} + +.PokedexItem-Avatar { + z-index: 1; + + display: inline-block; + + // width: $pokedex-avatar-size + (2 * $pokedex-avatar-border-size); + // height: $pokedex-avatar-size + (2 * $pokedex-avatar-border-size); + + background: none; +} + +.PokedexItem-Avatar, +.PokedexItem-Circle { + position: absolute; + top: -30%; + left: 50%; + transform: translateX(-50%); + + width: $pokedex-avatar-size + (2 * $pokedex-avatar-border-size); + height: $pokedex-avatar-size + (2 * $pokedex-avatar-border-size); +} + +.PokedexItem-Circle { + z-index: -1; + + // background: #f00; + + border-radius: 50%; + border: $pokedex-avatar-border-size solid rgba(255, 255, 255, 0.7); + + // box-shadow: 0px 23px 30px -20px rgba(#000, .2); + + // force HA + transition: all 0.2s ease-in-out; +} diff --git a/client/src/components/modules/PokedexList/PokedexList.jsx b/client/src/components/modules/PokedexList/PokedexList.jsx index 4fc0dbc..a9728f5 100644 --- a/client/src/components/modules/PokedexList/PokedexList.jsx +++ b/client/src/components/modules/PokedexList/PokedexList.jsx @@ -1,5 +1,6 @@ // deps import React, { Component, PropTypes } from 'react'; +import cx from 'classnames'; // components import Popover from 'material-ui/Popover'; @@ -10,13 +11,6 @@ import PokeCard from 'components/atoms/PokeCard'; // style import './PokedexList.scss'; -const popoverStyle = { - width: 300, - background: 0, - borderRadius: 10 - // boxShadow: 0 -}; - export default class PokedexList extends Component { static propTypes = { pokemons: PropTypes.array.isRequired @@ -32,7 +26,7 @@ export default class PokedexList extends Component { this.state = { pokedexAnchor: null, pokedexOpened: false, - pokedexPokemon: null, + pokedexPokemon: null }; this.renderPokedex = this.renderPokedex.bind(this); @@ -45,15 +39,15 @@ export default class PokedexList extends Component { // console.log('!!! OPEN pokedex @ ', pokemonId, event.currentTarget); const { pokemons } = this.props; - // find pokemon - const pokemonDex = pokemons.filter((pokemon) => { return pokemon.id === pokemonId; })[0]; + // find pokemon in Pokedex + const pokemonData = pokemons.filter((pokemon) => { return pokemon.id === pokemonId; })[0]; // prevent ghost click event.preventDefault(); this.setState({ pokedexAnchor: event.currentTarget, - pokedexPokemon: pokemonDex, + pokedexPokemon: pokemonData, pokedexOpened: true }); } @@ -70,13 +64,22 @@ export default class PokedexList extends Component { const { pokedexOpened, pokedexAnchor, pokedexPokemon } = this.state; const pokeCard = pokedexPokemon ? () : null; + const pokeType = pokedexPokemon ? pokedexPokemon.type[0] : null; + + // pokeball appereance ?! :D + const pokeball = true; + + const cssClasses = cx('PokedexList-Popover', { + 'PokedexList-Popover--Pokeball': pokeball, + [`PokedexList-Popover--Pokeball--${pokeType}`]: pokeball + }); return ( div { + border-radius: 10px !important; + background: none; + overflow-y: visible !important; } } -.PokedexItem-Name { - font-size: 18px; - font-weight: 300; -} - -.PokedexItem-No { - position: absolute; - top: 20px; - right: 20px; - - color: #bbb; -} - -.PokedexItem-Avatar { - z-index: 1; +// Pokeball card appereance! +.PokedexList-Popover--Pokeball { + border-radius: 9999px !important; // #hacks! + overflow: hidden !important; - display: inline-block; + box-shadow: 0px 23px 30px -20px rgba(#000, .2) !important; - // width: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); - // height: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); + // adjust Pokemon #no + .PokeCard-No { + top: 140px; - background: none; -} - -.PokedexItem-Avatar, -.PokedexItem-Circle { - position: absolute; - top: -30%; - left: 50%; - transform: translateX(-50%); + color: #bbb; + text-shadow: none; + } - width: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); - height: $pokecard-avatar-size + (2 * $pokecard-avatar-border-size); + .PokeCard-Content { + padding-bottom: 45px; + } } -.PokedexItem-Circle { - z-index: -1; - - // background: #f00; - - border-radius: 50%; - border: $pokecard-avatar-border-size solid rgba(255, 255, 255, 0.7); -} +// +// Popover theming +// @TODO: create dynamic colors extractor from constants/pokemon-types.js +// ...and inject here ? +// +.PokedexList-Popover--Pokeball--Normal > div { background: #d8d8d8; } +.PokedexList-Popover--Pokeball--Fire > div { background: #f57c00; } +.PokedexList-Popover--Pokeball--Water > div { background: #2196f3; } +.PokedexList-Popover--Pokeball--Electric > div { background: #ffeb3b; } +.PokedexList-Popover--Pokeball--Grass > div { background: #43a047; } +.PokedexList-Popover--Pokeball--Ice > div { background: #18ffff; } +.PokedexList-Popover--Pokeball--Fighting > div { background: #d32f2f; } +.PokedexList-Popover--Pokeball--Poison > div { background: #9c27b0; } +.PokedexList-Popover--Pokeball--Ground > div { background: #8d6e63; } +.PokedexList-Popover--Pokeball--Flying > div { background: #5c6bc0; } +.PokedexList-Popover--Pokeball--Psychic > div { background: #d81b60; } +.PokedexList-Popover--Pokeball--Bug > div { background: #8bc34a; } +.PokedexList-Popover--Pokeball--Rock > div { background: #757575; } +.PokedexList-Popover--Pokeball--Ghost > div { background: #7e57c2; } +.PokedexList-Popover--Pokeball--Dragon > div { background: #f44336; } +.PokedexList-Popover--Pokeball--Dark > div { background: #212121; } +.PokedexList-Popover--Pokeball--Steel > div { background: #78909c; } +.PokedexList-Popover--Pokeball--Fairy > div { background: #ea80fc; } diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx index 3225921..beff682 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.jsx +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -149,9 +149,12 @@ export default class PokedexPage extends Component { return (
-
+
-

PokéPedia

+
+

PokéPedia

+ Beta +
{node}
diff --git a/client/src/components/pages/PokedexPage/PokedexPage.scss b/client/src/components/pages/PokedexPage/PokedexPage.scss index ab95835..de9f242 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.scss +++ b/client/src/components/pages/PokedexPage/PokedexPage.scss @@ -2,15 +2,30 @@ text-align: center; } -.Pokepedia-Logo { +.Pokepedia-Header { margin: 70px 0 50px; } -.Pokepedia-Greet { - margin: 0px; - padding: 0px; +.Pokepedia-Logo { + position: relative; + display: inline-block; + + .Pokepedia-Name { + margin: 0; + padding: 0; + + font-size: 34px; + font-weight: 300; + } + + .Pokepedia-Version { + position: absolute; + top: 0; + right: -20px; - color: magenta; - font-size: 40px; - font-weight: 300; + color: magenta; + text-transform: uppercase; + font-size: 10px; + font-weight: 500; + } } diff --git a/client/src/constants/pokemon-types.js b/client/src/constants/pokemon-types.js index 207a951..7354015 100644 --- a/client/src/constants/pokemon-types.js +++ b/client/src/constants/pokemon-types.js @@ -6,7 +6,6 @@ import { cyanA200, deepPurple400, green600, - grey300, grey600, grey900, indigo400, From 14a0adcd7eaa5c238a22ef281142ff2822db30b2 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Mon, 8 Aug 2016 19:11:26 +0300 Subject: [PATCH 32/46] Add minimal copyright footer #todo --- .../src/components/atoms/PokeCard/PokeCard.scss | 2 +- .../modules/PokedexList/PokedexList.jsx | 2 +- .../modules/PokedexList/PokedexList.scss | 3 ++- .../components/pages/PokedexPage/PokedexPage.jsx | 12 +++++++++--- .../pages/PokedexPage/PokedexPage.scss | 16 ++++++++++++++++ 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/client/src/components/atoms/PokeCard/PokeCard.scss b/client/src/components/atoms/PokeCard/PokeCard.scss index f58679f..cfe2316 100644 --- a/client/src/components/atoms/PokeCard/PokeCard.scss +++ b/client/src/components/atoms/PokeCard/PokeCard.scss @@ -20,7 +20,7 @@ $pokecard-avatar-border-size: 10px; background: #fff; border-radius: 10px; overflow: hidden; - box-shadow: 0px 23px 30px -20px rgba(#000, .2); + box-shadow: 0px 23px 30px -16px rgba(#000, .2); // force HA @include noflicker(); diff --git a/client/src/components/modules/PokedexList/PokedexList.jsx b/client/src/components/modules/PokedexList/PokedexList.jsx index a9728f5..6d1f1ea 100644 --- a/client/src/components/modules/PokedexList/PokedexList.jsx +++ b/client/src/components/modules/PokedexList/PokedexList.jsx @@ -67,7 +67,7 @@ export default class PokedexList extends Component { const pokeType = pokedexPokemon ? pokedexPokemon.type[0] : null; // pokeball appereance ?! :D - const pokeball = true; + const pokeball = false; const cssClasses = cx('PokedexList-Popover', { 'PokedexList-Popover--Pokeball': pokeball, diff --git a/client/src/components/modules/PokedexList/PokedexList.scss b/client/src/components/modules/PokedexList/PokedexList.scss index 53d8511..f908331 100644 --- a/client/src/components/modules/PokedexList/PokedexList.scss +++ b/client/src/components/modules/PokedexList/PokedexList.scss @@ -18,6 +18,7 @@ background: none !important; box-shadow: none !important; + overflow-y: visible !important; // normal card border-radius: 10px !important; @@ -34,7 +35,7 @@ border-radius: 9999px !important; // #hacks! overflow: hidden !important; - box-shadow: 0px 23px 30px -20px rgba(#000, .2) !important; + box-shadow: 0px 23px 30px -16px rgba(#000, .2) !important; // adjust Pokemon #no .PokeCard-No { diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx index beff682..a609f22 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.jsx +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -7,6 +7,7 @@ import { isValidItem } from 'utils/filterList'; // components import CircularProgress from 'material-ui/CircularProgress'; +import LinearProgress from 'material-ui/LinearProgress'; import PokeLoader from 'components/atoms/PokeLoader'; import PokedexSearch from 'components/modules/PokedexSearch'; import PokedexList from 'components/modules/PokedexList'; @@ -114,9 +115,10 @@ export default class PokedexPage extends Component { renderLoader() { return (
- -
- Loading... + +
+ Tip: Pay attention to the road... :) +
); } @@ -136,6 +138,10 @@ export default class PokedexPage extends Component { onSelect={this.onSearchSelect} /> {node} +
+ All trademarks, product names and logos appearing on the site are + the property of their respective owners. +
); } diff --git a/client/src/components/pages/PokedexPage/PokedexPage.scss b/client/src/components/pages/PokedexPage/PokedexPage.scss index de9f242..e11edf4 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.scss +++ b/client/src/components/pages/PokedexPage/PokedexPage.scss @@ -2,10 +2,26 @@ text-align: center; } +.PokedexPage-Tip { + margin-top: 30px; + + font-size: 14px; + font-style: italic; + color: #bbb; +} + .Pokepedia-Header { margin: 70px 0 50px; } +.Pokepedia-Footer { + padding: 30px; + + font-size: 12px; + font-style: italic; + color: #ccc; +} + .Pokepedia-Logo { position: relative; display: inline-block; From a871c05c472dabb5ada7cc3a123e62cc28d625fe Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Mon, 8 Aug 2016 23:27:39 +0300 Subject: [PATCH 33/46] Enable Pokeball appearance for Popover #experimental --- client/src/components/modules/PokedexList/PokedexList.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/modules/PokedexList/PokedexList.jsx b/client/src/components/modules/PokedexList/PokedexList.jsx index 6d1f1ea..a9728f5 100644 --- a/client/src/components/modules/PokedexList/PokedexList.jsx +++ b/client/src/components/modules/PokedexList/PokedexList.jsx @@ -67,7 +67,7 @@ export default class PokedexList extends Component { const pokeType = pokedexPokemon ? pokedexPokemon.type[0] : null; // pokeball appereance ?! :D - const pokeball = false; + const pokeball = true; const cssClasses = cx('PokedexList-Popover', { 'PokedexList-Popover--Pokeball': pokeball, From e31b54f17dc358d4e28a04fca6630e0bbe4759bc Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Tue, 9 Aug 2016 14:35:37 +0300 Subject: [PATCH 34/46] Make build folder consistent in /client + add copy webpack plugin for /assets dir --- client/config.js | 2 +- client/package.json | 3 ++- client/webpack/plugins.js | 5 +++++ client/webpack/webpack.production.js | 7 +++++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/client/config.js b/client/config.js index 0706463..3a0ca4c 100644 --- a/client/config.js +++ b/client/config.js @@ -24,7 +24,7 @@ CONFIG.set('PORT', 8080); // webpack dev server CONFIG.set('paths', { project: path.resolve(__dirname, './'), source: 'src', - build: 'dist', + build: 'build', shared: '../shared', assets: '../shared/assets', diff --git a/client/package.json b/client/package.json index 3b20a61..f6ef8dc 100644 --- a/client/package.json +++ b/client/package.json @@ -20,7 +20,7 @@ "scripts": { "start": "NODE_ENV=development ./node_modules/.bin/webpack-dev-server --config start.js --progress --colors", "build": "npm run clean && NODE_ENV=production ./node_modules/.bin/webpack --config start.js --progress --colors", - "clean": "rm -rf ./dist", + "clean": "rm -rf ./build", "lint": "./node_modules/.bin/eslint src --ext .js --ext .jsx" }, "dependencies": { @@ -59,6 +59,7 @@ "babel-preset-react": "^6.11.1", "babel-preset-stage-0": "^6.5.0", "babel-runtime": "^6.11.6", + "copy-webpack-plugin": "^3.0.1", "css-loader": "^0.23.1", "eslint": "^3.2.0", "eslint-config-airbnb": "^9.0.1", diff --git a/client/webpack/plugins.js b/client/webpack/plugins.js index 3c1322e..c5893fc 100644 --- a/client/webpack/plugins.js +++ b/client/webpack/plugins.js @@ -4,6 +4,7 @@ const AssetsPlugin = require('assets-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const autoprefixer = require('autoprefixer'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); // paths const PATHS = require('./common').PATHS; @@ -65,3 +66,7 @@ export const uglifyPlugin = new webpack.optimize.UglifyJsPlugin({ export const commonsChunkPlugin = (options) => { return new webpack.optimize.CommonsChunkPlugin(options); }; + +export const copyPlugin = (options) => { + return new CopyWebpackPlugin(options); +}; diff --git a/client/webpack/webpack.production.js b/client/webpack/webpack.production.js index 36a8214..00fdd0e 100644 --- a/client/webpack/webpack.production.js +++ b/client/webpack/webpack.production.js @@ -35,6 +35,13 @@ module.exports = { }), common.PLUGINS.cssExtractPlugin('[name].bundle-[hash].css'), + common.PLUGINS.copyPlugin([ + { + from: `${common.PATHS.src}/assets/`, + to: 'assets/' + } + ]), + common.PLUGINS.assetsPlugin(), common.PLUGINS.htmlPlugin() ], From ff678ccad548e1537ffeb119011fbb4d0348732c Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Tue, 9 Aug 2016 14:36:55 +0300 Subject: [PATCH 35/46] Add meta for title, description, icons and social sharing, Google Analytics and FB like button --- .../pages/PokedexPage/PokedexPage.scss | 2 +- client/src/index.html | 61 ++++++++++++++++--- client/src/scss/common/layout.scss | 6 ++ 3 files changed, 59 insertions(+), 10 deletions(-) diff --git a/client/src/components/pages/PokedexPage/PokedexPage.scss b/client/src/components/pages/PokedexPage/PokedexPage.scss index e11edf4..9c2f70b 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.scss +++ b/client/src/components/pages/PokedexPage/PokedexPage.scss @@ -11,7 +11,7 @@ } .Pokepedia-Header { - margin: 70px 0 50px; + padding: 70px 0 50px; } .Pokepedia-Footer { diff --git a/client/src/index.html b/client/src/index.html index 7880d70..432f0bd 100644 --- a/client/src/index.html +++ b/client/src/index.html @@ -5,28 +5,71 @@ - pokepedia.club + Poképedia.fyi (BETA) - your only Pokemon GO stop - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + +
+ + + +
+
+
+
diff --git a/client/src/scss/common/layout.scss b/client/src/scss/common/layout.scss index 2684dc2..dc357aa 100644 --- a/client/src/scss/common/layout.scss +++ b/client/src/scss/common/layout.scss @@ -19,3 +19,9 @@ body { .Page { position: relative; } + +.FBLike { + position: absolute; + top: 10px; + left: 10px; +} From 1879ca5e9b6ef3d20c89cabfc5733066abf674d3 Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Tue, 9 Aug 2016 14:37:10 +0300 Subject: [PATCH 36/46] Add favicon / app icons + social cards --- client/src/assets/pokepedia-favicon.png | Bin 0 -> 2444 bytes client/src/assets/pokepedia-icon-196.png | Bin 0 -> 16221 bytes client/src/assets/pokepedia-logo-ball.png | Bin 0 -> 17218 bytes client/src/assets/pokepedia-logo.png | Bin 0 -> 11688 bytes client/src/assets/social-card-01.png | Bin 0 -> 162382 bytes client/src/assets/social-card-02.png | Bin 0 -> 301903 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 client/src/assets/pokepedia-favicon.png create mode 100644 client/src/assets/pokepedia-icon-196.png create mode 100644 client/src/assets/pokepedia-logo-ball.png create mode 100644 client/src/assets/pokepedia-logo.png create mode 100644 client/src/assets/social-card-01.png create mode 100644 client/src/assets/social-card-02.png diff --git a/client/src/assets/pokepedia-favicon.png b/client/src/assets/pokepedia-favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..fdbc642698177de6137d3231bbb75d0ae84a6c77 GIT binary patch literal 2444 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 Oyi1A6i&hC61pXhLP-pD` literal 0 HcmV?d00001 diff --git a/client/src/assets/pokepedia-logo-ball.png b/client/src/assets/pokepedia-logo-ball.png new file mode 100644 index 0000000000000000000000000000000000000000..4e8933b27fe181bf4e906e479d18fb7d79800762 GIT binary patch literal 17218 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 literal 0 HcmV?d00001 diff --git a/client/src/assets/pokepedia-logo.png b/client/src/assets/pokepedia-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a6fda10b6ca200f9f41d1bee63ae0ad3686615 GIT binary patch literal 11688 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 IllzbV7ly(vX#fBK literal 0 HcmV?d00001 diff --git a/client/src/assets/social-card-01.png b/client/src/assets/social-card-01.png new file mode 100644 index 0000000000000000000000000000000000000000..90668cc2cb3d1ad6286235a9e670bbf1607b5099 GIT binary patch literal 162382 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

!T)cI=F?Fr3+VngJH0-(>+x?@Ic2?X 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 Hu0mjfG=e75 literal 0 HcmV?d00001 diff --git a/client/src/assets/social-card-02.png b/client/src/assets/social-card-02.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e17201890b0548876c794ddbe7081895efda8e GIT binary patch literal 301903 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 z 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%0AAX6$ncUCEkfk*?4y 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 a%HTd~ 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 Date: Tue, 9 Aug 2016 17:05:07 +0300 Subject: [PATCH 37/46] Add sidebar about Drawer --- .../pages/PokedexPage/PokedexPage.jsx | 118 ++++++++++++++++-- .../pages/PokedexPage/PokedexPage.scss | 102 +++++++++++++-- client/src/scss/common/layout.scss | 8 +- 3 files changed, 203 insertions(+), 25 deletions(-) diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx index a609f22..2f2f42c 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.jsx +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -3,11 +3,16 @@ import React, { Component, PropTypes } from 'react'; import { isObject, isFinite } from 'lodash'; // helpers -import { isValidItem } from 'utils/filterList'; +// import { isValidItem } from 'utils/filterList'; // components +import Drawer from 'material-ui/Drawer'; import CircularProgress from 'material-ui/CircularProgress'; -import LinearProgress from 'material-ui/LinearProgress'; +import RaisedButton from 'material-ui/RaisedButton'; +import IconButton from 'material-ui/IconButton'; +import FontIcon from 'material-ui/FontIcon'; +import IconInfo from 'material-ui/svg-icons/action/info-outline'; + import PokeLoader from 'components/atoms/PokeLoader'; import PokedexSearch from 'components/modules/PokedexSearch'; import PokedexList from 'components/modules/PokedexList'; @@ -24,12 +29,14 @@ export default class PokedexPage extends Component { super(props); this.state = { + drawerOpened: false, searchResults: [] }; this.onSearchSelect = this.onSearchSelect.bind(this); this.onSearchUpdate = this.onSearchUpdate.bind(this); this.renderPokedex = this.renderPokedex.bind(this); + this.toggleDrawer = this.toggleDrawer.bind(this); } componentWillReceiveProps(nextProps) { @@ -46,7 +53,7 @@ export default class PokedexPage extends Component { onSearchUpdate(searchTerm) { console.log('<<< search term : ', searchTerm); - const { searchResults } = this.state; + // const { searchResults } = this.state; const { pokemons } = this.props.pokedex; // reset to full list @@ -61,6 +68,7 @@ export default class PokedexPage extends Component { } } + // @TODO: move this to redux? onSearchSelect(keyword) { const { pokemons } = this.props.pokedex; @@ -112,6 +120,12 @@ export default class PokedexPage extends Component { }); } + toggleDrawer() { + this.setState({ + drawerOpened: !this.state.drawerOpened + }); + } + renderLoader() { return (

); } + // @TODO: make this a component? + renderInfoButton() { + return ( +
+ + + +
+ ); + } + + // @TODO: make this a component? + renderDrawer() { + return ( + +
+
+ {/* */} + Pokepedia +

pokepedia.fyi

+

Your only Pokémon GO stop!

+
+
+

+ Discover all Pokémons stats, weaknesses, evolution chances, trainer + level rewards and more! +

+ + {/* COMING SOON */} +
+

Coming soon:

+
    +
  • Egg & level rewards charts
  • +
  • Evolution calculator
  • +
  • Battle simulator
  • +
  • Map of Pokemons locations
  • +
+

... and moar!

+
+ + {/* SOCIAL */} +
+

Stay tuned!

+ + } + backgroundColor="#3b5998" + labelColor="#fff" + /> + or + } + backgroundColor="#1da1f2" + labelColor="#fff" + /> +
+
+
+ + for the + + of games +
+
+ +
+ All trademarks, product names and logos appearing on the site are + the property of their respective owners. +
+
+
+ ); + } + render() { const { pokemons } = this.props.pokedex; const hasPokemons = (pokemons && pokemons.length); + const infoButton = this.renderInfoButton(); + const drawer = this.renderDrawer(); const node = !hasPokemons ? this.renderLoader() : this.renderPokedex(); - // const node = this.renderLoader(); return ( -
+

PokéPedia

Beta
+ + {infoButton}
+ {drawer} {node}
); diff --git a/client/src/components/pages/PokedexPage/PokedexPage.scss b/client/src/components/pages/PokedexPage/PokedexPage.scss index 9c2f70b..51e64e0 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.scss +++ b/client/src/components/pages/PokedexPage/PokedexPage.scss @@ -2,24 +2,16 @@ text-align: center; } -.PokedexPage-Tip { - margin-top: 30px; - - font-size: 14px; - font-style: italic; - color: #bbb; -} - .Pokepedia-Header { padding: 70px 0 50px; } -.Pokepedia-Footer { - padding: 30px; +.PokedexPage-Tip { + margin-top: 30px; - font-size: 12px; + font-size: 14px; font-style: italic; - color: #ccc; + color: #bbb; } .Pokepedia-Logo { @@ -45,3 +37,89 @@ font-weight: 500; } } + +.Pokepedia-Info { + padding: 20px; +} + +.Pokepedia-Sepa { + padding-bottom: 10px; + margin-bottom: 10px; + + border-bottom: 1px dashed #ccc; +} + +.Pokepedia-About { + // padding-bottom: 10px; + // margin-bottom: 10px; + + // border-bottom: 1px dashed #ccc; + + // h4 { margin: 15px 0; } + h4 { font-style: italic; } +} + +.Pokepedia-Info-Content { + ul { + padding: 0; + list-style-type: none; + } +} + +.Pokepedia-InfoButton { + position: absolute; + top: 10px; + right: 10px; + + border: 1px dashed transparent; + border-radius: 50%; + + transition: border-color 0.2s ease-in-out; + + &:hover { + border-color: #bbb; + + .Pokepedia-InfoButton-Icon { + fill: #000 !important; + } + } +} + +.Pokepedia-InfoButton-Icon { + fill: #ccc !important; +} + +.Pokepedia-Soon { + color: magenta; +} + +.Pokepedia-Social { + margin: 30px 0; +} + +.Pokepedia-SocialOr { + display: block; + + margin: 5px 0; + + font-style: italic; + color: #bbb; +} + +.Coded { + padding: 20px; + + font-size: 12px; + + .fa { margin: 0 5px; } + .fa.fa-heart { color: #e74c3c; } +} + +.Pokepedia-Footer { + padding: 10px 0; + + font-size: 12px; + font-style: italic; + color: #ccc; + // text-align: left; +} diff --git a/client/src/scss/common/layout.scss b/client/src/scss/common/layout.scss index dc357aa..9b74965 100644 --- a/client/src/scss/common/layout.scss +++ b/client/src/scss/common/layout.scss @@ -10,16 +10,16 @@ body { background: #eee; } +.Page { + position: relative; +} + .img-fluid { display: block; max-width: 100%; height: auto; } -.Page { - position: relative; -} - .FBLike { position: absolute; top: 10px; From 61d4d8ac9a96c8e34488bda3adbfb961c6bb6e8c Mon Sep 17 00:00:00 2001 From: Sabin Tudor Date: Tue, 9 Aug 2016 17:07:08 +0300 Subject: [PATCH 38/46] Add FontAwesome icon fonts (@TODO: extract only social icons ?) --- .../src/components/pages/PokedexPage/PokedexPage.jsx | 2 +- client/src/index.html | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/client/src/components/pages/PokedexPage/PokedexPage.jsx b/client/src/components/pages/PokedexPage/PokedexPage.jsx index 2f2f42c..9768e47 100644 --- a/client/src/components/pages/PokedexPage/PokedexPage.jsx +++ b/client/src/components/pages/PokedexPage/PokedexPage.jsx @@ -255,7 +255,7 @@ export default class PokedexPage extends Component {
-

PokéPedia

+

Poképedia

Beta
diff --git a/client/src/index.html b/client/src/index.html index 432f0bd..00ea619 100644 --- a/client/src/index.html +++ b/client/src/index.html @@ -5,10 +5,10 @@ - Poképedia.fyi (BETA) - your only Pokemon GO stop + pokepedia.fyi (BETA) - your only Pokemon GO stop - + @@ -30,17 +30,18 @@ - + - + - + +