import { createSlice, PayloadAction } from '@reduxjs/toolkit' import { GetExchangeRateProps, GetExchangeRateResponse, GlobalState } from './types' export const initialState: GlobalState = { loading: { loadingGetExchangeRate: false, }, exchangeRate: { name: '', symbol: '', price: '', priceBNB: '' }, } export const globalSlice = createSlice({ name: 'global', initialState, reducers: { save(state, action: PayloadAction) { const { payload } = action return { ...state, ...payload, } }, // ============= Fetch Exchange rate ============= getExchangeRate(state, _action: PayloadAction) { state.loading.loadingGetExchangeRate = true }, getExchangeRateSuccess(state, action: PayloadAction) { const { payload } = action state.exchangeRate = payload.exchangeRate state.loading.loadingGetExchangeRate = false }, getExchangeRateFailed(state) { state.loading.loadingGetExchangeRate = false }, }, }) const { reducer } = globalSlice export const { actions: globalActions } = globalSlice export default reducer