i18n, vue-router and vuex upgrade

1. Configuration of i18n legacy as false.
2. Translation function t is called using the useI18n.
3. Used the i18n.global.t() function from i18n instead of this.$t()
4. Event bus error that occurred during logout.
5. Implemented vue-router 4.4.0 and vuex upgrade to 4.1.0

Change-Id: I9464d82c76dcc1445ce271983ea3ab9d7b03d265
Signed-off-by: Surya Venkatesan <suryav@ami.com>
diff --git a/src/components/AppHeader/AppHeader.vue b/src/components/AppHeader/AppHeader.vue
index 9d06680..6b19ac0 100644
--- a/src/components/AppHeader/AppHeader.vue
+++ b/src/components/AppHeader/AppHeader.vue
@@ -116,6 +116,7 @@
 import IconRenew from '@carbon/icons-vue/es/renew/20';
 import StatusIcon from '@/components/Global/StatusIcon';
 import LoadingBar from '@/components/Global/LoadingBar';
+import { useI18n } from 'vue-i18n';
 import { mapState } from 'vuex';
 
 export default {
@@ -137,6 +138,7 @@
   },
   data() {
     return {
+      $t: useI18n().t,
       isNavigationOpen: false,
       altLogo: process.env.VUE_APP_COMPANY_NAME || 'Built on OpenBMC',
     };
@@ -198,7 +200,7 @@
   },
   watch: {
     consoleWindow() {
-      if (this.consoleWindow === false) this.$eventBus.$consoleWindow.close();
+      if (this.consoleWindow === false) this.$eventBus.$consoleWindow?.close();
     },
     isAuthorized(value) {
       if (value === false) {