From 9d729d2bae0c074811602f1adae2788f5d80f4f8 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Mon, 26 Dec 2016 18:56:13 -0500 Subject: [PATCH 1/9] Remove BuildingListItem component --- src/components/BuildingList/index.js | 19 +++++++++++-------- src/components/BuildingList/styles.css | 7 +++++++ src/components/BuildingListItem/index.js | 16 ---------------- src/components/BuildingListItem/styles.css | 7 ------- 4 files changed, 18 insertions(+), 31 deletions(-) delete mode 100644 src/components/BuildingListItem/index.js delete mode 100644 src/components/BuildingListItem/styles.css diff --git a/src/components/BuildingList/index.js b/src/components/BuildingList/index.js index 8de12843..8b150940 100644 --- a/src/components/BuildingList/index.js +++ b/src/components/BuildingList/index.js @@ -1,6 +1,4 @@ import React from 'react'; - -import BuildingListItem from '../BuildingListItem/index' import './styles.css'; export default function BuildingList({buildings}) { @@ -8,14 +6,19 @@ export default function BuildingList({buildings}) { return

Loading...

} - let i = 0; - const buildingProperties = Object.keys(buildings[0]).map((item) => { - return { item } - }); + const buildingProperties = Object.keys(buildings[0]).map(item => + { item } , + ); - const buildingItems = buildings.map((building) => { + const buildingItems = buildings.map(building => { return ( - + + {building['address']} + {building['bbl']} + {building['blocpower_id']} + {building['borough']} + {building['zipcode']} + ) }); diff --git a/src/components/BuildingList/styles.css b/src/components/BuildingList/styles.css index e69de29b..2f5a0655 100644 --- a/src/components/BuildingList/styles.css +++ b/src/components/BuildingList/styles.css @@ -0,0 +1,7 @@ +.building-list-item { + cursor: pointer; +} + +.building-list-item:hover { + background-color: #eee; +} diff --git a/src/components/BuildingListItem/index.js b/src/components/BuildingListItem/index.js deleted file mode 100644 index b51cacbe..00000000 --- a/src/components/BuildingListItem/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import './styles.css'; - -export default function BuildingListItem(props) { - - let i = 0; - const building_items = Object.values(props).map((building_item) => { - return {building_item} - }); - - return ( - - {building_items} - - ) -}; diff --git a/src/components/BuildingListItem/styles.css b/src/components/BuildingListItem/styles.css deleted file mode 100644 index 2f5a0655..00000000 --- a/src/components/BuildingListItem/styles.css +++ /dev/null @@ -1,7 +0,0 @@ -.building-list-item { - cursor: pointer; -} - -.building-list-item:hover { - background-color: #eee; -} -- GitLab From 0f19f28d73d5ba5f3221a5b5224aa356560c82a7 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Mon, 26 Dec 2016 22:37:07 -0500 Subject: [PATCH 2/9] Create env vars for buildingservice url and headers --- src/containers/HomePage/actions.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/containers/HomePage/actions.js b/src/containers/HomePage/actions.js index f37e330b..600306d9 100644 --- a/src/containers/HomePage/actions.js +++ b/src/containers/HomePage/actions.js @@ -1,11 +1,10 @@ import 'whatwg-fetch'; import {FETCH_BUILDINGS} from './constants' -const ROOT_URL = 'http://localhost:5404/building/'; +const ROOT_URL = process.env.REACT_APP_BUILDING_SERVICE + '/building/'; +const myHeaders = new Headers({"x-blocpower-app-key": process.env.REACT_APP_KEY}); export function fetchBuildings(address) { - const myHeaders = new Headers({"x-blocpower-app-key": "04a6b12c-d3d3-4ad2-afe4-b22fd0215578"}); - const myInit = { method: 'GET', headers: myHeaders, -- GitLab From 105ff6eadcf9f16eb59c5c58d9cb9b6459aaf355 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Mon, 26 Dec 2016 22:56:08 -0500 Subject: [PATCH 3/9] Rename BuildingList and BuildingListTable --- .../{BuildingList => BuildingListTable}/index.js | 2 +- .../{BuildingList => BuildingListTable}/styles.css | 0 src/containers/App/index.js | 4 ++-- src/containers/{HomePage => BuildingList}/actions.js | 0 src/containers/{HomePage => BuildingList}/constants.js | 0 src/containers/{HomePage => BuildingList}/index.js | 8 ++++---- src/containers/{HomePage => BuildingList}/reducer.js | 0 src/containers/{HomePage => BuildingList}/styles.css | 0 src/reducer.js | 2 +- 9 files changed, 8 insertions(+), 8 deletions(-) rename src/components/{BuildingList => BuildingListTable}/index.js (93%) rename src/components/{BuildingList => BuildingListTable}/styles.css (100%) rename src/containers/{HomePage => BuildingList}/actions.js (100%) rename src/containers/{HomePage => BuildingList}/constants.js (100%) rename src/containers/{HomePage => BuildingList}/index.js (84%) rename src/containers/{HomePage => BuildingList}/reducer.js (100%) rename src/containers/{HomePage => BuildingList}/styles.css (100%) diff --git a/src/components/BuildingList/index.js b/src/components/BuildingListTable/index.js similarity index 93% rename from src/components/BuildingList/index.js rename to src/components/BuildingListTable/index.js index 8b150940..8c349c70 100644 --- a/src/components/BuildingList/index.js +++ b/src/components/BuildingListTable/index.js @@ -1,7 +1,7 @@ import React from 'react'; import './styles.css'; -export default function BuildingList({buildings}) { +export default function BuildingListTable({buildings}) { if (!buildings || buildings.length === 0) { return

Loading...

} diff --git a/src/components/BuildingList/styles.css b/src/components/BuildingListTable/styles.css similarity index 100% rename from src/components/BuildingList/styles.css rename to src/components/BuildingListTable/styles.css diff --git a/src/containers/App/index.js b/src/containers/App/index.js index b725bd15..96be195e 100644 --- a/src/containers/App/index.js +++ b/src/containers/App/index.js @@ -1,13 +1,13 @@ import React, {Component} from 'react'; import './styles.css'; -import HomePage from '../HomePage'; +import BuildingList from '../BuildingList'; class App extends Component { render() { return (
- +
); } diff --git a/src/containers/HomePage/actions.js b/src/containers/BuildingList/actions.js similarity index 100% rename from src/containers/HomePage/actions.js rename to src/containers/BuildingList/actions.js diff --git a/src/containers/HomePage/constants.js b/src/containers/BuildingList/constants.js similarity index 100% rename from src/containers/HomePage/constants.js rename to src/containers/BuildingList/constants.js diff --git a/src/containers/HomePage/index.js b/src/containers/BuildingList/index.js similarity index 84% rename from src/containers/HomePage/index.js rename to src/containers/BuildingList/index.js index 0664832b..b464f7e1 100644 --- a/src/containers/HomePage/index.js +++ b/src/containers/BuildingList/index.js @@ -3,11 +3,11 @@ import {connect} from 'react-redux'; import {bindActionCreators} from 'redux'; import {fetchBuildings} from './actions' -import BuildingList from '../../components/BuildingList' +import BuildingListTable from '../../components/BuildingListTable' import './styles.css'; -class HomePage extends Component { +class BuildingList extends Component { constructor(props) { super(props); @@ -50,7 +50,7 @@ class HomePage extends Component { - + ) } @@ -64,4 +64,4 @@ function mapStateToProps({buildings}) { return {buildings}; } -export default connect(mapStateToProps, mapDispatchToProps)(HomePage); +export default connect(mapStateToProps, mapDispatchToProps)(BuildingList); diff --git a/src/containers/HomePage/reducer.js b/src/containers/BuildingList/reducer.js similarity index 100% rename from src/containers/HomePage/reducer.js rename to src/containers/BuildingList/reducer.js diff --git a/src/containers/HomePage/styles.css b/src/containers/BuildingList/styles.css similarity index 100% rename from src/containers/HomePage/styles.css rename to src/containers/BuildingList/styles.css diff --git a/src/reducer.js b/src/reducer.js index dd0cedcb..7e64f712 100644 --- a/src/reducer.js +++ b/src/reducer.js @@ -1,6 +1,6 @@ import {combineReducers} from 'redux'; -import BuildingReducer from './containers/HomePage/reducer'; +import BuildingReducer from './containers/BuildingList/reducer'; const rootReducer = combineReducers({ buildings: BuildingReducer -- GitLab From ebe4e92e76a0d45e61737b47a01304f2c7a2f9b7 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Mon, 26 Dec 2016 22:56:53 -0500 Subject: [PATCH 4/9] Remove App container --- src/containers/App/index.js | 16 ---------------- src/containers/App/index.test.js | 8 -------- src/containers/App/styles.css | 3 --- src/index.js | 4 ++-- 4 files changed, 2 insertions(+), 29 deletions(-) delete mode 100644 src/containers/App/index.js delete mode 100644 src/containers/App/index.test.js delete mode 100644 src/containers/App/styles.css diff --git a/src/containers/App/index.js b/src/containers/App/index.js deleted file mode 100644 index 96be195e..00000000 --- a/src/containers/App/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import React, {Component} from 'react'; -import './styles.css'; - -import BuildingList from '../BuildingList'; - -class App extends Component { - render() { - return ( -
- -
- ); - } -} - -export default App; diff --git a/src/containers/App/index.test.js b/src/containers/App/index.test.js deleted file mode 100644 index ba444eb1..00000000 --- a/src/containers/App/index.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './index'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); -}); diff --git a/src/containers/App/styles.css b/src/containers/App/styles.css deleted file mode 100644 index 34b8ee09..00000000 --- a/src/containers/App/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -.App { - -} diff --git a/src/index.js b/src/index.js index 25279758..bd22d3fb 100644 --- a/src/index.js +++ b/src/index.js @@ -5,7 +5,7 @@ import {Provider} from 'react-redux'; import {createStore, applyMiddleware} from 'redux'; import ReduxPromise from 'redux-promise'; -import App from './containers/App'; +import BuildingList from './containers/BuildingList'; import rootReducer from './reducer' const createStoreWithMiddleware = applyMiddleware(ReduxPromise)(createStore); @@ -13,7 +13,7 @@ const createStoreWithMiddleware = applyMiddleware(ReduxPromise)(createStore); ReactDOM.render( - + , document.getElementById('root') ); -- GitLab From b9da73f69a9f7b9697171ca6653226f5f235a068 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Mon, 26 Dec 2016 23:07:37 -0500 Subject: [PATCH 5/9] Separate store into separate file --- src/index.js | 9 ++------- src/store.js | 11 +++++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 src/store.js diff --git a/src/index.js b/src/index.js index bd22d3fb..72ebde11 100644 --- a/src/index.js +++ b/src/index.js @@ -1,18 +1,13 @@ import React from 'react'; import ReactDOM from 'react-dom'; - import {Provider} from 'react-redux'; -import {createStore, applyMiddleware} from 'redux'; -import ReduxPromise from 'redux-promise'; +import store from './store'; import BuildingList from './containers/BuildingList'; -import rootReducer from './reducer' - -const createStoreWithMiddleware = applyMiddleware(ReduxPromise)(createStore); ReactDOM.render( + store={store}> , document.getElementById('root') diff --git a/src/store.js b/src/store.js new file mode 100644 index 00000000..77286aad --- /dev/null +++ b/src/store.js @@ -0,0 +1,11 @@ +import { createStore, applyMiddleware } from 'redux'; +import ReduxPromise from 'redux-promise'; +import rootReducer from './reducer' + +const createStoreWithMiddleware = applyMiddleware(ReduxPromise)(createStore); + +const store = createStoreWithMiddleware(rootReducer, + window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() +) + +export default store; \ No newline at end of file -- GitLab From 9cf4302c777559abdc9cac07c65c39e7b353ca80 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Mon, 26 Dec 2016 23:12:31 -0500 Subject: [PATCH 6/9] Change message to None when search returns nothing --- src/components/BuildingListTable/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/BuildingListTable/index.js b/src/components/BuildingListTable/index.js index 8c349c70..a4a0687b 100644 --- a/src/components/BuildingListTable/index.js +++ b/src/components/BuildingListTable/index.js @@ -3,7 +3,7 @@ import './styles.css'; export default function BuildingListTable({buildings}) { if (!buildings || buildings.length === 0) { - return

Loading...

+ return
None
} const buildingProperties = Object.keys(buildings[0]).map(item => -- GitLab From cddafbbe01f3f0de5b8f016feead2f508ea2825a Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Tue, 27 Dec 2016 01:45:55 -0500 Subject: [PATCH 7/9] Add eslint depend., PropTypes and fix styling according to eslint --- .eslintrc.json | 26 ++++++++++++ package.json | 12 +++--- src/components/BuildingListTable/index.js | 40 +++++++++++------- src/containers/BuildingList/actions.js | 29 ++++++++------ src/containers/BuildingList/constants.js | 2 + src/containers/BuildingList/index.js | 49 +++++++++++++++-------- src/containers/BuildingList/reducer.js | 2 +- src/index.js | 7 ++-- src/reducer.js | 4 +- src/store.js | 8 ++-- 10 files changed, 117 insertions(+), 62 deletions(-) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..8cb839b7 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,26 @@ +{ + "extends": "airbnb", + "plugins": [ + "react", + "jsx-a11y", + "import" + ], + "rules": { + "react/jsx-filename-extension": [1, { + "extensions": [ + ".js" + ]} + ], + "comma-dangle": ["error", { + "arrays": "always-multiline", + "objects": "always-multiline", + "imports": "always-multiline", + "exports": "always-multiline", + "functions": "ignore" + }] + }, + "env": { + "browser": true, + "jest": true + } +} \ No newline at end of file diff --git a/package.json b/package.json index 7e9a9d20..ea661077 100644 --- a/package.json +++ b/package.json @@ -16,13 +16,14 @@ "css-loader": "0.25.0", "detect-port": "1.0.1", "dotenv": "2.0.0", - "eslint": "3.8.1", - "eslint-config-react-app": "^0.3.0", + "eslint": "3.9.1", + "eslint-config-airbnb": "^13.0.0", + "eslint-config-react-app": "^0.5.0", "eslint-loader": "1.6.0", "eslint-plugin-flowtype": "2.21.0", - "eslint-plugin-import": "2.0.1", + "eslint-plugin-import": "2.1.0", "eslint-plugin-jsx-a11y": "2.2.3", - "eslint-plugin-react": "6.4.1", + "eslint-plugin-react": "6.6.0", "extract-text-webpack-plugin": "1.0.1", "file-loader": "0.9.0", "filesize": "3.3.0", @@ -83,8 +84,5 @@ "presets": [ "react-app" ] - }, - "eslintConfig": { - "extends": "react-app" } } diff --git a/src/components/BuildingListTable/index.js b/src/components/BuildingListTable/index.js index a4a0687b..548cf6bc 100644 --- a/src/components/BuildingListTable/index.js +++ b/src/components/BuildingListTable/index.js @@ -1,26 +1,26 @@ -import React from 'react'; +import React, { PropTypes } from 'react'; import './styles.css'; -export default function BuildingListTable({buildings}) { +export default function BuildingListTable({ buildings }) { if (!buildings || buildings.length === 0) { - return
None
+ return
None
; } const buildingProperties = Object.keys(buildings[0]).map(item => { item } , ); - const buildingItems = buildings.map(building => { - return ( - - {building['address']} - {building['bbl']} - {building['blocpower_id']} - {building['borough']} - {building['zipcode']} - - ) - }); + const buildingItems = buildings.map(building => + ( + + {building.address} + {building.bbl} + {building.blocpower_id} + {building.borough} + {building.zipcode} + + ), + ); return ( @@ -33,5 +33,15 @@ export default function BuildingListTable({buildings}) { {buildingItems}
- ) + ); +} + +BuildingListTable.propTypes = { + buildings: PropTypes.arrayOf(PropTypes.shape({ + address: PropTypes.state, + bbl: PropTypes.number, + blocpower_id: PropTypes.number, + borough: PropTypes.string, + zipcode: PropTypes.number, + })), }; diff --git a/src/containers/BuildingList/actions.js b/src/containers/BuildingList/actions.js index 600306d9..ba423ec4 100644 --- a/src/containers/BuildingList/actions.js +++ b/src/containers/BuildingList/actions.js @@ -1,29 +1,32 @@ import 'whatwg-fetch'; -import {FETCH_BUILDINGS} from './constants' +import { FETCH_BUILDINGS } from './constants'; -const ROOT_URL = process.env.REACT_APP_BUILDING_SERVICE + '/building/'; -const myHeaders = new Headers({"x-blocpower-app-key": process.env.REACT_APP_KEY}); +const ROOT_URL = `${process.env.REACT_APP_BUILDING_SERVICE}/building/`; +const myHeaders = new Headers({ 'x-blocpower-app-key': process.env.REACT_APP_KEY }); -export function fetchBuildings(address) { +function fetchBuildings(address) { const myInit = { method: 'GET', headers: myHeaders, mode: 'cors', - cache: 'default' + cache: 'default', }; const url = `${ROOT_URL}?address=${address}`; - const request = fetch(url, myInit).then(function (response) { - return response.json() - - }).catch(function (error) { - console.log('request failed for buildings', error) - - }); + const request = fetch(url, myInit).then(response => + response.json() + ); + // .catch(function (error) { + // console.log('request failed for buildings', error) + // }); return { type: FETCH_BUILDINGS, - payload: request + payload: request, }; } + +/* eslint-disable import/prefer-default-export */ +export { fetchBuildings }; +/* eslint-enable */ diff --git a/src/containers/BuildingList/constants.js b/src/containers/BuildingList/constants.js index bdea6400..0cb538df 100644 --- a/src/containers/BuildingList/constants.js +++ b/src/containers/BuildingList/constants.js @@ -1 +1,3 @@ +/* eslint-disable import/prefer-default-export */ export const FETCH_BUILDINGS = 'FETCH_BUILDINGS'; +/* eslint-enable */ diff --git a/src/containers/BuildingList/index.js b/src/containers/BuildingList/index.js index b464f7e1..cefa1811 100644 --- a/src/containers/BuildingList/index.js +++ b/src/containers/BuildingList/index.js @@ -1,9 +1,9 @@ -import React, {Component} from 'react'; -import {connect} from 'react-redux'; -import {bindActionCreators} from 'redux'; -import {fetchBuildings} from './actions' +import React, { Component, PropTypes } from 'react'; +import { connect } from 'react-redux'; +import { bindActionCreators } from 'redux'; -import BuildingListTable from '../../components/BuildingListTable' +import { fetchBuildings } from './actions'; +import BuildingListTable from '../../components/BuildingListTable'; import './styles.css'; @@ -11,7 +11,7 @@ class BuildingList extends Component { constructor(props) { super(props); - this.state = {term: '107 broadway'}; + this.state = { term: '107 broadway' }; this.onInputChange = this.onInputChange.bind(this); this.onFormSubmit = this.onFormSubmit.bind(this); @@ -21,12 +21,8 @@ class BuildingList extends Component { this.getBuildings(); } - getBuildings() { - this.props.fetchBuildings(this.state.term); - } - onInputChange(event) { - this.setState({term: event.target.value}); + this.setState({ term: event.target.value }); } onFormSubmit(event) { @@ -35,10 +31,18 @@ class BuildingList extends Component { this.getBuildings(); } + getBuildings() { + // console.log(typeof(this.props.fetchBuildings)) + this.props.fetchBuildings(this.state.term); + } + render() { return (
-
+
Submit
- +
- ) + ); } } +BuildingList.propTypes = { + buildings: PropTypes.arrayOf(PropTypes.shape({ + address: PropTypes.state, + bbl: PropTypes.number, + blocpower_id: PropTypes.number, + borough: PropTypes.string, + zipcode: PropTypes.number, + })), + fetchBuildings: PropTypes.func, +}; + function mapDispatchToProps(dispatch) { - return bindActionCreators({fetchBuildings}, dispatch); + return bindActionCreators({ fetchBuildings }, dispatch); } -function mapStateToProps({buildings}) { - return {buildings}; +function mapStateToProps({ buildings }) { + return { buildings }; } export default connect(mapStateToProps, mapDispatchToProps)(BuildingList); diff --git a/src/containers/BuildingList/reducer.js b/src/containers/BuildingList/reducer.js index 077dcc30..82c2717c 100644 --- a/src/containers/BuildingList/reducer.js +++ b/src/containers/BuildingList/reducer.js @@ -1,4 +1,4 @@ -import {FETCH_BUILDINGS} from './constants'; +import { FETCH_BUILDINGS } from './constants'; export default function (state = [], action) { switch (action.type) { diff --git a/src/index.js b/src/index.js index 72ebde11..b0820b49 100644 --- a/src/index.js +++ b/src/index.js @@ -1,14 +1,13 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import {Provider} from 'react-redux'; +import { Provider } from 'react-redux'; import store from './store'; import BuildingList from './containers/BuildingList'; ReactDOM.render( - + , - document.getElementById('root') + document.getElementById('root'), ); diff --git a/src/reducer.js b/src/reducer.js index 7e64f712..c32d6aa9 100644 --- a/src/reducer.js +++ b/src/reducer.js @@ -1,9 +1,9 @@ -import {combineReducers} from 'redux'; +import { combineReducers } from 'redux'; import BuildingReducer from './containers/BuildingList/reducer'; const rootReducer = combineReducers({ - buildings: BuildingReducer + buildings: BuildingReducer, }); export default rootReducer; diff --git a/src/store.js b/src/store.js index 77286aad..f802f9d4 100644 --- a/src/store.js +++ b/src/store.js @@ -1,11 +1,13 @@ import { createStore, applyMiddleware } from 'redux'; import ReduxPromise from 'redux-promise'; -import rootReducer from './reducer' +import rootReducer from './reducer'; const createStoreWithMiddleware = applyMiddleware(ReduxPromise)(createStore); +/* eslint-disable no-underscore-dangle */ const store = createStoreWithMiddleware(rootReducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() -) +); +/* eslint-enable */ -export default store; \ No newline at end of file +export default store; -- GitLab From 689f2044ffa1beb851ba9cd3a999887ab700fc03 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Tue, 27 Dec 2016 01:51:20 -0500 Subject: [PATCH 8/9] Remove comment --- src/containers/BuildingList/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/containers/BuildingList/index.js b/src/containers/BuildingList/index.js index cefa1811..77627e6d 100644 --- a/src/containers/BuildingList/index.js +++ b/src/containers/BuildingList/index.js @@ -32,7 +32,6 @@ class BuildingList extends Component { } getBuildings() { - // console.log(typeof(this.props.fetchBuildings)) this.props.fetchBuildings(this.state.term); } -- GitLab From 1da7a6140d10c891bddd4b78422f5b38d616dd18 Mon Sep 17 00:00:00 2001 From: Alessandro DiMarco Date: Tue, 27 Dec 2016 01:53:25 -0500 Subject: [PATCH 9/9] Update prop type --- src/containers/BuildingList/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/containers/BuildingList/index.js b/src/containers/BuildingList/index.js index 77627e6d..d8d33cfc 100644 --- a/src/containers/BuildingList/index.js +++ b/src/containers/BuildingList/index.js @@ -61,7 +61,7 @@ class BuildingList extends Component { BuildingList.propTypes = { buildings: PropTypes.arrayOf(PropTypes.shape({ - address: PropTypes.state, + address: PropTypes.string, bbl: PropTypes.number, blocpower_id: PropTypes.number, borough: PropTypes.string, -- GitLab