= [
- {
- path: "/",
- name: "home",
- component: Home,
- meta: { requiresAuth: true },
- },
- {
- path: "/login",
- name: "login",
- component: () => import("@/views/login.vue"),
- meta: { requiresAuth: false },
- },
- {
- path: "/register",
- name: "register",
- component: () => import("@/views/register.vue"),
- meta: { requiresAuth: false },
- },
-];
-
-const router = createRouter({
- history: process.env.IS_ELECTRON ? createWebHashHistory() : createWebHistory(process.env.BASE_URL),
- routes
-});
-
-// route auth check
-router.beforeEach((to, from, next) => {
- const { accessToken } = useAuth();
-
- // Not logged into a guarded route?
- if (to.meta.requiresAuth && !accessToken.value) {
- next({ name: 'login' })
- }
-
- // Logged in for an auth route
- else if ((to.name == 'login' || to.name == 'register') && accessToken.value){
- next({ name: 'home' });
- }
-
- // Carry On...
- else next();
-})
-
-export default router;
diff --git a/src/views/login.vue b/src/views/login.vue
index 53e335f..5f31fbd 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -24,7 +24,7 @@
-
+
Incorrect Credentials
@@ -48,57 +48,31 @@ export default defineComponent({
setup() {
+ const { post } = useIpc();
const { setToken } = useAuth();
const { resetMessages } = useMessages();
+
const router = useRouter();
- const email = ref("");
- const password = ref("");
- const invalid = ref(false);
+ const form = ref({
+ email: "",
+ password: "",
+ })
- const { invoke } = useIpc();
-
- const submit = async () => {
-
- const payload = {
- request: "login",
- email: email.value,
- password: password.value
- };
-
- try {
- const response = await invoke('auth-session', payload);
-
- // On login without token, we clear localStorage and messages.
- window.localStorage.clear();
- resetMessages();
-
- setToken(response);
- invalid.value = false;
- router.push({ name: "home" });
- }
-
- catch(e) {
- invalid.value = true;
- console.log('Error loging in.');
- }
-
- };
-
- const switchView = () => {
- router.push({ name: "register" });
- };
+ // Submit login credentials to the backend.
+ const submitForm = () => {
+ post("auth-message", form)
+ }
return {
- submit,
- email,
- password,
- switchView,
- invalid
+ form,
+ submitForm
}
},
+
});
+