diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 0000000..d6c9537
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,18 @@
+module.exports = {
+ root: true,
+ env: { browser: true, es2020: true },
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:react-hooks/recommended',
+ ],
+ ignorePatterns: ['dist', '.eslintrc.cjs'],
+ parser: '@typescript-eslint/parser',
+ plugins: ['react-refresh'],
+ rules: {
+ 'react-refresh/only-export-components': [
+ 'warn',
+ { allowConstantExport: true },
+ ],
+ },
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1e81c07
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,25 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+.env
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/.swcrc b/.swcrc
new file mode 100644
index 0000000..30025bf
--- /dev/null
+++ b/.swcrc
@@ -0,0 +1,31 @@
+{
+ "jsc": {
+ "target": "es2017",
+ "parser": {
+ "syntax": "typescript",
+ "tsx": true,
+ "decorators": false,
+ "dynamicImport": false
+ },
+ "transform": {
+ "react": {
+ "pragma": "React.createElement",
+ "pragmaFrag": "React.Fragment",
+ "throwIfNamespace": true,
+ "development": false,
+ "useBuiltins": false,
+ "runtime": "automatic"
+ },
+ "hidden": {
+ "jest": true
+ }
+ }
+ },
+ "module": {
+ "type": "commonjs",
+ "strict": false,
+ "strictMode": true,
+ "lazy": false,
+ "noInterop": false
+ }
+}
diff --git a/README.Vite.md b/README.Vite.md
new file mode 100644
index 0000000..0d6babe
--- /dev/null
+++ b/README.Vite.md
@@ -0,0 +1,30 @@
+# React + TypeScript + Vite
+
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+
+Currently, two official plugins are available:
+
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
+
+- Configure the top-level `parserOptions` property like this:
+
+```js
+export default {
+ // other rules...
+ parserOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ project: ['./tsconfig.json', './tsconfig.node.json'],
+ tsconfigRootDir: __dirname,
+ },
+}
+```
+
+- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
+- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
+- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
diff --git a/README.md b/README.md
index e8d879c..424b36a 100644
--- a/README.md
+++ b/README.md
@@ -1,893 +1,15 @@
-# Movie Challenge con Framework
+# Movie Challenge :fa-video-camera:
-## Índice
+Bienvenidos a ¡Movie Challenge!, sitio ideal para encontrar cualquier película que desees. Este proyecto nació con la idea de ofrecer una plataforma donde todos podamos disfrutar de un amplio y diverso catálogo de películas. ¡Explora y encuentra tus favoritas!
-- [1. Preámbulo](#1-preambulo)
-- [2. Resumen del proyecto](#2-resumen-del-proyecto)
-- [3. Objetivos de aprendizaje](#3-objetivos-de-aprendizaje)
-- [4. Consideraciones generales](#4-consideraciones-generales)
-- [5. Consideraciones técnicas](#5-consideraciones-técnicas)
-- [6. Criterios mínimos de aceptación del proyecto](#6-criterios-mínimos-de-aceptación-del-proyecto)
-- [7. Despliegue](#7-despliegue)
-- [8. Planificación](#8-Planificación)
-- [9. Consideraciones para pedir tu Project Feedback](#9-consideraciones-para-pedir-tu-project-feedback)
-- [10. Pistas, tips y lecturas complementarias](#10-pistas-tips-y-lecturas-complementarias)
+### Definición del Producto
----
+Esta plataforma está diseñada para garantizar la máxima satisfacción del usuario. Con Movie Challenge :fa-caret-square-o-right: podrás explorar una amplia variedad de películas y encontrarlas fácilmente utilizando los filtros que prefieras, ya sea por género, año o popularidad.
-## 1. Preámbulo
+### Funcionalidades Principales
-La manera en que vemos películas ha cambiado radicalmente durante los últimos
-años debido, en parte, a la aparición de los servicios de
-[_streaming_](https://es.wikipedia.org/wiki/Streaming) que nos permiten hacerlo
-desde donde estemos y en cualquier momento. El mejor reflejo de este fenómeno es
-el éxito de Netflix, HBO y Disney+, etc.
+La aplicación ofrece varias funcionalidades clave para mejorar tu experiencia cinematográfica. Puedes ordenar películas según tus preferencias, navegar fácilmente a través de un paginador para descubrir más opciones, y clasificarlas por género y año de lanzamiento, asegurándote de encontrar exactamente lo que buscas.
-Creemos que hay una gran oportunidad de proponer productos/experiencias
-innovadoras de todo tipo utilizando datos de películas (directorxs, actorxs,
-sagas, secuelas, fechas, etc.). Podríamos pensar en juegos, comunidades,
-catálogos, recomendaciones basadas en gustos personales, etc. (sólo por
-mencionar algunas ideas obvias).
+### Características Técnicas
-
-
-## 2. Resumen del proyecto
-
-En este proyecto, crearás una página web destinada a visualizar, filtrar y
-ordenar el catálogo de películas de
-[_The Movie Database API V3_](https://developer.themoviedb.org/docs).
-Esta página puede servir como un catálogo de
-películas general, pero también, si te animas,
-puedes considerar la posibilidad de diseñarla
-para un público y usuarias específicas
-con preferencias como "películas western"
-o "películas de las 80's" por ejemplo.
-
-Para implementar este proyecto deberás elegir un framework entre
-[React](https://reactjs.org/) y [Angular](https://angular.io/).
-Al elegir un _framework_ o _librería_ para nuestra interfaz, nos apoyamos en una
-serie de convenciones e implementaciones _probadas_ y _documentadas_ para
-resolver un problema común a toda interfaz web:
-[_mantener la interfaz sincronizada con el estado_](https://medium.com/dailyjs/the-deepest-reason-why-modern-javascript-frameworks-exist-933b86ebc445).
-Esto nos permite concentrarnos mejor (dedicar más tiempo) en las
-características _específicas_ de nuestra aplicación.
-
-Cuando elegimos una de estas tecnologías no solo importamos un pedacito de
-código para reusarlo (lo cuál es un gran valor per se), si no que adoptamos una
-**arquitectura**, una serie de **principios de diseño**, un **paradigma**, unas
-**abstracciones**, un **vocabulario**, una **comunidad**, etc...
-
-Como desarrolladora Front-end, estos kits de desarrollo pueden resultarte
-de gran ayuda para implementar rápidamente características de los proyectos en
-los que trabajes.
-
-## 3. Objetivos de aprendizaje
-
-
-Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.
-
-### HTML
-
-- [ ] **Uso de HTML semántico**
-
- Links
-
- * [Cuerpo de Mensajes HTTP - MDN](https://developer.mozilla.org/es/docs/Web/HTTP/Messages#cuerpo)
-
-
-- [ ] **Verbos HTTP**
-
- Links
-
- * [Métodos de petición HTTP - MDN](https://developer.mozilla.org/es/docs/Web/HTTP/Methods)
-
-
-- [ ] **Códigos de status de HTTP**
-
- Links
-
- * [Códigos de estado de respuesta HTTP - MDN](https://developer.mozilla.org/es/docs/Web/HTTP/Status)
- * [The Complete Guide to Status Codes for Meaningful ReST APIs - dev.to](https://dev.to/khaosdoctor/the-complete-guide-to-status-codes-for-meaningful-rest-apis-1-5c5)
-
-
-- [ ] **Encodings y JSON**
-
- Links
-
- * [Introducción a JSON - Documentación oficial](https://www.json.org/json-es.html)
-
-
- * [Angular Components Overview - Documentación oficial (en inglés)](https://angular.io/guide/component-overview)
- * [Introduction to components and templates - Documentación oficial (en inglés)](https://angular.io/guide/architecture-components#introduction-to-components)
-
-
- * [Pasando datos a componentes secundarios con Props - Documentación oficial](https://es.vuejs.org/v2/guide/components.html#Pasando-datos-a-componentes-secundarios-con-Props)
-
-
- * [Mapeando una matriz a elementos con v-for - Documentación oficial](https://es.vuejs.org/v2/guide/list.html#Mapeando-una-matriz-a-elementos-con-v-for)
-
-
-- [ ] **Eventos (v-on)**
-
- Links
-
- * [Manejo de eventos - Documentación oficial](https://es.vuejs.org/v2/guide/events.html)
-
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/basic-types.html#static-type-checking)
-
-
-- [ ] **Rigurosidad**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/basic-types.html#strictness)
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/tsconfig#Type_Checking_6248)
-
-
-- [ ] **Tipos primitivos**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#the-primitives-string-number-and-boolean)
-
-
-- [ ] **Arreglos**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#arrays)
-
-
-- [ ] **Tipo `any`**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any)
-
-
-- [ ] **Funciones**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#functions)
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/functions.html)
-
-
-- [ ] **Tipos Union**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
-
-
-- [ ] **Alias de tipos**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-aliases)
-
-
-- [ ] **Interfaces**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#interfaces)
-
-
-- [ ] **Type assertions**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-assertions)
-
-
-- [ ] **Tipos literales**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types)
-
-
-- [ ] **null y undefined**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#null-and-undefined)
-
-
-- [ ] **Enums**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#enums)
-
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/classes.html#implements-clauses)
-
-
-- [ ] **extends Clausas**
-
- Links
-
- * [Documentación oficial de Typescript](https://www.typescriptlang.org/docs/handbook/2/classes.html#extends-clauses)
-
-
-### Diseño de producto
-
-- [ ] **Crear prototipos de alta fidelidad que incluyan interacciones**
-
-- [ ] **Seguir los principios básicos de diseño visual**
-
-## 4. Consideraciones generales
-
-Este proyecto se debe "resolver" de manera individual.
-
-Los tests unitarios deben cubrir un mínimo del 70% de _statements_, _functions_,
-_lines_ y _branches_.
-
-El rango de tiempo estimado para completar el proyecto es de 3 a 4 Sprints.
-
-Para implementar este proyecto te recomendamos usar la planificación
-sugerida que se encuentra en el repo
-[movie-challenge-planner](https://github.com/laboratoria/movie-challenge-planner)
-el cual provee un CLI para hacer fork del presente repositorio y crear un
-GitHub Project con el _milestone_ e _issues_ de cada historia de usuaria.
-
-## 5. Consideraciones técnicas
-
-La aplicación debe ser un _Single Page App_.
-
-La aplicación no debe ser _responsive_.
-
-Para poder usar la API de
-[_The Movie Database API V3_](https://developer.themoviedb.org/docs)
-deberás crear una cuenta, luego
-una llave (_key_) de acceso y usarla en cada petición
-que hagas al servidor. Recuerda que tienes un máximo
-de 1.000 peticiones diarias a la APIs por cada
-[IP](https://es.wikipedia.org/wiki/Direcci%C3%B3n_IP),
-creemos que es suficiente, pero te recomendamos hacer un uso
-responsable de este recurso gratuito.
-
-Uno de los mayores objetivos de este proyecto es aprender a usar una librería o
-framework popular para desarrollar una web app.
-Debes elegir entre [React](https://es.react.dev/) o [Angular](https://angular.io/).
-
-Si usas Angular o React, tienes la obligación de usar [TypeScript](https://www.typescriptlang.org/).
-_Typescript_ es un lenguaje de programación fuertemente tipado basado en
-javascript.
-
-Si usas Angular, **te recomendamos usar la versión 14**. Para esto es necesario que tengas instalada
-la version 12 de NodeJS. Puedes encontrar una guia de instalación [acá](https://github.com/Laboratoria/frontend-technologies-simple-example/tree/main/angular-example)
-o consultar con tus coaches.
-
-La aplicación debe hacer uso de `npm-scripts` y contar con scripts `start`,
-`test`, `build` y `deploy`, que se encarguen de arrancar, correr las pruebas,
-empaquetar y desplegar la aplicación respectivamente.
-
-## 6. Criterios mínimos de aceptación del proyecto
-
-### Prototipo de baja fidelidad
-
-El [_Product Owner_](https://www.youtube.com/watch?v=r2hU7MVIzxs&t=202s)
-nos entrega una primera iteración del prototipo de baja fidelidad
-de la aplicación en [esta imagen](./docs/movie-list.png) y esta [otra](./docs/movie-detail.png).
-
-### Definición del producto
-
-El [_Product Owner_](https://www.youtube.com/watch?v=r2hU7MVIzxs&t=202s)
-nos presenta este _backlog_ que es el resultado de su trabajo con el clientx
-hasta hoy.
-
----
-
-#### [Historia técnica 1] Configuración del proyecto
-
-Al iniciar un proyecto siempre hay una serie de tareas a las que debemos dedicar tiempo.
-
-##### Definición de terminado
-
-- [ ] Es posible ejecutar el proyecto y que nuestro navegador muestre la aplicación por defecto.
-
-- [ ] Es posible ejecutar el linter y los tests unitarios.
-
-- [ ] No es posible hacer un push directo a la rama principal
-
-- [ ] Existe un Figma con los diseños de alta fidelidad
-
-- [ ] La aplicación esta desplegada correctamente y se proporciona una URL pública.
-
----
-
-#### [Historia de usuario 2] Lista de películas
-
-Como usuario, quiero visualizar el catálogo de películas en filas y columnas.
-
-##### Definición de terminado
-
-- [ ] Al visitar la aplicación desplegada debe visualizar en una tabla (filas y columnas) el catálogo de películas de [_The Movie Database API V3_](https://developer.themoviedb.org/docs)
-
----
-
-#### [Historia de usuario 3] Lista de películas paginadas
-
-Como usuario, quiero navegar por el catálogo de las películas dividido en páginas.
-
-##### Definición de terminado
-
-- [ ] Al visitar nuestra aplicación desplegada debe visualizar el catálogo de películas y navegar entre páginas.
-
----
-
-#### [Historia de usuario 4] Filtrar y ordenar
-
-Como usuario, quiero poder filtrar las películas por género y ordenarlas por año en orden ascendente y descendente.
-
-##### Definición de terminado
-
-- [ ] El usuario debe poder filtrar el catálogo por género.
-
-- [ ] El usuario debe poder eliminar el filtro para ver películas sin filtrar
-
-- [ ] El usuario debe poder ordenar de forma ascendente el catálogo por año.
-
-- [ ] El usuario debe poder ordenar el catálogo de forma descendente por año.
-
-- [ ] El usuario debe poder eliminar la clasificación para ver las películas sin ordenar
-
----
-
-#### [Historia de usuario 5] Detalles de la película
-
-Como usuario, quiero poder ver información detallada sobre una película, para poder tomar decisiones informadas sobre si verla o no.
-
-##### Definición de terminado
-
-- [ ] Los usuarios pueden navegar a la página de detalles de la película desde la lista de películas o cualquier sección relevante.
-
-- [ ] Los detalles de la película se muestran de forma destacada, proporcionando información completa sobre la película seleccionada.
-
-- [ ] Los usuarios pueden volver fácilmente a la página anterior.
-
-## 7. Despliegue
-
-Puedes elegir el proveedor (o proveedores) que prefieras junto
-con el mecanismo de despligue y estrategia de alojamiento.
-Te recomendamos explorar las siguientes opciones:
-
-- [Vercel](https://vercel.com/) es una plataforma de _despliegue_ que
-nos permite desplegar nuestra aplicación web estática (HTML, CSS y
-JavaScript) y también nos permite desplegar aplicaciones web que se
-ejecutan en el servidor (Node.js).
-- [Netlify](https://www.netlify.com/) al igual que Vercel, es una
-plataforma de _despliegue_ que nos permite desplegar nuestra aplicación
-web estática (HTML, CSS y JavaScript) y también nos permite desplegar
-aplicaciones web que se ejecutan en el servidor (Node.js).
-
-## 8. Planificación
-
-Para implementar este proyecto te recomendamos usar la planificación
-sugerida que se encuentra en el repo
-[movie-challenge-planner](https://github.com/laboratoria/movie-challenge-planner),
-el cual provee un CLI que te ayudará a _forkear_ el presente repositorio y crear un
-GitHub Project con el _milestone_ e _issues_ de cada
-[historia de usuaria](#6-criterios-mínimos-de-aceptación-del-proyecto).
-
-El rango de tiempo estimado para completar el proyecto es de 3 a 4 Sprints.
-Te sugerimos organizarte de la siguiente manera:
-
-- Sprint 1:
-completar la
-[Historia técnica 1](####[historia-técnica-1]-configuración-del-proyecto) y
-[Historia de usuario 2](####-[historia-de-usuario-2]-lista-de-películas)
-- Sprint 2:
-completar la
-[Historia de usuario 3](####[historia-de-usuario-3]-lista-de-películas-paginadas) e
-iniciar con la
-[Historia de usuario 4](####[historia-de-usuario-4]-filtrar-y-ordenar)
-- Sprint 3:
-completar la
-[Historia de usuario 4](####[historia-de-usuario-4]-filtrar-y-ordenar)
-- Sprint 4:
-completar la
-[Historia de usuario 5](####[historia-de-usuario-5]-detalles-de-la-película)
-
-## 9. Consideraciones para pedir tu Project Feedback
-
-Antes de agendar tu Project Feedback con un coach, asegúrate que tu proyecto:
-
-- [ ] Protipo de alta fidelidad en Figma
-- [ ] Cumple con todos los [criterios mínimos de aceptación](#6-criterios-mínimos-de-aceptación-del-proyecto)
-- [ ] Está subido a GitHub
-- [ ] Esta [desplegado](#7-despliegue)
-- [ ] Tiene un README con la definición del producto.
-
-Recuerda que debes hacer una autoevaluación de objetivos de aprendizaje
-y life skills desde tu dashboard de estudiante.
-
-Si no has completado todo lo anterior, no consideramos que estás lista
-para tu sesión de Project Feedback.
-
-## 10. Pistas, tips y lecturas complementarias
-
-Súmate al canal de Slack
-[#project-movie-challenge-fw](https://claseslaboratoria.slack.com/archives/C059SJ77ASD)
-para conversar y pedir ayuda del proyecto.
-
-### Prototipo de alta fidelidad
-
-Tomando como base el prototipo de baja fidelidad entregado, crea uno de alta
-fidelidad en Figma. Define una paleta de colores y un diseño grafico. Procura
-que esto te tome entre 1 o 2 días.
-
-### Explora y consume The Movie Database API
-
-Explora la
-[documentación](https://developer.themoviedb.org/docs)
-de The Movie Database API. Inicia leyendo la sección
-[_Getting Started_](https://developer.themoviedb.org/docs/getting-started),
-luego
-[_AUTHENTICATION_ --> _Application_](https://developer.themoviedb.org/docs/authentication-application)
-y finalmente las referencias de endpoints
-[/discover/movie](https://developer.themoviedb.org/reference/discover-movie)
-y
-[/movie/{movie_id}](https://developer.themoviedb.org/reference/movie-details).
-
-Luego crear una cuenta y genera una llave
-(key) de acceso para consumir la API.
-
-Finalmente, realiza peticiones HTTP de prueba a la API usando herramientas como
-[Postman](https://www.postman.com/)
-o
-[REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client).
-Identifica los headers, body, verbos, códigos de respuesta y encodings las peticiones.
-
-### Explora la documentacion del framework elegido
-
-La comunidad de desarrolladoras de cada framework se ha forzado mucho por crear
-documentaciones amigables para quienes inician con cada tecnología. Por lo tanto,
-date la oportunidad de explorar la documentación y probar sus ejemplos y tutoriales.
-
-### Implementa tu primer componente
-
-Toma la primera vista de prototipo de alta e implementala.
-Te sugerimos seguir los siguientes
-pasos independiente del framework que uses:
-
-- Paso 1: Separa la UI en una jerarquía de componentes
-- Paso 2: Construye una versión estática de la UI sin añadir ninguna
-interactividad aún
-- Paso 3: Encuentra la representación mínima pero completa del estado de la UI.
-Piensa en el estado como el conjunto mínimo de datos cambiantes que
-la aplicación necesita recordar.
-- Paso 4: Después de identificar los datos mínimos de estado de tu aplicación,
-debes identificar qué componente es responsable de cambiar este estado,
-o posee el estado.
-- Paso 5: Identifica el flujo de comunicación entre cada componente:
-padre a hijo o hijo a padre. Implementa la estrategia identificada tal como
-te sugiere el framework.
-
-### Frameworks / libraries
-
-- [React](https://react.dev/)
-- [Angular](https://angular.io/)
-- [ViteJs](https://vitejs.dev/)
+Movie Challenge está diseñada para ofrecerte una experiencia fluida y eficiente. Al explorar el catálogo de películas, puedes compartir fácilmente la página actual usando la URL del navegador. Además, al seleccionar una película para ver más información, podrás disfrutar de un "loader" que asegura una carga rápida y sin interrupciones. Esta aplicación, que combina React y TypeScript, te garantiza un rendimiento óptimo como una SPA. :fa-heart:
diff --git a/coverage/clover.xml b/coverage/clover.xml
new file mode 100644
index 0000000..3660d19
--- /dev/null
+++ b/coverage/clover.xml
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json
new file mode 100644
index 0000000..d2f0a70
--- /dev/null
+++ b/coverage/coverage-final.json
@@ -0,0 +1,11 @@
+{"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/Loader.tsx": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/Loader.tsx","statementMap":{"0":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}}},"fnMap":{"0":{"name":"Loader","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"loc":{"start":{"line":1,"column":16},"end":{"line":7,"column":null}}}},"branchMap":{},"s":{"0":3},"f":{"0":3},"b":{}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/Navigation.tsx": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/Navigation.tsx","statementMap":{"0":{"start":{"line":17,"column":16},"end":{"line":17,"column":27}},"1":{"start":{"line":28,"column":23},"end":{"line":28,"column":null}},"2":{"start":{"line":43,"column":14},"end":{"line":43,"column":38}},"3":{"start":{"line":51,"column":27},"end":{"line":51,"column":null}},"4":{"start":{"line":68,"column":14},"end":{"line":68,"column":33}},"5":{"start":{"line":75,"column":27},"end":{"line":75,"column":null}},"6":{"start":{"line":123,"column":27},"end":{"line":123,"column":null}}},"fnMap":{"0":{"name":"Navigation","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":27}},"loc":{"start":{"line":27,"column":18},"end":{"line":132,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":30},"end":{"line":42,"column":31}},"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":38}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":21},"end":{"line":51,"column":27}},"loc":{"start":{"line":51,"column":27},"end":{"line":51,"column":null}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":67,"column":29},"end":{"line":67,"column":30}},"loc":{"start":{"line":68,"column":14},"end":{"line":68,"column":33}}},"4":{"name":"(anonymous_5)","decl":{"start":{"line":75,"column":21},"end":{"line":75,"column":27}},"loc":{"start":{"line":75,"column":27},"end":{"line":75,"column":null}}},"5":{"name":"(anonymous_6)","decl":{"start":{"line":123,"column":21},"end":{"line":123,"column":27}},"loc":{"start":{"line":123,"column":27},"end":{"line":123,"column":null}}}},"branchMap":{},"s":{"0":7,"1":7,"2":8,"3":1,"4":102,"5":1,"6":1},"f":{"0":7,"1":8,"2":1,"3":102,"4":1,"5":1},"b":{}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/Pagination.tsx": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/Pagination.tsx","statementMap":{"0":{"start":{"line":74,"column":0},"end":{"line":74,"column":15}},"1":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"2":{"start":{"line":9,"column":45},"end":{"line":72,"column":null}},"3":{"start":{"line":14,"column":25},"end":{"line":18,"column":null}},"4":{"start":{"line":15,"column":4},"end":{"line":17,"column":null}},"5":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"6":{"start":{"line":20,"column":21},"end":{"line":24,"column":null}},"7":{"start":{"line":21,"column":4},"end":{"line":23,"column":null}},"8":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},"9":{"start":{"line":26,"column":34},"end":{"line":53,"column":null}},"10":{"start":{"line":27,"column":24},"end":{"line":27,"column":null}},"11":{"start":{"line":28,"column":28},"end":{"line":28,"column":null}},"12":{"start":{"line":29,"column":20},"end":{"line":29,"column":null}},"13":{"start":{"line":30,"column":18},"end":{"line":30,"column":null}},"14":{"start":{"line":32,"column":4},"end":{"line":35,"column":null}},"15":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"16":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"17":{"start":{"line":37,"column":24},"end":{"line":37,"column":26}},"18":{"start":{"line":39,"column":4},"end":{"line":50,"column":null}},"19":{"start":{"line":39,"column":17},"end":{"line":39,"column":28}},"20":{"start":{"line":40,"column":6},"end":{"line":41,"column":null}},"21":{"start":{"line":43,"column":27},"end":{"line":43,"column":null}},"22":{"start":{"line":52,"column":4},"end":{"line":52,"column":null}},"23":{"start":{"line":74,"column":15},"end":{"line":74,"column":null}}},"fnMap":{"0":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":45},"end":{"line":9,"column":46}},"loc":{"start":{"line":13,"column":1},"end":{"line":72,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":25},"end":{"line":14,"column":null}},"loc":{"start":{"line":14,"column":25},"end":{"line":18,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":21},"end":{"line":20,"column":null}},"loc":{"start":{"line":20,"column":21},"end":{"line":24,"column":null}}},"3":{"name":"(anonymous_5)","decl":{"start":{"line":26,"column":34},"end":{"line":26,"column":null}},"loc":{"start":{"line":26,"column":34},"end":{"line":53,"column":null}}},"4":{"name":"(anonymous_6)","decl":{"start":{"line":43,"column":21},"end":{"line":43,"column":27}},"loc":{"start":{"line":43,"column":27},"end":{"line":43,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":null}}]},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":null}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":23,"column":null}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":35,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":35,"column":null}}]},"3":{"loc":{"start":{"line":44,"column":23},"end":{"line":44,"column":null}},"type":"cond-expr","locations":[{"start":{"line":44,"column":43},"end":{"line":44,"column":54}},{"start":{"line":44,"column":54},"end":{"line":44,"column":null}}]},"4":{"loc":{"start":{"line":58,"column":9},"end":{"line":58,"column":null}},"type":"binary-expr","locations":[{"start":{"line":58,"column":9},"end":{"line":58,"column":null}}]},"5":{"loc":{"start":{"line":64,"column":9},"end":{"line":64,"column":null}},"type":"binary-expr","locations":[{"start":{"line":64,"column":9},"end":{"line":64,"column":null}}]}},"s":{"0":4,"1":2,"2":2,"3":4,"4":0,"5":0,"6":4,"7":1,"8":1,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":3,"16":3,"17":4,"18":4,"19":4,"20":28,"21":6,"22":4,"23":2},"f":{"0":4,"1":0,"2":1,"3":4,"4":6},"b":{"0":[0],"1":[1],"2":[3],"3":[4,24],"4":[4],"5":[4]}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/movie/MovieCardComponent.tsx": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/movie/MovieCardComponent.tsx","statementMap":{"0":{"start":{"line":9,"column":16},"end":{"line":9,"column":35}},"1":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"2":{"start":{"line":3,"column":31},"end":{"line":3,"column":null}}},"fnMap":{"0":{"name":"MovieCardComponent","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":35}},"loc":{"start":{"line":9,"column":55},"end":{"line":25,"column":null}}}},"branchMap":{},"s":{"0":4,"1":3,"2":3},"f":{"0":4},"b":{}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/movie/MovieListComponent.tsx": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/components/movie/MovieListComponent.tsx","statementMap":{"0":{"start":{"line":8,"column":16},"end":{"line":8,"column":35}},"1":{"start":{"line":2,"column":35},"end":{"line":2,"column":null}},"2":{"start":{"line":9,"column":26},"end":{"line":9,"column":null}},"3":{"start":{"line":12,"column":23},"end":{"line":12,"column":null}},"4":{"start":{"line":18,"column":8},"end":{"line":18,"column":43}}},"fnMap":{"0":{"name":"MovieListComponent","decl":{"start":{"line":8,"column":16},"end":{"line":8,"column":35}},"loc":{"start":{"line":8,"column":65},"end":{"line":22,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":24},"end":{"line":17,"column":25}},"loc":{"start":{"line":18,"column":8},"end":{"line":18,"column":43}}}},"branchMap":{},"s":{"0":2,"1":2,"2":2,"3":2,"4":3},"f":{"0":2,"1":3},"b":{}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/services/APIService.ts": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/services/APIService.ts","statementMap":{"0":{"start":{"line":93,"column":16},"end":{"line":93,"column":30}},"1":{"start":{"line":34,"column":16},"end":{"line":34,"column":25}},"2":{"start":{"line":10,"column":13},"end":{"line":10,"column":27}},"3":{"start":{"line":11,"column":13},"end":{"line":11,"column":32}},"4":{"start":{"line":7,"column":23},"end":{"line":7,"column":null}},"5":{"start":{"line":8,"column":48},"end":{"line":8,"column":null}},"6":{"start":{"line":10,"column":30},"end":{"line":10,"column":null}},"7":{"start":{"line":11,"column":35},"end":{"line":11,"column":null}},"8":{"start":{"line":35,"column":40},"end":{"line":35,"column":54}},"9":{"start":{"line":37,"column":26},"end":{"line":37,"column":126}},"10":{"start":{"line":39,"column":2},"end":{"line":41,"column":null}},"11":{"start":{"line":40,"column":4},"end":{"line":40,"column":null}},"12":{"start":{"line":43,"column":2},"end":{"line":45,"column":null}},"13":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"14":{"start":{"line":47,"column":2},"end":{"line":49,"column":null}},"15":{"start":{"line":48,"column":4},"end":{"line":48,"column":null}},"16":{"start":{"line":51,"column":2},"end":{"line":53,"column":null}},"17":{"start":{"line":52,"column":4},"end":{"line":52,"column":null}},"18":{"start":{"line":55,"column":18},"end":{"line":61,"column":null}},"19":{"start":{"line":63,"column":2},"end":{"line":90,"column":null}},"20":{"start":{"line":64,"column":24},"end":{"line":64,"column":null}},"21":{"start":{"line":66,"column":6},"end":{"line":89,"column":null}},"22":{"start":{"line":67,"column":34},"end":{"line":67,"column":50}},"23":{"start":{"line":68,"column":41},"end":{"line":69,"column":null}},"24":{"start":{"line":69,"column":36},"end":{"line":69,"column":null}},"25":{"start":{"line":71,"column":39},"end":{"line":74,"column":null}},"26":{"start":{"line":75,"column":8},"end":{"line":78,"column":null}},"27":{"start":{"line":80,"column":8},"end":{"line":88,"column":null}},"28":{"start":{"line":94,"column":30},"end":{"line":94,"column":77}},"29":{"start":{"line":95,"column":18},"end":{"line":101,"column":null}},"30":{"start":{"line":103,"column":2},"end":{"line":108,"column":null}},"31":{"start":{"line":104,"column":24},"end":{"line":104,"column":null}},"32":{"start":{"line":106,"column":37},"end":{"line":106,"column":null}},"33":{"start":{"line":107,"column":6},"end":{"line":107,"column":null}}},"fnMap":{"0":{"name":"getMovies","decl":{"start":{"line":34,"column":16},"end":{"line":34,"column":25}},"loc":{"start":{"line":34,"column":49},"end":{"line":91,"column":null}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":64,"column":10},"end":{"line":64,"column":11}},"loc":{"start":{"line":64,"column":24},"end":{"line":64,"column":null}}},"2":{"name":"(anonymous_7)","decl":{"start":{"line":65,"column":10},"end":{"line":65,"column":11}},"loc":{"start":{"line":65,"column":11},"end":{"line":90,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":69,"column":10},"end":{"line":69,"column":11}},"loc":{"start":{"line":69,"column":36},"end":{"line":69,"column":null}}},"4":{"name":"getMovieDetail","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":30}},"loc":{"start":{"line":93,"column":46},"end":{"line":109,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":10},"end":{"line":104,"column":11}},"loc":{"start":{"line":104,"column":24},"end":{"line":104,"column":null}}},"6":{"name":"(anonymous_11)","decl":{"start":{"line":105,"column":10},"end":{"line":105,"column":11}},"loc":{"start":{"line":105,"column":11},"end":{"line":108,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":39,"column":2},"end":{"line":41,"column":null}},"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":41,"column":null}}]},"1":{"loc":{"start":{"line":43,"column":2},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":45,"column":null}}]},"2":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":null}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":null}}]},"3":{"loc":{"start":{"line":51,"column":2},"end":{"line":53,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":53,"column":null}}]},"4":{"loc":{"start":{"line":66,"column":6},"end":{"line":89,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":6},"end":{"line":89,"column":null}},{"start":{"line":79,"column":13},"end":{"line":89,"column":null}}]}},"s":{"0":1,"1":4,"2":5,"3":1,"4":5,"5":5,"6":5,"7":5,"8":4,"9":4,"10":4,"11":4,"12":4,"13":0,"14":4,"15":0,"16":4,"17":0,"18":4,"19":4,"20":4,"21":4,"22":3,"23":3,"24":6,"25":3,"26":3,"27":1,"28":1,"29":1,"30":1,"31":1,"32":0,"33":0},"f":{"0":4,"1":4,"2":4,"3":6,"4":1,"5":1,"6":0},"b":{"0":[4],"1":[0],"2":[0],"3":[0],"4":[3,1]}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/services/MovieService.ts": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/services/MovieService.ts","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":5,"column":null}},"1":{"start":{"line":2,"column":28},"end":{"line":2,"column":null}},"2":{"start":{"line":3,"column":23},"end":{"line":3,"column":null}},"3":{"start":{"line":6,"column":24},"end":{"line":6,"column":83}},"4":{"start":{"line":8,"column":18},"end":{"line":14,"column":null}},"5":{"start":{"line":16,"column":2},"end":{"line":26,"column":null}},"6":{"start":{"line":17,"column":24},"end":{"line":17,"column":null}},"7":{"start":{"line":19,"column":6},"end":{"line":25,"column":null}},"8":{"start":{"line":20,"column":8},"end":{"line":21,"column":null}},"9":{"start":{"line":21,"column":10},"end":{"line":21,"column":null}},"10":{"start":{"line":24,"column":8},"end":{"line":24,"column":null}}},"fnMap":{"0":{"name":"getMovieGenres","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":null}},"loc":{"start":{"line":5,"column":16},"end":{"line":27,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":10},"end":{"line":17,"column":11}},"loc":{"start":{"line":17,"column":24},"end":{"line":17,"column":null}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":10},"end":{"line":18,"column":11}},"loc":{"start":{"line":18,"column":11},"end":{"line":26,"column":null}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":35},"end":{"line":20,"column":36}},"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":6},"end":{"line":25,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":6},"end":{"line":25,"column":null}},{"start":{"line":23,"column":13},"end":{"line":25,"column":null}}]}},"s":{"0":3,"1":2,"2":2,"3":3,"4":3,"5":3,"6":2,"7":2,"8":1,"9":2,"10":1},"f":{"0":3,"1":2,"2":2,"3":2},"b":{"0":[1,1]}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/utils/transformers.ts": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/utils/transformers.ts","statementMap":{"0":{"start":{"line":59,"column":16},"end":{"line":59,"column":27}},"1":{"start":{"line":38,"column":16},"end":{"line":38,"column":33}},"2":{"start":{"line":55,"column":16},"end":{"line":55,"column":37}},"3":{"start":{"line":12,"column":16},"end":{"line":12,"column":27}},"4":{"start":{"line":22,"column":16},"end":{"line":22,"column":34}},"5":{"start":{"line":13,"column":2},"end":{"line":19,"column":null}},"6":{"start":{"line":23,"column":2},"end":{"line":32,"column":null}},"7":{"start":{"line":29,"column":40},"end":{"line":29,"column":null}},"8":{"start":{"line":43,"column":22},"end":{"line":43,"column":null}},"9":{"start":{"line":45,"column":2},"end":{"line":49,"column":null}},"10":{"start":{"line":46,"column":4},"end":{"line":48,"column":null}},"11":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"12":{"start":{"line":51,"column":2},"end":{"line":51,"column":null}},"13":{"start":{"line":56,"column":2},"end":{"line":56,"column":null}},"14":{"start":{"line":56,"column":36},"end":{"line":56,"column":null}},"15":{"start":{"line":60,"column":2},"end":{"line":64,"column":null}}},"fnMap":{"0":{"name":"formatMovie","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":27}},"loc":{"start":{"line":12,"column":48},"end":{"line":20,"column":null}}},"1":{"name":"formatMovieDetails","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":34}},"loc":{"start":{"line":22,"column":62},"end":{"line":33,"column":null}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":29},"end":{"line":29,"column":30}},"loc":{"start":{"line":29,"column":40},"end":{"line":29,"column":null}}},"3":{"name":"formatGenresToMap","decl":{"start":{"line":38,"column":16},"end":{"line":38,"column":33}},"loc":{"start":{"line":38,"column":54},"end":{"line":52,"column":null}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":45,"column":22},"end":{"line":45,"column":23}},"loc":{"start":{"line":45,"column":23},"end":{"line":49,"column":null}}},"5":{"name":"formatGenresToOptions","decl":{"start":{"line":55,"column":16},"end":{"line":55,"column":37}},"loc":{"start":{"line":55,"column":66},"end":{"line":57,"column":null}}},"6":{"name":"(anonymous_12)","decl":{"start":{"line":56,"column":25},"end":{"line":56,"column":26}},"loc":{"start":{"line":56,"column":36},"end":{"line":56,"column":null}}},"7":{"name":"formatGenre","decl":{"start":{"line":59,"column":16},"end":{"line":59,"column":27}},"loc":{"start":{"line":59,"column":48},"end":{"line":65,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":null}}]}},"s":{"0":4,"1":0,"2":0,"3":7,"4":0,"5":7,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":4},"f":{"0":7,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":4},"b":{"0":[0]}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/views/HomeView.tsx": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/views/HomeView.tsx","statementMap":{"0":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"1":{"start":{"line":1,"column":49},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":26},"end":{"line":2,"column":null}},"3":{"start":{"line":4,"column":35},"end":{"line":4,"column":null}},"4":{"start":{"line":5,"column":23},"end":{"line":5,"column":null}},"5":{"start":{"line":6,"column":23},"end":{"line":6,"column":null}},"6":{"start":{"line":7,"column":31},"end":{"line":7,"column":null}},"7":{"start":{"line":8,"column":27},"end":{"line":8,"column":null}},"8":{"start":{"line":9,"column":32},"end":{"line":9,"column":null}},"9":{"start":{"line":12,"column":42},"end":{"line":12,"column":null}},"10":{"start":{"line":14,"column":30},"end":{"line":14,"column":null}},"11":{"start":{"line":15,"column":30},"end":{"line":15,"column":null}},"12":{"start":{"line":16,"column":44},"end":{"line":17,"column":null}},"13":{"start":{"line":19,"column":42},"end":{"line":20,"column":null}},"14":{"start":{"line":22,"column":30},"end":{"line":23,"column":null}},"15":{"start":{"line":26,"column":32},"end":{"line":26,"column":null}},"16":{"start":{"line":27,"column":40},"end":{"line":28,"column":null}},"17":{"start":{"line":30,"column":38},"end":{"line":30,"column":null}},"18":{"start":{"line":32,"column":16},"end":{"line":32,"column":null}},"19":{"start":{"line":32,"column":53},"end":{"line":32,"column":null}},"20":{"start":{"line":34,"column":2},"end":{"line":45,"column":null}},"21":{"start":{"line":35,"column":22},"end":{"line":41,"column":null}},"22":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"23":{"start":{"line":37,"column":6},"end":{"line":37,"column":null}},"24":{"start":{"line":38,"column":6},"end":{"line":40,"column":null}},"25":{"start":{"line":39,"column":8},"end":{"line":39,"column":null}},"26":{"start":{"line":43,"column":4},"end":{"line":43,"column":null}},"27":{"start":{"line":44,"column":4},"end":{"line":44,"column":null}},"28":{"start":{"line":49,"column":2},"end":{"line":59,"column":null}},"29":{"start":{"line":50,"column":22},"end":{"line":55,"column":null}},"30":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"31":{"start":{"line":52,"column":6},"end":{"line":54,"column":null}},"32":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"33":{"start":{"line":57,"column":4},"end":{"line":57,"column":null}},"34":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"35":{"start":{"line":61,"column":22},"end":{"line":77,"column":null}},"36":{"start":{"line":62,"column":4},"end":{"line":76,"column":null}},"37":{"start":{"line":63,"column":23},"end":{"line":70,"column":null}},"38":{"start":{"line":71,"column":6},"end":{"line":71,"column":null}},"39":{"start":{"line":73,"column":6},"end":{"line":73,"column":null}},"40":{"start":{"line":75,"column":6},"end":{"line":75,"column":null}},"41":{"start":{"line":79,"column":22},"end":{"line":86,"column":null}},"42":{"start":{"line":80,"column":4},"end":{"line":85,"column":null}},"43":{"start":{"line":81,"column":24},"end":{"line":81,"column":null}},"44":{"start":{"line":82,"column":6},"end":{"line":82,"column":null}},"45":{"start":{"line":84,"column":6},"end":{"line":84,"column":null}},"46":{"start":{"line":88,"column":27},"end":{"line":98,"column":null}},"47":{"start":{"line":89,"column":4},"end":{"line":89,"column":null}},"48":{"start":{"line":91,"column":4},"end":{"line":95,"column":null}},"49":{"start":{"line":92,"column":6},"end":{"line":92,"column":null}},"50":{"start":{"line":94,"column":6},"end":{"line":94,"column":null}},"51":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}},"52":{"start":{"line":100,"column":28},"end":{"line":106,"column":null}},"53":{"start":{"line":101,"column":23},"end":{"line":101,"column":41}},"54":{"start":{"line":102,"column":4},"end":{"line":102,"column":null}},"55":{"start":{"line":104,"column":4},"end":{"line":104,"column":null}},"56":{"start":{"line":105,"column":4},"end":{"line":105,"column":null}},"57":{"start":{"line":108,"column":27},"end":{"line":114,"column":null}},"58":{"start":{"line":109,"column":22},"end":{"line":109,"column":40}},"59":{"start":{"line":110,"column":4},"end":{"line":110,"column":null}},"60":{"start":{"line":112,"column":4},"end":{"line":112,"column":null}},"61":{"start":{"line":113,"column":4},"end":{"line":113,"column":null}},"62":{"start":{"line":116,"column":29},"end":{"line":122,"column":null}},"63":{"start":{"line":117,"column":24},"end":{"line":117,"column":42}},"64":{"start":{"line":118,"column":4},"end":{"line":118,"column":null}},"65":{"start":{"line":120,"column":4},"end":{"line":120,"column":null}},"66":{"start":{"line":121,"column":4},"end":{"line":121,"column":null}},"67":{"start":{"line":125,"column":24},"end":{"line":143,"column":null}},"68":{"start":{"line":126,"column":4},"end":{"line":140,"column":null}},"69":{"start":{"line":128,"column":8},"end":{"line":128,"column":null}},"70":{"start":{"line":129,"column":8},"end":{"line":129,"column":null}},"71":{"start":{"line":130,"column":8},"end":{"line":130,"column":null}},"72":{"start":{"line":132,"column":8},"end":{"line":132,"column":null}},"73":{"start":{"line":133,"column":8},"end":{"line":133,"column":null}},"74":{"start":{"line":134,"column":8},"end":{"line":134,"column":null}},"75":{"start":{"line":136,"column":8},"end":{"line":136,"column":null}},"76":{"start":{"line":137,"column":8},"end":{"line":137,"column":null}},"77":{"start":{"line":138,"column":8},"end":{"line":138,"column":null}},"78":{"start":{"line":142,"column":4},"end":{"line":142,"column":null}}},"fnMap":{"0":{"name":"HomeView","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"loc":{"start":{"line":11,"column":16},"end":{"line":169,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":43},"end":{"line":32,"column":44}},"loc":{"start":{"line":32,"column":53},"end":{"line":32,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":12},"end":{"line":34,"column":null}},"loc":{"start":{"line":34,"column":12},"end":{"line":45,"column":5}}},"3":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":22},"end":{"line":35,"column":null}},"loc":{"start":{"line":35,"column":22},"end":{"line":41,"column":null}}},"4":{"name":"(anonymous_6)","decl":{"start":{"line":38,"column":17},"end":{"line":38,"column":null}},"loc":{"start":{"line":38,"column":17},"end":{"line":40,"column":9}}},"5":{"name":"(anonymous_7)","decl":{"start":{"line":49,"column":12},"end":{"line":49,"column":null}},"loc":{"start":{"line":49,"column":12},"end":{"line":59,"column":5}}},"6":{"name":"(anonymous_8)","decl":{"start":{"line":50,"column":22},"end":{"line":50,"column":null}},"loc":{"start":{"line":50,"column":22},"end":{"line":55,"column":null}}},"7":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":17},"end":{"line":52,"column":null}},"loc":{"start":{"line":52,"column":17},"end":{"line":54,"column":9}}},"8":{"name":"(anonymous_10)","decl":{"start":{"line":61,"column":22},"end":{"line":61,"column":null}},"loc":{"start":{"line":61,"column":22},"end":{"line":77,"column":null}}},"9":{"name":"(anonymous_11)","decl":{"start":{"line":79,"column":22},"end":{"line":79,"column":null}},"loc":{"start":{"line":79,"column":22},"end":{"line":86,"column":null}}},"10":{"name":"(anonymous_12)","decl":{"start":{"line":88,"column":27},"end":{"line":88,"column":28}},"loc":{"start":{"line":88,"column":28},"end":{"line":98,"column":null}}},"11":{"name":"(anonymous_13)","decl":{"start":{"line":100,"column":28},"end":{"line":100,"column":29}},"loc":{"start":{"line":100,"column":29},"end":{"line":106,"column":null}}},"12":{"name":"(anonymous_14)","decl":{"start":{"line":108,"column":27},"end":{"line":108,"column":28}},"loc":{"start":{"line":108,"column":28},"end":{"line":114,"column":null}}},"13":{"name":"(anonymous_15)","decl":{"start":{"line":116,"column":29},"end":{"line":116,"column":30}},"loc":{"start":{"line":116,"column":30},"end":{"line":122,"column":null}}},"14":{"name":"(anonymous_16)","decl":{"start":{"line":125,"column":24},"end":{"line":125,"column":25}},"loc":{"start":{"line":125,"column":25},"end":{"line":143,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"type":"binary-expr","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":35}},{"start":{"line":17,"column":35},"end":{"line":17,"column":null}}]},"1":{"loc":{"start":{"line":20,"column":4},"end":{"line":20,"column":null}},"type":"binary-expr","locations":[{"start":{"line":20,"column":4},"end":{"line":20,"column":32}},{"start":{"line":20,"column":32},"end":{"line":20,"column":null}}]},"2":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":null}},"type":"binary-expr","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":34}},{"start":{"line":23,"column":34},"end":{"line":23,"column":null}}]},"3":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":null}},"type":"binary-expr","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":49}},{"start":{"line":28,"column":49},"end":{"line":28,"column":null}}]},"4":{"loc":{"start":{"line":91,"column":4},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":95,"column":null}},{"start":{"line":93,"column":11},"end":{"line":95,"column":null}}]},"5":{"loc":{"start":{"line":126,"column":4},"end":{"line":140,"column":null}},"type":"switch","locations":[{"start":{"line":127,"column":6},"end":{"line":130,"column":null}},{"start":{"line":131,"column":6},"end":{"line":134,"column":null}},{"start":{"line":135,"column":6},"end":{"line":138,"column":null}},{"start":{"line":139,"column":6},"end":{"line":139,"column":null}}]},"6":{"loc":{"start":{"line":160,"column":19},"end":{"line":160,"column":32}},"type":"cond-expr","locations":[{"start":{"line":160,"column":19},"end":{"line":160,"column":32}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":3,"10":3,"11":3,"12":3,"13":3,"14":3,"15":3,"16":3,"17":3,"18":3,"19":90,"20":3,"21":1,"22":1,"23":1,"24":1,"25":0,"26":1,"27":1,"28":3,"29":1,"30":1,"31":1,"32":0,"33":1,"34":1,"35":3,"36":2,"37":2,"38":2,"39":2,"40":0,"41":3,"42":1,"43":1,"44":1,"45":0,"46":3,"47":0,"48":0,"49":0,"50":0,"51":0,"52":3,"53":0,"54":0,"55":0,"56":0,"57":3,"58":0,"59":0,"60":0,"61":0,"62":3,"63":0,"64":0,"65":0,"66":0,"67":3,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0},"f":{"0":3,"1":90,"2":1,"3":1,"4":0,"5":1,"6":1,"7":0,"8":2,"9":1,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[3,3],"1":[3,3],"2":[3,3],"3":[3,3],"4":[0,0],"5":[0,0,0,0],"6":[2]}}
+,"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/views/MovieDetailView.tsx": {"path":"/Users/karemara/Documents/DEV014-movie-challenge-fw/src/views/MovieDetailView.tsx","statementMap":{"0":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"1":{"start":{"line":1,"column":36},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":26},"end":{"line":2,"column":null}},"3":{"start":{"line":7,"column":7},"end":{"line":7,"column":null}},"4":{"start":{"line":9,"column":23},"end":{"line":9,"column":null}},"5":{"start":{"line":12,"column":28},"end":{"line":20,"column":null}},"6":{"start":{"line":21,"column":32},"end":{"line":21,"column":null}},"7":{"start":{"line":22,"column":17},"end":{"line":22,"column":null}},"8":{"start":{"line":24,"column":2},"end":{"line":26,"column":null}},"9":{"start":{"line":25,"column":4},"end":{"line":25,"column":null}},"10":{"start":{"line":28,"column":28},"end":{"line":39,"column":null}},"11":{"start":{"line":29,"column":4},"end":{"line":38,"column":null}},"12":{"start":{"line":30,"column":6},"end":{"line":30,"column":null}},"13":{"start":{"line":32,"column":23},"end":{"line":32,"column":null}},"14":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"15":{"start":{"line":35,"column":6},"end":{"line":35,"column":null}},"16":{"start":{"line":37,"column":6},"end":{"line":37,"column":null}},"17":{"start":{"line":41,"column":23},"end":{"line":53,"column":null}},"18":{"start":{"line":42,"column":4},"end":{"line":52,"column":null}},"19":{"start":{"line":43,"column":6},"end":{"line":45,"column":null}},"20":{"start":{"line":44,"column":8},"end":{"line":45,"column":null}}},"fnMap":{"0":{"name":"MovieDetailView","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"loc":{"start":{"line":11,"column":16},"end":{"line":98,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":12},"end":{"line":24,"column":null}},"loc":{"start":{"line":24,"column":12},"end":{"line":26,"column":5}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":28},"end":{"line":28,"column":null}},"loc":{"start":{"line":28,"column":28},"end":{"line":39,"column":null}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":41,"column":23},"end":{"line":41,"column":null}},"loc":{"start":{"line":41,"column":23},"end":{"line":53,"column":null}}},"4":{"name":"(anonymous_5)","decl":{"start":{"line":43,"column":30},"end":{"line":43,"column":31}},"loc":{"start":{"line":44,"column":8},"end":{"line":45,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":44},"end":{"line":32,"column":null}},"type":"binary-expr","locations":[{"start":{"line":32,"column":44},"end":{"line":32,"column":50}},{"start":{"line":32,"column":50},"end":{"line":32,"column":null}}]},"1":{"loc":{"start":{"line":42,"column":4},"end":{"line":52,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":52,"column":null}}]},"2":{"loc":{"start":{"line":58,"column":8},"end":{"line":69,"column":null}},"type":"cond-expr","locations":[{"start":{"line":58,"column":8},"end":{"line":69,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":2,"6":2,"7":2,"8":2,"9":1,"10":2,"11":1,"12":1,"13":1,"14":0,"15":0,"16":1,"17":2,"18":1,"19":1,"20":0},"f":{"0":2,"1":1,"2":1,"3":1,"4":0},"b":{"0":[1,0],"1":[1],"2":[1]}}
+}
diff --git a/coverage/lcov-report/Pagination.tsx.html b/coverage/lcov-report/Pagination.tsx.html
new file mode 100644
index 0000000..ed4482e
--- /dev/null
+++ b/coverage/lcov-report/Pagination.tsx.html
@@ -0,0 +1,289 @@
+
+
+
+
+