diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php
index cec9572..8f2e46a 100644
--- a/app/Http/Controllers/AuthController.php
+++ b/app/Http/Controllers/AuthController.php
@@ -62,7 +62,9 @@ public function login(Request $request)
 
         if (!Auth::attempt($credentials, $remember)) {
             return response([
-                'error' => 'The Provided credentials are not correct'
+                'errors' => [
+                    'auth' => ['The Provided credentials are not correct']
+                ]
             ], 422);
         }
         $user = Auth::user();
diff --git a/vue/package-lock.json b/vue/package-lock.json
index 951d3a9..b197a54 100644
--- a/vue/package-lock.json
+++ b/vue/package-lock.json
@@ -944,9 +944,9 @@
       }
     },
     "node_modules/follow-redirects": {
-      "version": "1.14.6",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz",
-      "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==",
+      "version": "1.14.7",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz",
+      "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==",
       "funding": [
         {
           "type": "individual",
@@ -983,7 +983,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
       "hasInstallScript": true,
       "optional": true,
       "os": [
@@ -2422,9 +2421,9 @@
       }
     },
     "follow-redirects": {
-      "version": "1.14.6",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz",
-      "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A=="
+      "version": "1.14.7",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz",
+      "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ=="
     },
     "fraction.js": {
       "version": "4.1.2",
@@ -2440,7 +2439,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
       "optional": true
     },
     "function-bind": {
diff --git a/vue/src/store/index.js b/vue/src/store/index.js
index aedcb7e..511dd64 100644
--- a/vue/src/store/index.js
+++ b/vue/src/store/index.js
@@ -32,18 +32,30 @@ const store = createStore({
 
     register({commit}, user) {
       return axiosClient.post('/register', user)
-        .then(({data}) => {
-          commit('setUser', data.user);
-          commit('setToken', data.token)
-          return data;
-        })
+        .then(res => {
+          return new Promise((resolve, reject) => {
+            if (res.isAxiosError)
+              reject(res.response.data.errors)
+
+            const data = res.data
+            commit('setUser', data.user);
+            commit('setToken', data.token)
+            resolve()
+          })
+      })
     },
     login({commit}, user) {
       return axiosClient.post('/login', user)
-        .then(({data}) => {
-          commit('setUser', data.user);
-          commit('setToken', data.token)
-          return data;
+        .then(res => {
+          return new Promise((resolve, reject) => {
+            if (res.isAxiosError)
+              reject(res.response.data.errors)
+
+            const data = res.data
+            commit('setUser', data.user);
+            commit('setToken', data.token)
+            resolve()
+          })
         })
     },
     logout({commit}) {
diff --git a/vue/src/views/Login.vue b/vue/src/views/Login.vue
index 11456ca..131d11e 100644
--- a/vue/src/views/Login.vue
+++ b/vue/src/views/Login.vue
@@ -20,10 +20,17 @@
     </p>
   </div>
   <form class="mt-8 space-y-6" @submit="login">
-    <Alert v-if="errorMsg">
-      {{ errorMsg }}
+    <Alert v-if="errors">
+      <div class="text-sm">
+        <div v-for="(field, i) of Object.keys(errors)" :key="i">
+          <div v-for="(error, ind) of errors[field] || []" :key="ind">
+            * {{ error }}
+          </div>
+        </div>
+      </div>
+
       <span
-        @click="errorMsg = ''"
+        @click="errors = ''"
         class="w-8 h-8 flex items-center justify-center rounded-full transition-colors cursor-pointer hover:bg-[rgba(0,0,0,0.2)]"
       >
         <svg
@@ -144,7 +151,7 @@ const user = {
   password: "",
 };
 let loading = ref(false);
-let errorMsg = ref("");
+let errors = ref("");
 
 function login(ev) {
   ev.preventDefault();
@@ -158,9 +165,9 @@ function login(ev) {
         name: "Dashboard",
       });
     })
-    .catch((err) => {
+    .catch((error) => {
       loading.value = false;
-      errorMsg.value = err.response.data.error;
+      errors.value = error;
     });
 }
 </script>
diff --git a/vue/src/views/Register.vue b/vue/src/views/Register.vue
index f2aa9a9..6c536c2 100644
--- a/vue/src/views/Register.vue
+++ b/vue/src/views/Register.vue
@@ -20,12 +20,33 @@
     </p>
   </div>
   <form class="mt-8 space-y-6" @submit="register">
-    <Alert v-if="Object.keys(errors).length" class="flex-col items-stretch text-sm">
-      <div v-for="(field, i) of Object.keys(errors)" :key="i">
-        <div v-for="(error, ind) of errors[field] || []" :key="ind">
-          * {{ error }}
+    <Alert v-if="Object.keys(errors).length">
+      <div class="flex-col items-stretch text-sm">
+        <div v-for="(field, i) of Object.keys(errors)" :key="i">
+          <div v-for="(error, ind) of errors[field] || []" :key="ind">
+            * {{ error }}
+          </div>
         </div>
       </div>
+      <span
+        @click="errors = ''"
+        class="w-8 h-8 flex items-center justify-center rounded-full transition-colors cursor-pointer hover:bg-[rgba(0,0,0,0.2)]"
+      >
+        <svg
+          xmlns="http://www.w3.org/2000/svg"
+          class="h-6 w-6"
+          fill="none"
+          viewBox="0 0 24 24"
+          stroke="currentColor"
+        >
+          <path
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            d="M6 18L18 6M6 6l12 12"
+          />
+        </svg>
+      </span>
     </Alert>
 
     <input type="hidden" name="remember" value="true" />
@@ -53,7 +74,7 @@
           required=""
           v-model="user.email"
           class="appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm"
-          :class="{ 'border-red-500': errors.email, 'z-10': errors.email }"
+          :class="{ 'border-red-500/50': errors.email, 'z-10': errors.email }"
           placeholder="Email address"
         />
       </div>
@@ -68,7 +89,7 @@
           v-model="user.password"
           class="appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm"
           placeholder="Password"
-          :class="{ 'border-red-500': errors.password, 'z-10': errors.password }"
+          :class="{ 'border-red-500/50': errors.password, 'z-10': errors.password }"
         />
       </div>
       <div>
@@ -158,9 +179,7 @@ function register(ev) {
     })
     .catch((error) => {
       loading.value = false;
-      if (error.response.status === 422) {
-        errors.value = error.response.data.errors;
-      }
+      errors.value = error;
     });
 }
 </script>