Fix invalid token redirection

This commit is contained in:
Douglas Barone 2023-07-04 09:39:44 -04:00
parent ae0a1a817d
commit a3c209da65
3 changed files with 18 additions and 17 deletions

View File

@ -5,24 +5,30 @@
</div>
<v-app>
<v-main>
<keep-alive>
<RouterView />
</keep-alive>
<router-view v-slot="{ Component }">
<keep-alive>
<component :is="Component" />
</keep-alive>
</router-view>
</v-main>
</v-app>
</template>
<script setup lang="ts">
import { useRouter } from 'vue-router'
import { useAppStore } from './store/appStore'
import { onMounted, onBeforeMount } from 'vue'
import { onMounted } from 'vue'
const router = useRouter()
const appStore = useAppStore()
onMounted(async () => {
await appStore.fetchMe()
})
onBeforeMount(() => {
if (!appStore.me) {
console.log('Not logged in')
router.replace({ name: 'Login' })
}
appStore.selectedCampus = appStore.me?.campus || ''
})
</script>

View File

@ -41,7 +41,7 @@ const routes = [
component: () => import('@/layouts/single/Default.vue'),
children: [
{
path: ':serialNumber',
path: '',
name: 'Printer',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route

View File

@ -62,20 +62,15 @@
<script lang="ts" setup>
import { ref, reactive } from 'vue'
import { api } from '@/api'
import { getJwtToken, saveJwtToken } from '@/auth'
import { saveJwtToken } from '@/auth'
import { useRouter } from 'vue-router'
import { useAppStore } from '@/store/appStore'
const appStore = useAppStore()
const router = useRouter()
const token = getJwtToken()
const { fetchMe } = useAppStore()
if (token) {
fetchMe()
router.replace({ name: 'Home' })
}
if (appStore.me) router.push({ name: 'Home' })
const username = ref<string>('')
const password = ref<string>('')
@ -102,7 +97,7 @@ async function login() {
saveJwtToken(token)
await fetchMe()
await appStore.fetchMe()
router.push({ name: 'Home' })
} catch (error: any) {