diff --git a/package.json b/package.json index 75686d9..34f8900 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "react-router-dom": "^4.3.1", "react-scripts": "1.1.4", "react-select": "^2.0.0-beta.7", + "react-visibility-sensor": "^5.0.1", "redux": "^4.0.0", "redux-api-middleware": "^2.3.0", "redux-logger": "^3.0.6", diff --git a/src/App.js b/src/App.js index c4c7093..e74ae4a 100644 --- a/src/App.js +++ b/src/App.js @@ -2,8 +2,11 @@ import React from 'react' // import './App.css' import { Switch, Route } from 'react-router-dom' import { library } from '@fortawesome/fontawesome-svg-core' -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { faGhost, faSpinner } from '@fortawesome/free-solid-svg-icons' +import { + faGhost, faSpinner, faPlus, faSignInAlt, faSignOutAlt, faEnvelope, + faCheck, faExclamationTriangle, faKey, faSearch, faAlignJustify, + faCodeBranch, faSquare, faCheckSquare, faCompass, +} from '@fortawesome/free-solid-svg-icons' import Main from './container/Main' import Geo from './container/Geo' @@ -12,7 +15,20 @@ import Public from './container/Public' import { LOGIN_PATH } from './constants/path' library.add(faGhost) +library.add(faPlus) +library.add(faSignOutAlt) +library.add(faSignInAlt) library.add(faSpinner) +library.add(faSearch) +library.add(faKey) +library.add(faCheck) +library.add(faEnvelope) +library.add(faExclamationTriangle) +library.add(faAlignJustify) +library.add(faCodeBranch) +library.add(faSquare) +library.add(faCheckSquare) +library.add(faCompass) const App = () => ( diff --git a/src/components/CalendarList.js b/src/components/CalendarList.js index e9764e6..dc5045c 100644 --- a/src/components/CalendarList.js +++ b/src/components/CalendarList.js @@ -2,6 +2,7 @@ import React, { Component } from 'react' import styled from 'styled-components' import { connect } from 'react-redux' import { Link } from 'react-router-dom' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { getCalendar } from '../actions/calendar' import store from '../store' @@ -27,8 +28,8 @@ margin-bottom: 1rem; const CheckboxIcon = (props) => ( - {props.checked === true && } - {props.checked !== true && } + {props.checked === true && } + {props.checked !== true && } ) @@ -51,7 +52,7 @@ class CalendarList extends Component { diff --git a/src/components/FareAttributesDetail.js b/src/components/FareAttributesDetail.js index 53b4730..b6e956d 100644 --- a/src/components/FareAttributesDetail.js +++ b/src/components/FareAttributesDetail.js @@ -3,6 +3,7 @@ import styled from 'styled-components' import { connect } from 'react-redux' import { Redirect, Link } from 'react-router-dom' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import VisibilitySensor from 'react-visibility-sensor' import { PaymentMethodChoices, TransferChoices @@ -11,6 +12,7 @@ import { getItemFromList } from '../utils' import { getFareAttr, getFareRule } from '../actions/fare' import store from '../store' import { FareRulesOne } from './FareRulesDetail' +import Spinner from './Spinner' const StyledFareAttributesDetail = styled.div` padding: 1rem; @@ -112,7 +114,7 @@ class FareAttributesDetail extends Component { const { attribID } = this.props.match.params const ones = results.filter(ele => ele.id === +attribID) if (this.state.fetching || fetching) - return
Waiting...
+ return if (ones.length < 1) return @@ -121,11 +123,13 @@ class FareAttributesDetail extends Component {
{this.renderItem(ones[0])} - New fare rule + New fare rule - {farerule.results && farerule.results.map(ele => )} - {farerule.fetching && } - {farerule.next && More} + {farerule.results && farerule.results.map(ele => )} + + {(!farerule.fetching && farerule.results.length > 10 && farerule.next) && +
More
+
}
) } diff --git a/src/components/FareList.js b/src/components/FareList.js index 1205dec..fdb303b 100644 --- a/src/components/FareList.js +++ b/src/components/FareList.js @@ -2,6 +2,7 @@ import React, { Component } from 'react' import styled from 'styled-components' import { connect } from 'react-redux' import { Link } from 'react-router-dom' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { getFareAttr, getFareRule } from '../actions/fare' import store from '../store' @@ -37,7 +38,7 @@ class FareList extends Component { @@ -50,7 +51,7 @@ class FareList extends Component { diff --git a/src/components/FloatPane.js b/src/components/FloatPane.js index 0f26a89..ccdf3cf 100644 --- a/src/components/FloatPane.js +++ b/src/components/FloatPane.js @@ -2,6 +2,7 @@ import React, { Component } from 'react' import { Link, Route, Switch } from 'react-router-dom' import { connect } from 'react-redux' import styled from 'styled-components' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { logout } from '../utils/Auth' import RouteList from './RouteList' @@ -76,7 +77,7 @@ const SimpleAgencyList = (props) => (

- New agency + New agency

{props.agencies.map(ele => ( @@ -108,7 +109,7 @@ class FloatPane extends Component { store.dispatch(polygonReset())}> - + Clear PG @@ -116,7 +117,7 @@ class FloatPane extends Component { logout()}> - + Logout @@ -124,7 +125,7 @@ class FloatPane extends Component { {!loggedIn && - + Sign in @@ -150,7 +151,7 @@ class FloatPane extends Component { return ( - + {this.renderTopLevel(loggedIn)} diff --git a/src/components/Login.js b/src/components/Login.js index 0aa1499..3b1b545 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -1,4 +1,5 @@ import React from 'react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' let invalidEmail = false let goodPassword = null @@ -16,11 +17,11 @@ const Login = (props) => ( onChange={props.updateField} placeholder="yourname@example.com" /> - + { invalidEmail && - + } { invalidEmail && @@ -36,11 +37,11 @@ const Login = (props) => ( onKeyPress={(e) => {(e.key === 'Enter') && props.fetchAuth()}} placeholder="Password" /> - + { goodPassword === true && - + } { goodPassword === true && diff --git a/src/components/Nav.js b/src/components/Nav.js index f54fcb4..3dca259 100644 --- a/src/components/Nav.js +++ b/src/components/Nav.js @@ -2,6 +2,7 @@ import React, { Component } from 'react' import { connect } from 'react-redux' import styled from 'styled-components' import { Link } from 'react-router-dom' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { logout } from '../utils/Auth' import { polygonReset } from '../actions' @@ -26,11 +27,11 @@ class Nav extends Component {
- +   new fare rule - +   new fare attributes
@@ -41,7 +42,7 @@ class Nav extends Component {
- +   new service calendar
@@ -58,7 +59,7 @@ class Nav extends Component { ))} - +  Add new agency @@ -96,7 +97,7 @@ class Nav extends Component { polygonReset()}> - + Clear polygons @@ -106,7 +107,7 @@ class Nav extends Component { logout()}> - + Logout @@ -114,7 +115,7 @@ class Nav extends Component { {!loggedIn && - + Sign in diff --git a/src/components/RouteList.js b/src/components/RouteList.js index 6dedd10..379a865 100644 --- a/src/components/RouteList.js +++ b/src/components/RouteList.js @@ -2,6 +2,7 @@ import React, { Component } from 'react' import styled from 'styled-components' import { connect } from 'react-redux' import { Link } from 'react-router-dom' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import Spinner from './Spinner' import { getRoute } from '../actions' @@ -52,7 +53,7 @@ class RouteList extends Component { className="panel-block" to={`/map/${agencyId}/route/${ele.route_id}`}> - +
{ele.short_name} diff --git a/src/components/Spinner.js b/src/components/Spinner.js index 8f168e0..967eddf 100644 --- a/src/components/Spinner.js +++ b/src/components/Spinner.js @@ -1,9 +1,10 @@ import React from 'react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' const Spinner = (props) => ( {props.show && - } + } ) diff --git a/src/components/StopList.js b/src/components/StopList.js index 450fabd..746f959 100644 --- a/src/components/StopList.js +++ b/src/components/StopList.js @@ -2,6 +2,7 @@ import React, { Component } from 'react' import styled from 'styled-components' import { connect } from 'react-redux' import { Link } from 'react-router-dom' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import store from '../store' import { STOP_REQUEST } from '../constants/ActionTypes' @@ -46,7 +47,7 @@ class StopList extends Component {

- New stop + New stop Near

@@ -59,7 +60,7 @@ class StopList extends Component { onChange={(e) => { this.handleStopSearch(e) } } onKeyPress={(e) => { (e.key === 'Enter') && this.handleStopSearch(e) }} /> - +