diff --git a/nuxt/pages/results.vue b/nuxt/pages/results.vue
new file mode 100644
index 0000000..574cd80
--- /dev/null
+++ b/nuxt/pages/results.vue
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+ Go back
+
+
+
+ Your search: "{{ search }}" ({{ nbResults }} match)
+
+
+
+
+
+
+
+
+ {{ movie.Director }}
+ -
+ {{
+ movie.Year
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nuxt/store/index.js b/nuxt/store/index.js
new file mode 100644
index 0000000..eeccb9c
--- /dev/null
+++ b/nuxt/store/index.js
@@ -0,0 +1,70 @@
+import { resolve } from "core-js/fn/promise";
+
+export const strict = false;
+
+export const state = () => ({
+ search: "",
+ movies: [],
+ nbResults: 0,
+ loading: false,
+ error: ""
+});
+
+export const mutations = {
+ setSearch: (state, search) => (state.search = search),
+ setMovies: (state, movies) => (state.movies = movies),
+ updateMovie: (state, { movie, index }) => (state.movies[index] = movie),
+ setNbResults: (state, nbResults) => (state.nbResults = nbResults),
+ setLoading: (state, loading) => (state.loading = loading),
+ setError: (state, error) => (state.error = error)
+};
+
+export const actions = {
+ async getMovies({ commit, state, dispatch }) {
+ commit("setLoading", true);
+ const response = await this.$axios.$get("", {
+ params: {
+ apikey: "a4bf96a7",
+ s: state.search,
+ type: "movie"
+ }
+ });
+
+ if (response.Response === "True") {
+ commit("setNbResults", response.totalResults);
+ dispatch("setDirectors", response.Search).then(function(res) {
+ console.log(res);
+ commit("setMovies", res);
+ });
+ } else if (response.Response === "False") {
+ commit("setMovies", []);
+ commit("setNbResults", 0);
+ commit("setError", response.Error);
+ }
+
+ commit("setLoading", false);
+ },
+ async getDirector({}, id) {
+ const response = await this.$axios.$get("", {
+ params: {
+ apikey: "a4bf96a7",
+ i: id,
+ type: "movie"
+ }
+ });
+
+ if (response.Response === "True") return response.Director;
+ else if (response.Response === "False") throw new Error(response.Error);
+ },
+ setDirectors({ dispatch }, data) {
+ let tmp = [];
+ data.forEach(async (movie, index) => {
+ const director = await dispatch("getDirector", movie.imdbID);
+ movie.Director = director;
+ tmp.push(movie);
+ });
+ return tmp;
+ }
+};
+
+export const getters = {};