import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import { defaultBaseLanguage } from '@/constants/common';
import { sliceNames } from '@/src/constants/redux/redux';

export interface LanguageStateProps {
    language: string;
    languageId: any;
    languageTranslations: any;
    hostName: string,
}

const initialState: LanguageStateProps = {
    language: defaultBaseLanguage,
    languageId: null,
    languageTranslations: null,
    hostName: ''
};

const languageSlice = createSlice({
    name: sliceNames.language,
    initialState,
    reducers: {
        setLanguage(state, action: PayloadAction<string>) {
            state.language = action.payload;
        },
        setLanguageId(state, action: PayloadAction<string | null>) {
            state.languageId = action.payload;
        },
        setLanguageTranslations(state, action: PayloadAction<any>) {
            state.languageTranslations = action.payload;
        },
        setHostName(state, action: PayloadAction<any>) {
            state.hostName = action.payload;
        },
    },
});

export const { setLanguage, setLanguageId, setLanguageTranslations, setHostName } = languageSlice.actions;
export default languageSlice.reducer;