import {RootState} from '../rootReducer'; import {loadMoments} from '../../services'; import {Action, ThunkAction} from '@reduxjs/toolkit'; import {userMomentsFetched, momentCategoryDeleted} from '../reducers'; import {getTokenOrLogout} from '../../utils'; export const loadUserMoments = ( userId: string, ): ThunkAction, RootState, unknown, Action> => async (dispatch) => { try { const token = await getTokenOrLogout(dispatch); const moments = await loadMoments(userId, token); dispatch({ type: userMomentsFetched.type, payload: moments, }); } catch (error) { console.log(error); } }; export const deleteUserMomentsForCategory = ( category: string, ): ThunkAction, RootState, unknown, Action> => async (dispatch) => { try { dispatch({ type: momentCategoryDeleted.type, payload: category, }); } catch (error) { console.log(error); } };