diff --git a/app/src/plugins/app/_config/router.ts b/app/src/plugins/app/_config/router.ts index 004bfa9..e4c1a2f 100644 --- a/app/src/plugins/app/_config/router.ts +++ b/app/src/plugins/app/_config/router.ts @@ -1,4 +1,5 @@ import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router' +import store from '@/store' const routes: Array = [ { @@ -16,17 +17,20 @@ const routes: Array = [ { path: '/auth/login', name: 'Login', - component: () => import('@/plugins/lib@auth/login/login.vue') + component: () => import('@/plugins/lib@auth/login/login.vue'), + meta: {requiresAuth: false} }, { path: '/auth/forgot-password', name: 'Forgot password', - component: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue') + component: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue'), + meta: {requiresAuth: false} }, { path: '/auth/reset-password', name: 'Reset password', - component: () => import('@/plugins/lib@auth/reset-password/reset-password.vue') + component: () => import('@/plugins/lib@auth/reset-password/reset-password.vue'), + meta: {requiresAuth: false} } ] }, @@ -45,50 +49,50 @@ const routes: Array = [ { path: '/app/dashboard/tasks', name: 'Dashboard - Tasks', - meta: { title: 'Tasks' }, + meta: { title: 'Tasks', requiresAuth: true }, component: () => import('@/plugins/tm@dashboard/tasks/tasks.vue') }, { path: '/app/dashboard/teams', name: 'Dashboard - Teams', - meta: { title: 'Teams Overview' }, + meta: { title: 'Teams Overview', requiresAuth: true }, component: () => import('@/plugins/tm@dashboard/teams/teams.vue') }, { path: '/app/dashboard/projects', name: 'Dashboard - Projects', - meta: { title: 'Projects overview' }, + meta: { title: 'Projects overview', requiresAuth: true }, component: () => import('@/plugins/tm@dashboard/projects/projects.vue') }, { path: '/app/overview/unscheduled', name: 'Overview - Unscheduled tasks', - meta: { title: 'Unscheduled tasks' }, + meta: { title: 'Unscheduled tasks', requiresAuth: true }, component: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue') }, { path: '/app/overview/ongoing', name: 'Overview - Ongoing tasks', - meta: { title: 'Ongoing tasks' }, + meta: { title: 'Ongoing tasks', requiresAuth: true }, component: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue') }, { path: '/app/overview/teams', name: 'Overview - Teams', - meta: { title: 'Teams' }, + meta: { title: 'Teams', requiresAuth: true }, component: () => import('@/plugins/tm@overview/teams/teams.vue') }, { path: '/app/dashboard/user', name: 'Dashboard - User', - meta: { title: 'Profile' }, + meta: { title: 'Profile', requiresAuth: true }, component: () => import('@/plugins/tm@profile/profile/my-profile.vue') }, { path: '/app/search', name: 'Search', - meta: { title: 'Search Results' }, + meta: { title: 'Search Results', requiresAuth: true }, component: () => import('@/plugins/lib@search/search/search.vue') } ] @@ -98,7 +102,8 @@ const routes: Array = [ { path: '/:catchAll(.*)', name: '404', - component: () => import('@/plugins/w@screen/404/404.vue') + component: () => import('@/plugins/w@screen/404/404.vue'), + meta: {requiresAuth: null} } ] @@ -107,4 +112,22 @@ const router = createRouter({ routes }) +router.beforeEach((to, from, next) => { + const isLoggedIn = store.getters['auth/isLoggedIn'] + + if (to.meta.requiresAuth === true) { + if (isLoggedIn) + return next() + else + return next({name: 'Login'}) + } else if (to.meta.requiresAuth === false) { + if (!isLoggedIn) + return next() + else + return next({name: 'Dashboard - Tasks'}) + } else { + return next({name: 'Login'}) + } +}) + export default router diff --git a/app/src/plugins/tm@dashboard/_components/_img/bin.svg b/app/src/plugins/app/_img/icons/bin.svg similarity index 100% rename from app/src/plugins/tm@dashboard/_components/_img/bin.svg rename to app/src/plugins/app/_img/icons/bin.svg diff --git a/app/src/plugins/tm@dashboard/_components/_img/checkmark.svg b/app/src/plugins/app/_img/icons/checkmark.svg similarity index 100% rename from app/src/plugins/tm@dashboard/_components/_img/checkmark.svg rename to app/src/plugins/app/_img/icons/checkmark.svg diff --git a/app/src/plugins/app/_img/icons/eye.svg b/app/src/plugins/app/_img/icons/eye.svg new file mode 100644 index 0000000..e823055 --- /dev/null +++ b/app/src/plugins/app/_img/icons/eye.svg @@ -0,0 +1 @@ +Eye \ No newline at end of file diff --git a/app/src/plugins/tm@dashboard/_components/_img/home-icon.svg b/app/src/plugins/app/_img/icons/home.svg similarity index 100% rename from app/src/plugins/tm@dashboard/_components/_img/home-icon.svg rename to app/src/plugins/app/_img/icons/home.svg diff --git a/app/src/plugins/tm@dashboard/_components/_img/icon-next.svg b/app/src/plugins/app/_img/icons/icon-next.svg similarity index 100% rename from app/src/plugins/tm@dashboard/_components/_img/icon-next.svg rename to app/src/plugins/app/_img/icons/icon-next.svg diff --git a/app/src/plugins/tm@dashboard/_components/_img/icon-prev.svg b/app/src/plugins/app/_img/icons/icon-prev.svg similarity index 100% rename from app/src/plugins/tm@dashboard/_components/_img/icon-prev.svg rename to app/src/plugins/app/_img/icons/icon-prev.svg diff --git a/app/src/plugins/tm@dashboard/_components/_img/pencil.svg b/app/src/plugins/app/_img/icons/pencil.svg similarity index 100% rename from app/src/plugins/tm@dashboard/_components/_img/pencil.svg rename to app/src/plugins/app/_img/icons/pencil.svg diff --git a/app/src/plugins/app/_layout/app/_img/search-icon.svg b/app/src/plugins/app/_img/icons/search.svg similarity index 100% rename from app/src/plugins/app/_layout/app/_img/search-icon.svg rename to app/src/plugins/app/_img/icons/search.svg diff --git a/app/src/plugins/app/_layout/_img/jandl-logo.svg b/app/src/plugins/app/_img/jandl-logo.svg similarity index 100% rename from app/src/plugins/app/_layout/_img/jandl-logo.svg rename to app/src/plugins/app/_img/jandl-logo.svg diff --git a/app/src/plugins/app/_layout/app/_components/a-header.vue b/app/src/plugins/app/_layout/app/_components/a-header.vue index c19aa29..7bc2742 100644 --- a/app/src/plugins/app/_layout/app/_components/a-header.vue +++ b/app/src/plugins/app/_layout/app/_components/a-header.vue @@ -6,7 +6,7 @@

{{ $route.meta.title }}

- search-icon + search-icon diff --git a/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue b/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue index 0e7febc..cb19a7b 100644 --- a/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue +++ b/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue @@ -3,7 +3,7 @@ jandl-logo diff --git a/app/src/plugins/app/_layout/auth/_components/a-header.vue b/app/src/plugins/app/_layout/auth/_components/a-header.vue index 74b3161..b99d759 100644 --- a/app/src/plugins/app/_layout/auth/_components/a-header.vue +++ b/app/src/plugins/app/_layout/auth/_components/a-header.vue @@ -1,7 +1,7 @@ diff --git a/app/src/plugins/app/_theme/global.sass b/app/src/plugins/app/_theme/global.sass index 2a61e5f..9df904b 100644 --- a/app/src/plugins/app/_theme/global.sass +++ b/app/src/plugins/app/_theme/global.sass @@ -5,17 +5,24 @@ margin-left: 12px border-radius: 50% cursor: pointer + max-height: 32px + max-width: 32px .pencil-icon padding: 10px background: rgba(0, 0, 0, 0.04) border-radius: 50% cursor: pointer + max-height: 32px + max-width: 32px .status-badge background: #F2E7FE color: #7F39FB width: fit-content +.hover + cursor: pointer !important + .task-badge background: rgba(0, 0, 0, 0.04) width: fit-content diff --git a/app/src/plugins/lib@search/search/_components/a-seach-result-task.vue b/app/src/plugins/lib@search/search/_components/a-seach-result-task.vue index 7c3654c..ebc49ba 100644 --- a/app/src/plugins/lib@search/search/_components/a-seach-result-task.vue +++ b/app/src/plugins/lib@search/search/_components/a-seach-result-task.vue @@ -14,9 +14,9 @@
- checkmark-icon - pencil-icon - trash-icon + checkmark-icon + pencil-icon + trash-icon
diff --git a/app/src/plugins/lib@search/search/_components/a-search-result-team.vue b/app/src/plugins/lib@search/search/_components/a-search-result-team.vue index 3974a98..3d415a3 100644 --- a/app/src/plugins/lib@search/search/_components/a-search-result-team.vue +++ b/app/src/plugins/lib@search/search/_components/a-search-result-team.vue @@ -7,8 +7,8 @@ {{ team.name }}
- pencil-icon - trash-icon + pencil-icon + trash-icon
diff --git a/app/src/plugins/tm@_store/store/index.ts b/app/src/plugins/tm@_store/store/index.ts index 64ea428..b8055e8 100644 --- a/app/src/plugins/tm@_store/store/index.ts +++ b/app/src/plugins/tm@_store/store/index.ts @@ -1,8 +1,6 @@ import axios from '@/plugins/w@custom/axios/models/axios' import store from '@/store' -import ax from 'axios' - export default { namespaced: true, @@ -25,10 +23,10 @@ export default { state.employees = employees // TODO: Remove - const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk') - store.commit('auth/auth_success', { - user: employee - }) + // const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk') + // store.commit('auth/auth_success', { + // user: employee + // }) }, set_teams(state: any, teams: any) { @@ -67,6 +65,7 @@ export default { update_subtask(state: any, subtask: any) { state.unscheduledSubtasks = state.unscheduledSubtasks.map(st => st.id == subtask.id ? subtask : st) state.ongoingSubtasks = state.ongoingSubtasks.map(st => st.id == subtask.id ? subtask : st) + state.mastertasks = state.mastertasks.map(mastertask => { mastertask.subtasks = mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st) return mastertask @@ -76,6 +75,7 @@ export default { delete_subtask(state: any, subtask: any) { state.unscheduledSubtasks = state.unscheduledSubtasks.filter(st => st.id != subtask.id) state.ongoingSubtasks = state.ongoingSubtasks.filter(st => st.id != subtask.id) + state.mastertasks = state.mastertasks.map(mastertask => { mastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id) return mastertask diff --git a/app/src/plugins/tm@dashboard/_components/z-timeline.vue b/app/src/plugins/tm@dashboard/_components/z-timeline.vue index c9fc2b3..9014a3a 100644 --- a/app/src/plugins/tm@dashboard/_components/z-timeline.vue +++ b/app/src/plugins/tm@dashboard/_components/z-timeline.vue @@ -26,11 +26,11 @@