import { PayloadAction, createSlice } from "@reduxjs/toolkit"; import { Logger } from "../../utils/Log"; import { IAppConfigState } from "./types"; import { RootState } from ".."; import { configurationService } from "../../services/configuration"; const logger = new Logger('appConfigSlice'); const initialState: IAppConfigState = { appIconBase64: '', host: '' } const appConfigSlice = createSlice({ name: 'appConfig', initialState, reducers: { getAppConfiguration(state) { configurationService.getAppConfiguration(); }, getAppConfigurationResult(state, action: PayloadAction) { state.appIconBase64 = action.payload.appIconBase64; }, updateHost(state, action: PayloadAction) { configurationService.setHost(action.payload); }, getHost(state){ configurationService.getHost(); }, getHostResult(state, action: PayloadAction) { state.host = action.payload; } } }); export const appIcon = (state: RootState) => state.appConfigReducer.appIconBase64; export const host = (state: RootState) => state.appConfigReducer.host; export const { getAppConfiguration, getAppConfigurationResult, updateHost, getHost, getHostResult } = appConfigSlice.actions; export default appConfigSlice.reducer; export const appConfigActions = appConfigSlice.actions;