@@ -312,6 +345,8 @@ const navigateTo = (routeName) => {
.nav-menu {
padding: 1rem 0;
flex: 1;
+ display: flex;
+ flex-direction: column;
overflow-y: auto;
transition: all 0.3s ease;
@@ -374,6 +409,49 @@ const navigateTo = (routeName) => {
}
}
+ .logout-container {
+ margin-top: auto;
+ padding: 0.5rem 1rem 1rem;
+ border-top: 1px solid var(--sidebar-border);
+
+ .logout-button {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 0.75rem 1rem;
+ background-color: transparent;
+ color: var(--text-color);
+ border: 1px solid var(--sidebar-border);
+ border-radius: 8px;
+ cursor: pointer;
+ transition: all 0.3s ease;
+
+ &:hover {
+ background-color: rgba(220, 53, 69, 0.1);
+ color: #dc3545;
+ border-color: rgba(220, 53, 69, 0.3);
+ }
+
+ .icon {
+ margin-right: 0.75rem;
+ font-size: 1.2rem;
+ width: 1.5rem;
+ text-align: center;
+ }
+
+ .text {
+ transition: opacity 0.3s ease, transform 0.3s ease;
+ opacity: 1;
+ transform: translateX(0);
+
+ &.hidden {
+ opacity: 0;
+ transform: translateX(10px);
+ }
+ }
+ }
+ }
+
.nav-footer {
padding: 1rem;
border-top: 1px solid var(--sidebar-border);
diff --git a/src/router/index.js b/src/router/index.js
index 7adfd2e..e2898f3 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -7,11 +7,17 @@ import Applications from '../views/Applications.vue';
import SavedJobs from '../views/SavedJobs.vue';
import Profile from '../views/Profile.vue';
import Settings from '../views/Settings.vue';
+import Login from '../views/Login.vue';
const routes = [
{
path: '/',
- redirect: '/dashboard'
+ redirect: '/login'
+ },
+ {
+ path: '/login',
+ name: 'login',
+ component: Login
},
{
path: '/dashboard',