diff --git a/src/App.tsx b/src/App.tsx index f6f0cd0..9996178 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,14 +3,34 @@ import Menu from './components/Menu' import TopHeader from './components/TopHeader' import MainNav from './components/MainNav' import Introduction from './components/Introduction' -import UniversityList from './styledComponents/UniversityList'// no necesitan estado global de redux +import UniversityList from './styledComponents/UniversityList'// hasta este no necesitan estado global de redux import FilterForm from './containers/FilterForm' //utiliza store de redux import { Action, createStore } from 'redux'; import IGlobalState, { initialState } from './states/globalState' import { Provider } from 'react-redux' +import { IAreaChangeAction, IResultsChangeAction, ITipoChangeAction, IUniChangeAction } from './actions/FilterFormActions'; +import { FilterFormActions } from './actions/FilterFormActions' //recibe un estado y una acción. Devuelve el resultado de aplicar al estado la acción -const reducer = (state: IGlobalState = initialState, action: Action) => { +const reducer = (state: IGlobalState = initialState, action: Action) => { + switch (action.type) { + case FilterFormActions.CHANGE_UNI: // aquí iria 'uni' pq está cambiando esa propiedad # TODO: usar enum # TODO: debe haber un case por cada una de las 4 acciones + const uniAction = action as IUniChangeAction; + return {...state, uni: uniAction.payload} + + case FilterFormActions.CHANGE_AREA: + const areaAction = action as IAreaChangeAction; + return {...state, area: areaAction.payload} + + case FilterFormActions.CHANGE_TIPO: + const tipoAction = action as ITipoChangeAction; + console.log(tipoAction.payload) + return {...state, tipo: tipoAction.payload} + + case FilterFormActions.CHANGE_RESULTS: + const resultsAction = action as IResultsChangeAction; + return {...state, results: resultsAction.payload} + } return state; } @@ -28,7 +48,7 @@ function App() { - {/*REMOVED 1 FROM HERE*/} +