-
-
-
+
diff --git a/src/pages/RoomsPage.vue b/src/pages/RoomsPage.vue
deleted file mode 100644
index d23fe7e..0000000
--- a/src/pages/RoomsPage.vue
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
-
- -
-
- {{ room.name }} {{ room.owner_name }}
-
-
-
-
-
-
-
-
-
diff --git a/src/router/index.ts b/src/router/index.ts
index 7de8c66..00b2333 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,33 +1,30 @@
import { createRouter, createWebHistory } from 'vue-router'
-import { initAuth, validateToken } from '../stores/auth.ts'
+import { initAuth } from '../stores/auth.ts'
import LoginPage from '../pages/LoginPage.vue'
-import RoomsPage from '../pages/RoomsPage.vue'
import ChatPage from '../pages/ChatPage.vue'
import FriendListPage from '../pages/FriendListPage.vue'
const router = createRouter({
history: createWebHistory(),
routes: [
+ { path: '/', redirect: '/rooms/none' },
{ path: '/login', component: LoginPage },
- { path: '/', component: RoomsPage },
{ path: '/rooms/:uuid', component: ChatPage, props: true },
{ path: '/friendlist', component: FriendListPage }
],
})
router.beforeEach(async (to) => {
+ if (to.path === '/login') return true
+
const auth = await initAuth()
- if (!auth.isAuthenticated && to.path !== '/login') {
+ if (!auth.isAuthenticated) {
return '/login'
}
- if (auth.isAuthenticated) {
- const valid = await validateToken()
- if (!valid) return '/login'
- }
+ return true
})
export default router
-
diff --git a/src/stores/auth.ts b/src/stores/auth.ts
index 51cd583..1f3065d 100644
--- a/src/stores/auth.ts
+++ b/src/stores/auth.ts
@@ -45,15 +45,14 @@ export async function validateToken(): Promise
{
if (!auth.token) return false
try {
- await apiFetch('/validate-token', {
- method: 'GET',
- })
+ await apiFetch('/validate-token')
+ return true
+ } catch (e: any) {
+ // Only logout if token is bad
+ if (e.message.includes('401')) {
+ await logout()
+ return false
+ }
return true
- } catch (e) {
- console.log(e);
-
- await logout()
- return false
}
}
-