This repository has been archived on 2025-09-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Netflix-Clone/src/store/slices/topRatedSlice.ts
2022-11-26 16:25:35 -05:00

34 lines
806 B
TypeScript

import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'
import axios from '../../axios-movies'
import { RootState } from '../index'
import { IMovieDetails } from './movieDetailsSlice'
const initialState: { data: IMovieDetails[] } = {
data: [],
}
export const getTopRatedAsync = createAsyncThunk<
any,
void,
{ state: RootState }
>('topRated/getTopRated', async () => {
const response = await axios.get(
`/movie/top_rated?api_key=${process.env.API_KEY}&language=en-US`
)
return response.data.results
})
const trendingSlice = createSlice({
name: 'topRated',
initialState,
reducers: {},
extraReducers: (builder) => {
builder.addCase(getTopRatedAsync.fulfilled, (state, { payload }) => {
state.data = payload
})
},
})
export default trendingSlice.reducer