diff --git a/server/lib/sendBackData.js b/server/lib/sendBackData.js index 43b48eb..2e4e2ca 100644 --- a/server/lib/sendBackData.js +++ b/server/lib/sendBackData.js @@ -1,19 +1,15 @@ function sendBackData (io, { data = [], mode, direction, destination }) { const origin = direction === 'away' ? process.env.AWAYWARDS_ORIGIN_TRAIN_NAME : process.env.AWAYWARDS_DESTINATION_TRAIN_NAME; - let androidData; parseTrainData(data) - .then(parsed => { - if (parsed) { - androidData = parsed; - } + .then((parsed = []) => { io.emit(`${mode}:arrivals`, { - android_data: androidData, - data, - direction, - origin, - destination, - last_updated: new Date().toISOString() + android_data: parsed, + data, + direction, + origin, + destination, + last_updated: new Date().toISOString() }); }) .catch(console.error); @@ -25,11 +21,11 @@ function parseTrainData (trainData, mode = 'train') { return resolve(); } const mapped = trainData.map(arrival => { - const finalDestination = arrival.destination.location[0].locationName; + const terminus = arrival.destination.location[0].locationName; return { std: arrival.std, etd: arrival.etd, - identifier: `${arrival.std} to ${normaliseStationName(finalDestination, mode)}` + terminus: normaliseStationName(terminus, mode) }; }); resolve(mapped); diff --git a/src/js/actions.js b/src/js/actions.js index 88d2671..0aed5de 100644 --- a/src/js/actions.js +++ b/src/js/actions.js @@ -31,11 +31,11 @@ export function getArrivalsRequest (mode) { }; } -export function getArrivalsSuccess (mode, data) { +export function getArrivalsSuccess (mode, payload) { return { type: GET_ARRIVALS_SUCCESS, mode, - data + payload }; } diff --git a/src/js/components/arrivals.js b/src/js/components/arrivals.js index 057406a..761794e 100644 --- a/src/js/components/arrivals.js +++ b/src/js/components/arrivals.js @@ -24,6 +24,7 @@ const Arrivals = ({ train, dlr, direction, changeDirection }) => { data={ train.arrivals } origin={ train.origin } destination={ train.destination } + terminus={ train.terminus } direction={ direction } last_updated={ train.last_updated } /> diff --git a/src/js/components/card.js b/src/js/components/card.js index d5bb616..6bf8028 100644 --- a/src/js/components/card.js +++ b/src/js/components/card.js @@ -3,7 +3,6 @@ import PropTypes from 'prop-types'; import moment from 'moment'; const normaliseStationName = (stationName, mode) => { - console.log(mode) if (mode === 'dlr' && stationName.length > 0) { return stationName.replace(' DLR Station', ''); } @@ -19,9 +18,6 @@ const Card = ({ mode, origin, destination, data, direction, last_updated }) => { } else { header = destination || 'Got nothing...'; } - if (mode === 'train') { - console.log("DATA", data) - } return (

Last updated: { moment(last_updated).format('HH:mm') }

@@ -38,7 +34,6 @@ const Card = ({ mode, origin, destination, data, direction, last_updated }) => { mode={ mode } arrival={ arrival } destination={ destination } - finalDestination={ mode === 'train' && data.length > 0 && `${data[i].destination.location[0].locationName}` } time={ time } /> ); @@ -48,18 +43,17 @@ const Card = ({ mode, origin, destination, data, direction, last_updated }) => { ); }; -const ArrivalItem = ({ mode, arrival, finalDestination, time }) => { +const ArrivalItem = ({ mode, arrival, time }) => { if (mode === 'train') { return (
- { `${arrival.std} to ${normaliseStationName(finalDestination, mode)}` } + { `${arrival.std} to ${normaliseStationName(arrival.terminus, mode)}` }
{ arrival.etd }
); } else { - console.log("ARRIVAL", arrival) return (
{ mode === 'bus' && `${arrival.lineName} ` } @@ -89,6 +83,6 @@ Card.propTypes = { ArrivalItem.propTypes = { mode: PropTypes.string, arrival: PropTypes.object, - finalDestination: PropTypes.string, + terminus: PropTypes.string, time: PropTypes.string }; diff --git a/src/js/reducer.js b/src/js/reducer.js index b79f64f..d23c424 100644 --- a/src/js/reducer.js +++ b/src/js/reducer.js @@ -25,6 +25,7 @@ export const initialState = { arrivals: [], origin: '', destination: '', + terminus: '', last_updated: undefined, error: undefined }, @@ -45,11 +46,11 @@ export function reducer (state = initialState, action) { case GET_ARRIVALS_SUCCESS: { const data = { ...state[action.mode], - arrivals: action.data.data, - origin: action.data.origin, - destination: action.data.destination, + arrivals: action.mode === 'train' ? action.payload.android_data : action.payload.data, + origin: action.payload.origin, + destination: action.payload.destination, direction: action.direction, - last_updated: action.data.last_updated + last_updated: action.payload.last_updated }; return { ...state, isFetching: false, [action.mode]: data }; } diff --git a/src/js/socket.js b/src/js/socket.js index 3f776bc..91f94ef 100644 --- a/src/js/socket.js +++ b/src/js/socket.js @@ -8,16 +8,16 @@ export const socket = io(); // eslint-disable-line no-undef export function registerListeners (dispatch) { - socket.on('dlr:arrivals', (data) => { - dispatch(getArrivalsSuccess('dlr', data)); + socket.on('dlr:arrivals', (payload) => { + dispatch(getArrivalsSuccess('dlr', payload)); }); - socket.on('bus:arrivals', (data) => { - dispatch(getArrivalsSuccess('bus', data)); + socket.on('bus:arrivals', (payload) => { + dispatch(getArrivalsSuccess('bus', payload)); }); - socket.on('train:arrivals', (data) => { - dispatch(getArrivalsSuccess('train', data)); + socket.on('train:arrivals', (payload) => { + dispatch(getArrivalsSuccess('train', payload)); }); socket.on('dlr:error', (error) => {