From 6386b471fb5f84cab0c4ea17df73c9d875daf345 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr>
Date: Fri, 10 Dec 2021 17:50:30 +0100
Subject: [PATCH] redirect if already logged & add transition

---
 src/App.vue                      | 51 ++++++++++++++++++++++++++++++++
 src/views/registration/Login.vue | 16 ++++++----
 2 files changed, 62 insertions(+), 5 deletions(-)

diff --git a/src/App.vue b/src/App.vue
index b356b5c0..6b4dee82 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -151,6 +151,7 @@
     </header>
     <main>
       <div id="content" class="ui stackable grid centered container">
+        <transition name="fadeOutUp">
         <div v-if="messages && messages.length > 0" class="row">
           <div class="fourteen wide column">
             <div
@@ -169,6 +170,7 @@
             </div>
           </div>
         </div>
+        </transition>
         <div :class="{ active: loader.isLoading }" class="ui inverted dimmer">
           <div class="ui text loader">
             {{ loader.message }}
@@ -373,5 +375,54 @@ footer {
   box-shadow: none !important;
   transition: none !important;
 }
+
+
+.bounce-enter-active {
+  animation: bounce-in .5s;
+}
+.bounce-leave-active {
+  animation: bounce-in .5s reverse;
+}
+@keyframes bounce-in {
+  0% {
+    transform: scale(0);
+  }
+  50% {
+    transform: scale(1.5);
+  }
+  100% {
+    transform: scale(1);
+  }
+}
+
+.fadeOutUp-enter-active {
+  animation: fadeInDown .5s;
+}
+.fadeOutUp-leave-active {
+  animation: fadeOutUp .5s;
+}
+@keyframes fadeOutUp {
+  0% {
+    opacity: 1;
+  }
+
+  100% {
+    opacity: 0;
+    transform: translate3d(0, -100%, 0);
+  }
+}
+
+@keyframes fadeInDown {
+  from {
+    opacity: 0;
+    transform: translate3d(0, -100%, 0);
+  }
+
+  to {
+    opacity: 1;
+    transform: translate3d(0, 0, 0);
+  }
+}
+
 </style>
  
\ No newline at end of file
diff --git a/src/views/registration/Login.vue b/src/views/registration/Login.vue
index 0f620783..1e3c5796 100644
--- a/src/views/registration/Login.vue
+++ b/src/views/registration/Login.vue
@@ -2,10 +2,7 @@
   <div>
     <div class="row">
       <div class="fourteen wide column">
-        <img
-          class="ui centered small image"
-          :src="logo"
-        />
+        <img class="ui centered small image" :src="logo" />
         <h2 class="ui center aligned icon header">
           <div class="content">
             {{ APPLICATION_NAME }}
@@ -60,7 +57,6 @@
 </template>
 
 <script>
-
 export default {
   name: "Login",
   data() {
@@ -101,5 +97,15 @@ export default {
         .catch();
     },
   },
+
+  mounted() {
+    if (this.$store.state.user) {
+      this.$store.commit(
+        "DISPLAY_MESSAGE",
+        "Vous êtes déjà connecté, vous allez être rediriger vers la page d'accueil."
+      );
+      setTimeout(() => this.$router.push("/"), 3100);
+    }
+  },
 };
 </script>
\ No newline at end of file
-- 
GitLab