chat-with-gpt/src/store/voices.ts

23 lines
611 B
TypeScript
Raw Normal View History

2023-03-10 22:00:37 +00:00
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import type { RootState } from '.';
import { defaultElevenLabsVoiceID } from '../tts/defaults';
const initialState = {
voice: defaultElevenLabsVoiceID,
};
export const voicesSlice = createSlice({
name: 'voices',
initialState,
reducers: {
setVoice: (state, action: PayloadAction<string|null>) => {
state.voice = action.payload || '';
},
},
})
export const { setVoice } = voicesSlice.actions;
export const selectVoice = (state: RootState) => state.voices.voice;
export default voicesSlice.reducer;