diff --git a/client/src/actions/types.ts b/client/src/actions/types.ts
index a417f6afc797d8a69bd81d2b259283e98ed364e3..e500f2c8b2e7281c85559c9b86590a5f3269c080 100644
--- a/client/src/actions/types.ts
+++ b/client/src/actions/types.ts
@@ -29,4 +29,8 @@ export default {
   SET_CITIES_TOTAL: 'SET_CITIES_TOTAL',
   SET_CITIES_COUNT: 'SET_CITIES_COUNT',
   SET_TYPES: 'SET_TYPES',
+  SET_MEDIA_ID: 'SET_MEDIA_ID',
+  SET_MEDIA_FILENAME: 'SET_MEDIA_ID',
+  SET_MEDIA_TYPE_ID: 'SET_MEDIA_TYPE_ID',
+  SET_MEDIA_USER_ID: 'SET_MEDIA_USER_ID',
 }
diff --git a/client/src/interfaces/ApiRichModels.ts b/client/src/interfaces/ApiRichModels.ts
index 99ee4ec2039320d72ed95a196e5205b7be96dd0b..c0d2de7c62f79b84453c9d9320f827f02a02ed71 100644
--- a/client/src/interfaces/ApiRichModels.ts
+++ b/client/src/interfaces/ApiRichModels.ts
@@ -1,4 +1,4 @@
-import { Component, QuestionAlternative, QuestionAnswer, QuestionType } from './ApiModels'
+import { Component, Media, QuestionAlternative, QuestionAnswer, QuestionType } from './ApiModels'
 
 export interface RichCompetition {
   name: string
@@ -17,6 +17,7 @@ export interface RichSlide {
   competition_id: number
   components: Component[]
   questions: RichQuestion[]
+  medias: Media[]
 }
 
 export interface RichTeam {
diff --git a/client/src/reducers/allReducers.ts b/client/src/reducers/allReducers.ts
index 2aee46972cb6f0d33f2b128aeb6d19a9d77f106f..2a25bad73b3b039db9d2bec12b206bf303fad506 100644
--- a/client/src/reducers/allReducers.ts
+++ b/client/src/reducers/allReducers.ts
@@ -4,6 +4,7 @@ import { combineReducers } from 'redux'
 import citiesReducer from './citiesReducer'
 import competitionsReducer from './competitionsReducer'
 import editorReducer from './editorReducer'
+import mediaReducer from './mediaReducer'
 import presentationReducer from './presentationReducer'
 import rolesReducer from './rolesReducer'
 import searchUserReducer from './searchUserReducer'
@@ -22,5 +23,6 @@ const allReducers = combineReducers({
   roles: rolesReducer,
   searchUsers: searchUserReducer,
   types: typesReducer,
+  media: mediaReducer,
 })
 export default allReducers
diff --git a/client/src/reducers/mediaReducer.ts b/client/src/reducers/mediaReducer.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ad5f3b46547f2e9a20135537ff814b196ca22331
--- /dev/null
+++ b/client/src/reducers/mediaReducer.ts
@@ -0,0 +1,39 @@
+import { AnyAction } from 'redux'
+import Types from '../actions/types'
+
+interface MediaState {
+  id: number
+  filename: string
+  mediatype_id: number
+  user_id: number
+}
+const initialState: MediaState = {
+  id: 0,
+  filename: '',
+  mediatype_id: 1,
+  user_id: 0,
+}
+
+export default function (state = initialState, action: AnyAction) {
+  switch (action.type) {
+    case Types.SET_MEDIA_ID:
+      return { ...state, id: action.payload as number }
+    case Types.SET_MEDIA_FILENAME:
+      return {
+        ...state,
+        filename: action.payload as string,
+      }
+    case Types.SET_MEDIA_TYPE_ID:
+      return {
+        ...state,
+        mediatype_id: action.payload as number,
+      }
+    case Types.SET_MEDIA_USER_ID:
+      return {
+        ...state,
+        user_id: action.payload as number,
+      }
+    default:
+      return state
+  }
+}