import language from "./language"; export const CHANGE_LANGUAGE = "changeLanguage"; export const ADD_LANGUAGE = "addLanguage"; interface changeLanguageActionCreator { type: typeof CHANGE_LANGUAGE; payload: "en" | "zh"; } interface addLanguageActionCreator { type: typeof ADD_LANGUAGE; payload: { name: string; code: string }; } export type languageActionTypes = | changeLanguageActionCreator | addLanguageActionCreator; export const changeLanguageActionCreator = ( languageCode: "en" | "zh" ): changeLanguageActionCreator => { return { type: CHANGE_LANGUAGE, payload: languageCode, }; }; export const addLanguageActionCreator = ( name: string, code: string ): addLanguageActionCreator => { return { type: ADD_LANGUAGE, payload: { name, code }, }; };