Port 9c38c5daa3
to glitch-soc
master
parent
ac9780b844
commit
b21615e957
@ -1,52 +0,0 @@ |
|||||||
import api from 'flavours/glitch/util/api'; |
|
||||||
|
|
||||||
export const STATUS_CARD_FETCH_REQUEST = 'STATUS_CARD_FETCH_REQUEST'; |
|
||||||
export const STATUS_CARD_FETCH_SUCCESS = 'STATUS_CARD_FETCH_SUCCESS'; |
|
||||||
export const STATUS_CARD_FETCH_FAIL = 'STATUS_CARD_FETCH_FAIL'; |
|
||||||
|
|
||||||
export function fetchStatusCard(id) { |
|
||||||
return (dispatch, getState) => { |
|
||||||
if (getState().getIn(['cards', id], null) !== null) { |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
dispatch(fetchStatusCardRequest(id)); |
|
||||||
|
|
||||||
api(getState).get(`/api/v1/statuses/${id}/card`).then(response => { |
|
||||||
if (!response.data.url) { |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
dispatch(fetchStatusCardSuccess(id, response.data)); |
|
||||||
}).catch(error => { |
|
||||||
dispatch(fetchStatusCardFail(id, error)); |
|
||||||
}); |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export function fetchStatusCardRequest(id) { |
|
||||||
return { |
|
||||||
type: STATUS_CARD_FETCH_REQUEST, |
|
||||||
id, |
|
||||||
skipLoading: true, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export function fetchStatusCardSuccess(id, card) { |
|
||||||
return { |
|
||||||
type: STATUS_CARD_FETCH_SUCCESS, |
|
||||||
id, |
|
||||||
card, |
|
||||||
skipLoading: true, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export function fetchStatusCardFail(id, error) { |
|
||||||
return { |
|
||||||
type: STATUS_CARD_FETCH_FAIL, |
|
||||||
id, |
|
||||||
error, |
|
||||||
skipLoading: true, |
|
||||||
skipAlert: true, |
|
||||||
}; |
|
||||||
}; |
|
@ -1,8 +0,0 @@ |
|||||||
import { connect } from 'react-redux'; |
|
||||||
import Card from '../components/card'; |
|
||||||
|
|
||||||
const mapStateToProps = (state, { statusId }) => ({ |
|
||||||
card: state.getIn(['statuses', statusId, 'card'], null), |
|
||||||
}); |
|
||||||
|
|
||||||
export default connect(mapStateToProps)(Card); |
|
@ -1,14 +0,0 @@ |
|||||||
import { STATUS_CARD_FETCH_SUCCESS } from 'flavours/glitch/actions/cards'; |
|
||||||
|
|
||||||
import { Map as ImmutableMap, fromJS } from 'immutable'; |
|
||||||
|
|
||||||
const initialState = ImmutableMap(); |
|
||||||
|
|
||||||
export default function cards(state = initialState, action) { |
|
||||||
switch(action.type) { |
|
||||||
case STATUS_CARD_FETCH_SUCCESS: |
|
||||||
return state.set(action.id, fromJS(action.card)); |
|
||||||
default: |
|
||||||
return state; |
|
||||||
} |
|
||||||
}; |
|
Loading…
Reference in new issue