From 5ba677af269a84ca2fa69bd0ba8899dc0f313bb6 Mon Sep 17 00:00:00 2001
From: mlbonhomme <bonhomme@teklia.com>
Date: Mon, 26 Sep 2022 14:38:58 +0000
Subject: [PATCH] Split between components and views

---
 src/components/Model/Selection.vue            |  2 +-
 src/components/Process/TemplateSelection.vue  |  2 +-
 src/main.js                                   |  2 +-
 src/router/index.js                           | 76 +++++++++----------
 src/{components => views}/App.vue             |  4 +-
 src/{components => views}/Auth/Login.vue      |  0
 src/{components => views}/Auth/Logout.vue     |  0
 .../Auth/PasswordReset.vue                    |  0
 .../Auth/PasswordResetConfirm.vue             |  0
 .../Main.vue => views/Auth/Profile.vue}       |  4 +-
 src/{components => views}/Auth/Register.vue   |  0
 src/{components => views}/Corpus/Main.vue     |  8 +-
 .../Corpus/WorkersActivity.vue                |  0
 .../Element/Main.vue => views/Element.vue}    |  4 +-
 src/{components => views}/Entity/Details.vue  |  0
 src/{components => views}/Entity/List.vue     |  2 +-
 .../Errors/NoBackend.vue                      |  0
 src/{components => views}/Errors/NotFound.vue |  0
 .../Errors/UnverifiedEmail.vue                |  0
 src/{components => views}/Group/Create.vue    |  0
 src/{components => views}/Group/Manage.vue    |  2 +-
 .../Elements.vue => views/ImageElements.vue}  |  0
 .../Imports/ImportFromBucket.vue              |  0
 .../Imports}/ImportFromFiles.vue              |  2 +-
 .../Imports/Transkribus.vue                   |  0
 .../Model/List.vue => views/ModelList.vue}    |  2 +-
 src/{components => views}/Navigation/Main.vue |  2 +-
 .../Navigation/Selection.vue                  |  2 +-
 src/{components => views}/Navigation/index.js |  0
 .../Main.vue => views/Process/Agents.vue}     |  0
 .../Process/Configure.vue                     | 10 +--
 src/{components => views}/Process/Filter.vue  |  0
 src/{components => views}/Process/List.vue    |  2 +-
 .../Main.vue => views/Process/Status.vue}     |  6 +-
 .../Process/TemplateDetails.vue               |  4 +-
 .../Process/Workers/List.vue                  |  4 +-
 .../Process/Workers/Manage.vue                |  2 +-
 .../Process/WorkersActivity.vue               |  0
 src/{components => views}/Repos/Create.vue    |  0
 src/{components => views}/Repos/List.vue      |  4 +-
 src/{components => views}/Repos/Rights.vue    |  2 +-
 .../Search/Main.vue => views/Search.vue}      |  4 +-
 .../TrainingProcessCreate.vue}                |  2 +-
 src/{components => views}/Welcome.vue         |  0
 44 files changed, 77 insertions(+), 77 deletions(-)
 rename src/{components => views}/App.vue (97%)
 rename src/{components => views}/Auth/Login.vue (100%)
 rename src/{components => views}/Auth/Logout.vue (100%)
 rename src/{components => views}/Auth/PasswordReset.vue (100%)
 rename src/{components => views}/Auth/PasswordResetConfirm.vue (100%)
 rename src/{components/Auth/Profile/Main.vue => views/Auth/Profile.vue} (89%)
 rename src/{components => views}/Auth/Register.vue (100%)
 rename src/{components => views}/Corpus/Main.vue (89%)
 rename src/{components => views}/Corpus/WorkersActivity.vue (100%)
 rename src/{components/Element/Main.vue => views/Element.vue} (98%)
 rename src/{components => views}/Entity/Details.vue (100%)
 rename src/{components => views}/Entity/List.vue (98%)
 rename src/{components => views}/Errors/NoBackend.vue (100%)
 rename src/{components => views}/Errors/NotFound.vue (100%)
 rename src/{components => views}/Errors/UnverifiedEmail.vue (100%)
 rename src/{components => views}/Group/Create.vue (100%)
 rename src/{components => views}/Group/Manage.vue (99%)
 rename src/{components/Image/Elements.vue => views/ImageElements.vue} (100%)
 rename src/{components => views}/Imports/ImportFromBucket.vue (100%)
 rename src/{components/Imports/Files => views/Imports}/ImportFromFiles.vue (99%)
 rename src/{components => views}/Imports/Transkribus.vue (100%)
 rename src/{components/Model/List.vue => views/ModelList.vue} (98%)
 rename src/{components => views}/Navigation/Main.vue (87%)
 rename src/{components => views}/Navigation/Selection.vue (94%)
 rename src/{components => views}/Navigation/index.js (100%)
 rename src/{components/Process/Agents/Main.vue => views/Process/Agents.vue} (100%)
 rename src/{components => views}/Process/Configure.vue (97%)
 rename src/{components => views}/Process/Filter.vue (100%)
 rename src/{components => views}/Process/List.vue (99%)
 rename src/{components/Process/Status/Main.vue => views/Process/Status.vue} (97%)
 rename src/{components => views}/Process/TemplateDetails.vue (96%)
 rename src/{components => views}/Process/Workers/List.vue (97%)
 rename src/{components => views}/Process/Workers/Manage.vue (95%)
 rename src/{components => views}/Process/WorkersActivity.vue (100%)
 rename src/{components => views}/Repos/Create.vue (100%)
 rename src/{components => views}/Repos/List.vue (96%)
 rename src/{components => views}/Repos/Rights.vue (97%)
 rename src/{components/Search/Main.vue => views/Search.vue} (92%)
 rename src/{components/Training/Create.vue => views/TrainingProcessCreate.vue} (99%)
 rename src/{components => views}/Welcome.vue (100%)

diff --git a/src/components/Model/Selection.vue b/src/components/Model/Selection.vue
index f51ecd1ad..b7d76e5e8 100644
--- a/src/components/Model/Selection.vue
+++ b/src/components/Model/Selection.vue
@@ -30,7 +30,7 @@
 <script>
 import { mapState, mapActions } from 'vuex'
 import Modal from '@/components/Modal.vue'
-import ModelList from './List'
+import ModelList from '@/views/ModelList'
 
 export default {
   components: {
diff --git a/src/components/Process/TemplateSelection.vue b/src/components/Process/TemplateSelection.vue
index 3711275b3..5533a5c8b 100644
--- a/src/components/Process/TemplateSelection.vue
+++ b/src/components/Process/TemplateSelection.vue
@@ -95,7 +95,7 @@ import { mapState, mapActions, mapMutations } from 'vuex'
 import Paginator from '@/components/Paginator.vue'
 import Modal from '@/components/Modal.vue'
 import { errorParser } from '@/helpers'
-import TemplateDetails from '@/components/Process/TemplateDetails.vue'
+import TemplateDetails from '@/views/Process/TemplateDetails.vue'
 
 export default {
   props: {
diff --git a/src/main.js b/src/main.js
index 7721c50c5..dd94655a4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -20,7 +20,7 @@ import { createApp } from 'vue'
 
 import router from './router'
 import store from './store'
-import App from '@/components/App.vue'
+import App from '@/views/App.vue'
 
 import axios from 'axios'
 
diff --git a/src/router/index.js b/src/router/index.js
index b9730c033..6eeab70d4 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -2,48 +2,48 @@ import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router
 import store from '@/store'
 import { ROUTER_MODE, UUID } from '@/config'
 
-import Navigation from '@/components/Navigation'
-import ElementPage from '@/components/Element/Main.vue'
-import Selection from '@/components/Navigation/Selection.vue'
-import Search from '@/components/Search/Main.vue'
-import EntityDetails from '@/components/Entity/Details.vue'
-import EntityList from '@/components/Entity/List.vue'
-import Register from '@/components/Auth/Register.vue'
-import Login from '@/components/Auth/Login.vue'
-import Logout from '@/components/Auth/Logout.vue'
-import PasswordReset from '@/components/Auth/PasswordReset.vue'
-import PasswordResetConfirm from '@/components/Auth/PasswordResetConfirm.vue'
-import NotFound from '@/components/Errors/NotFound.vue'
-import NoBackend from '@/components/Errors/NoBackend.vue'
-import UnverifiedEmail from '@/components/Errors/UnverifiedEmail.vue'
-import ImageElements from '@/components/Image/Elements.vue'
+import Navigation from '@/views/Navigation'
+import ElementPage from '@/views/Element.vue'
+import Selection from '@/views/Navigation/Selection.vue'
+import Search from '@/views/Search.vue'
+import EntityDetails from '@/views/Entity/Details.vue'
+import EntityList from '@/views/Entity/List.vue'
+import Register from '@/views/Auth/Register.vue'
+import Login from '@/views/Auth/Login.vue'
+import Logout from '@/views/Auth/Logout.vue'
+import PasswordReset from '@/views/Auth/PasswordReset.vue'
+import PasswordResetConfirm from '@/views/Auth/PasswordResetConfirm.vue'
+import NotFound from '@/views/Errors/NotFound.vue'
+import NoBackend from '@/views/Errors/NoBackend.vue'
+import UnverifiedEmail from '@/views/Errors/UnverifiedEmail.vue'
+import ImageElements from '@/views/ImageElements.vue'
 
 // Logged in users-only components are split into another JS chunk to improve performance
 /* eslint-disable no-inline-comments */
-const Welcome = () => import(/* webpackChunkName: "users" */ '@/components/Welcome')
+const Welcome = () => import(/* webpackChunkName: "users" */ '@/views/Welcome')
 const CorpusList = () => import(/* webpackChunkName: "users" */ '@/views/Corpus/List')
-const CorpusDetails = () => import(/* webpackChunkName: "users" */ '@/components/Corpus/Main')
-const ImportFromFiles = () => import(/* webpackChunkName: "users" */ '@/components/Imports/Files/ImportFromFiles')
-const ImportFromBucket = () => import(/* webpackChunkName: "users" */ '@/components/Imports/ImportFromBucket')
-const ImportTranskribus = () => import(/* webpackChunkName: "users" */ '@/components/Imports/Transkribus')
-const ReposList = () => import(/* webpackChunkName: "users" */ '@/components/Repos/List')
-const ReposCreate = () => import(/* webpackChunkName: "users" */ '@/components/Repos/Create')
-const ReposRights = () => import(/* webpackChunkName: "users" */ '@/components/Repos/Rights')
-const ProcessList = () => import(/* webpackChunkName: "users" */ '@/components/Process/List')
-const ModelsList = () => import(/* webpackChunkName: "users" */ '@/components/Model/List')
-const ProcessStatus = () => import(/* webpackChunkName: "users" */ '@/components/Process/Status/Main')
-const ProcessFilter = () => import(/* webpackChunkName: "users" */ '@/components/Process/Filter')
-const ProcessConfigure = () => import(/* webpackChunkName: "users" */ '@/components/Process/Configure')
-const TrainingProcessCreate = () => import(/* webpackChunkName: "users" */ '@/components/Training/Create')
-const Workers = () => import(/* webpackChunkName: "users" */ '@/components/Process/Workers/List')
-const TemplateDetails = () => import(/* webpackChunkName: "users" */ '@/components/Process/TemplateDetails')
-const WorkerManage = () => import(/* webpackChunkName: "users" */ '@/components/Process/Workers/Manage')
-const PonosAgents = () => import(/* webpackChunkName: "users" */ '@/components/Process/Agents/Main')
-const GroupCreate = () => import(/* webpackChunkName: "users" */ '@/components/Group/Create')
-const GroupManage = () => import(/* webpackChunkName: "users" */ '@/components/Group/Manage')
-const UserProfile = () => import(/* webpackChunkName: "users" */ '@/components/Auth/Profile/Main')
-const CorpusWorkersActivity = () => import(/* webpackChunkName: "users" */ '@/components/Corpus/WorkersActivity')
-const ProcessWorkersActivity = () => import(/* webpackChunkName: "users" */ '@/components/Process/WorkersActivity')
+const CorpusDetails = () => import(/* webpackChunkName: "users" */ '@/views/Corpus/Main')
+const ImportFromFiles = () => import(/* webpackChunkName: "users" */ '@/views/Imports/ImportFromFiles')
+const ImportFromBucket = () => import(/* webpackChunkName: "users" */ '@/views/Imports/ImportFromBucket')
+const ImportTranskribus = () => import(/* webpackChunkName: "users" */ '@/views/Imports/Transkribus')
+const ReposList = () => import(/* webpackChunkName: "users" */ '@/views/Repos/List')
+const ReposCreate = () => import(/* webpackChunkName: "users" */ '@/views/Repos/Create')
+const ReposRights = () => import(/* webpackChunkName: "users" */ '@/views/Repos/Rights')
+const ProcessList = () => import(/* webpackChunkName: "users" */ '@/views/Process/List')
+const ModelsList = () => import(/* webpackChunkName: "users" */ '@/views/ModelList')
+const ProcessStatus = () => import(/* webpackChunkName: "users" */ '@/views/Process/Status')
+const ProcessFilter = () => import(/* webpackChunkName: "users" */ '@/views/Process/Filter')
+const ProcessConfigure = () => import(/* webpackChunkName: "users" */ '@/views/Process/Configure')
+const TrainingProcessCreate = () => import(/* webpackChunkName: "users" */ '@/views/TrainingProcessCreate')
+const Workers = () => import(/* webpackChunkName: "users" */ '@/views/Process/Workers/List')
+const TemplateDetails = () => import(/* webpackChunkName: "users" */ '@/views/Process/TemplateDetails')
+const WorkerManage = () => import(/* webpackChunkName: "users" */ '@/views/Process/Workers/Manage')
+const PonosAgents = () => import(/* webpackChunkName: "users" */ '@/views/Process/Agents')
+const GroupCreate = () => import(/* webpackChunkName: "users" */ '@/views/Group/Create')
+const GroupManage = () => import(/* webpackChunkName: "users" */ '@/views/Group/Manage')
+const UserProfile = () => import(/* webpackChunkName: "users" */ '@/views/Auth/Profile')
+const CorpusWorkersActivity = () => import(/* webpackChunkName: "users" */ '@/views/Corpus/WorkersActivity')
+const ProcessWorkersActivity = () => import(/* webpackChunkName: "users" */ '@/views/Process/WorkersActivity')
 
 /* eslint-enable no-inline-comments */
 
diff --git a/src/components/App.vue b/src/views/App.vue
similarity index 97%
rename from src/components/App.vue
rename to src/views/App.vue
index 6eb971dc7..a66e45d06 100644
--- a/src/components/App.vue
+++ b/src/views/App.vue
@@ -50,8 +50,8 @@
 <script>
 import { mapState, mapGetters, mapMutations } from 'vuex'
 import { VERSION, BANNER_MESSAGE, BANNER_STYLE } from '@/config.js'
-import Navbar from './Navbar'
-import Notification from './Notification'
+import Navbar from '@/components/Navbar'
+import Notification from '@/components/Notification'
 import DoorBell from '@/components/DoorBell.vue'
 export default {
   components: {
diff --git a/src/components/Auth/Login.vue b/src/views/Auth/Login.vue
similarity index 100%
rename from src/components/Auth/Login.vue
rename to src/views/Auth/Login.vue
diff --git a/src/components/Auth/Logout.vue b/src/views/Auth/Logout.vue
similarity index 100%
rename from src/components/Auth/Logout.vue
rename to src/views/Auth/Logout.vue
diff --git a/src/components/Auth/PasswordReset.vue b/src/views/Auth/PasswordReset.vue
similarity index 100%
rename from src/components/Auth/PasswordReset.vue
rename to src/views/Auth/PasswordReset.vue
diff --git a/src/components/Auth/PasswordResetConfirm.vue b/src/views/Auth/PasswordResetConfirm.vue
similarity index 100%
rename from src/components/Auth/PasswordResetConfirm.vue
rename to src/views/Auth/PasswordResetConfirm.vue
diff --git a/src/components/Auth/Profile/Main.vue b/src/views/Auth/Profile.vue
similarity index 89%
rename from src/components/Auth/Profile/Main.vue
rename to src/views/Auth/Profile.vue
index 2b9af3684..731fb7855 100644
--- a/src/components/Auth/Profile/Main.vue
+++ b/src/views/Auth/Profile.vue
@@ -18,8 +18,8 @@
 <script>
 import Tabs from '@/components/Tabs.vue'
 import OAuthList from '@/components/OAuth/List.vue'
-import Groups from './Groups'
-import UserInfo from './Info'
+import Groups from '@/components/Auth/Profile/Groups'
+import UserInfo from '@/components/Auth/Profile/Info'
 
 export default {
   components: {
diff --git a/src/components/Auth/Register.vue b/src/views/Auth/Register.vue
similarity index 100%
rename from src/components/Auth/Register.vue
rename to src/views/Auth/Register.vue
diff --git a/src/components/Corpus/Main.vue b/src/views/Corpus/Main.vue
similarity index 89%
rename from src/components/Corpus/Main.vue
rename to src/views/Corpus/Main.vue
index e90d376d7..555cb2f26 100644
--- a/src/components/Corpus/Main.vue
+++ b/src/views/Corpus/Main.vue
@@ -45,10 +45,10 @@
 import { corporaMixin } from '@/mixins.js'
 import Tabs from '@/components/Tabs.vue'
 import ListMembers from '@/components/Memberships/ListMembers.vue'
-import EditionForm from './EditionForm'
-import ElementType from './ElementType'
-import AllowedMetaData from './AllowedMetaData'
-import Classes from './Classes'
+import EditionForm from '@/components/Corpus/EditionForm'
+import ElementType from '@/components/Corpus/ElementType'
+import AllowedMetaData from '@/components/Corpus/AllowedMetaData'
+import Classes from '@/components/Corpus/Classes'
 
 export default {
   mixins: [
diff --git a/src/components/Corpus/WorkersActivity.vue b/src/views/Corpus/WorkersActivity.vue
similarity index 100%
rename from src/components/Corpus/WorkersActivity.vue
rename to src/views/Corpus/WorkersActivity.vue
diff --git a/src/components/Element/Main.vue b/src/views/Element.vue
similarity index 98%
rename from src/components/Element/Main.vue
rename to src/views/Element.vue
index 4e286e96f..c80bb73c2 100644
--- a/src/components/Element/Main.vue
+++ b/src/views/Element.vue
@@ -77,14 +77,14 @@ import { mapState, mapGetters, mapMutations } from 'vuex'
 import { truncateMixin, corporaMixin } from '@/mixins.js'
 import { iiifUri } from '@/helpers'
 
-import ChildElement from './ChildElement'
+import ChildElement from '@/components/Element/ChildElement'
 import ElementNavigation from '@/components/Navigation/ElementNavigation.vue'
 import ElementHeader from '@/components/Element/ElementHeader.vue'
 import DetailsPanel from '@/components/Element/DetailsPanel.vue'
 import AnnotationPanel from '@/components/Element/AnnotationPanel.vue'
 import ChildrenTree from '@/components/Navigation/ChildrenTree'
 import InteractiveImage from '@/components/Image/InteractiveImage.vue'
-import PanelHeader from './PanelHeader'
+import PanelHeader from '@/components/Element/PanelHeader'
 
 export default {
   mixins: [
diff --git a/src/components/Entity/Details.vue b/src/views/Entity/Details.vue
similarity index 100%
rename from src/components/Entity/Details.vue
rename to src/views/Entity/Details.vue
diff --git a/src/components/Entity/List.vue b/src/views/Entity/List.vue
similarity index 98%
rename from src/components/Entity/List.vue
rename to src/views/Entity/List.vue
index 2bb4c981b..f0bb976f1 100644
--- a/src/components/Entity/List.vue
+++ b/src/views/Entity/List.vue
@@ -46,7 +46,7 @@ import { mapState, mapActions } from 'vuex'
 import { corporaMixin } from '@/mixins.js'
 import { errorParser } from '@/helpers'
 import Paginator from '@/components/Paginator.vue'
-import Row from './Row'
+import Row from '@/components/Entity/Row'
 
 export default {
   mixins: [
diff --git a/src/components/Errors/NoBackend.vue b/src/views/Errors/NoBackend.vue
similarity index 100%
rename from src/components/Errors/NoBackend.vue
rename to src/views/Errors/NoBackend.vue
diff --git a/src/components/Errors/NotFound.vue b/src/views/Errors/NotFound.vue
similarity index 100%
rename from src/components/Errors/NotFound.vue
rename to src/views/Errors/NotFound.vue
diff --git a/src/components/Errors/UnverifiedEmail.vue b/src/views/Errors/UnverifiedEmail.vue
similarity index 100%
rename from src/components/Errors/UnverifiedEmail.vue
rename to src/views/Errors/UnverifiedEmail.vue
diff --git a/src/components/Group/Create.vue b/src/views/Group/Create.vue
similarity index 100%
rename from src/components/Group/Create.vue
rename to src/views/Group/Create.vue
diff --git a/src/components/Group/Manage.vue b/src/views/Group/Manage.vue
similarity index 99%
rename from src/components/Group/Manage.vue
rename to src/views/Group/Manage.vue
index 50dee2b8d..6b575f50f 100644
--- a/src/components/Group/Manage.vue
+++ b/src/views/Group/Manage.vue
@@ -96,7 +96,7 @@ import { getRole, errorParser } from '@/helpers'
 import { mapState, mapActions, mapMutations } from 'vuex'
 import ListMembers from '@/components/Memberships/ListMembers.vue'
 import Modal from '@/components/Modal.vue'
-import Create from './Create'
+import Create from '@/views/Group/Create'
 
 export default {
   components: {
diff --git a/src/components/Image/Elements.vue b/src/views/ImageElements.vue
similarity index 100%
rename from src/components/Image/Elements.vue
rename to src/views/ImageElements.vue
diff --git a/src/components/Imports/ImportFromBucket.vue b/src/views/Imports/ImportFromBucket.vue
similarity index 100%
rename from src/components/Imports/ImportFromBucket.vue
rename to src/views/Imports/ImportFromBucket.vue
diff --git a/src/components/Imports/Files/ImportFromFiles.vue b/src/views/Imports/ImportFromFiles.vue
similarity index 99%
rename from src/components/Imports/Files/ImportFromFiles.vue
rename to src/views/Imports/ImportFromFiles.vue
index 73647f627..84562283d 100644
--- a/src/components/Imports/Files/ImportFromFiles.vue
+++ b/src/views/Imports/ImportFromFiles.vue
@@ -91,7 +91,7 @@
 
 <script>
 import { mapMutations, mapGetters } from 'vuex'
-import FileSelector from './Selector'
+import FileSelector from '@/components/Imports/Files/Selector'
 import { truncateMixin, corporaMixin } from '@/mixins.js'
 export default {
   mixins: [
diff --git a/src/components/Imports/Transkribus.vue b/src/views/Imports/Transkribus.vue
similarity index 100%
rename from src/components/Imports/Transkribus.vue
rename to src/views/Imports/Transkribus.vue
diff --git a/src/components/Model/List.vue b/src/views/ModelList.vue
similarity index 98%
rename from src/components/Model/List.vue
rename to src/views/ModelList.vue
index 85bed8989..fe4181e1b 100644
--- a/src/components/Model/List.vue
+++ b/src/views/ModelList.vue
@@ -78,7 +78,7 @@
 
 <script>
 import { mapActions, mapMutations } from 'vuex'
-import VersionList from './Versions/List'
+import VersionList from '@/components/Model/Versions/List'
 import Paginator from '@/components/Paginator.vue'
 import { errorParser } from '@/helpers'
 import ListMembers from '@/components/Memberships/ListMembers.vue'
diff --git a/src/components/Navigation/Main.vue b/src/views/Navigation/Main.vue
similarity index 87%
rename from src/components/Navigation/Main.vue
rename to src/views/Navigation/Main.vue
index 3207f53ca..edc8efda6 100644
--- a/src/components/Navigation/Main.vue
+++ b/src/views/Navigation/Main.vue
@@ -9,7 +9,7 @@
 
 <script>
 import { corporaMixin } from '@/mixins.js'
-import ElementNavigation from './ElementNavigation'
+import ElementNavigation from '@/components/Navigation/ElementNavigation'
 import CorpusHeader from '@/components/Corpus/Header.vue'
 export default {
   mixins: [
diff --git a/src/components/Navigation/Selection.vue b/src/views/Navigation/Selection.vue
similarity index 94%
rename from src/components/Navigation/Selection.vue
rename to src/views/Navigation/Selection.vue
index 97ed2275e..f750ccb99 100644
--- a/src/components/Navigation/Selection.vue
+++ b/src/views/Navigation/Selection.vue
@@ -19,7 +19,7 @@
 
 <script>
 import { mapState } from 'vuex'
-import CorpusSelection from './CorpusSelection'
+import CorpusSelection from '@/components/Navigation/CorpusSelection'
 export default {
   components: {
     CorpusSelection
diff --git a/src/components/Navigation/index.js b/src/views/Navigation/index.js
similarity index 100%
rename from src/components/Navigation/index.js
rename to src/views/Navigation/index.js
diff --git a/src/components/Process/Agents/Main.vue b/src/views/Process/Agents.vue
similarity index 100%
rename from src/components/Process/Agents/Main.vue
rename to src/views/Process/Agents.vue
diff --git a/src/components/Process/Configure.vue b/src/views/Process/Configure.vue
similarity index 97%
rename from src/components/Process/Configure.vue
rename to src/views/Process/Configure.vue
index 3351df041..4cac12ab4 100644
--- a/src/components/Process/Configure.vue
+++ b/src/views/Process/Configure.vue
@@ -184,12 +184,12 @@
 <script>
 import { mapState, mapActions, mapMutations } from 'vuex'
 import Modal from '@/components/Modal.vue'
-import WorkerRunsGraph from './Graph/WorkerRuns'
-import Workers from './Workers/List'
-import WorkerRunWithParents from './Workers/WorkerRunWithParents'
+import WorkerRunsGraph from '@/components/Process/Graph/WorkerRuns'
+import Workers from '@/views/Process/Workers/List'
+import WorkerRunWithParents from '@/components/Process/Workers/WorkerRunWithParents'
 import { ensureArray, errorParser } from '@/helpers'
-import TemplateCreation from './TemplateCreation'
-import TemplateSelection from './TemplateSelection'
+import TemplateCreation from '@/components/Process/TemplateCreation'
+import TemplateSelection from '@/components/Process/TemplateSelection'
 
 export default {
   props: {
diff --git a/src/components/Process/Filter.vue b/src/views/Process/Filter.vue
similarity index 100%
rename from src/components/Process/Filter.vue
rename to src/views/Process/Filter.vue
diff --git a/src/components/Process/List.vue b/src/views/Process/List.vue
similarity index 99%
rename from src/components/Process/List.vue
rename to src/views/Process/List.vue
index e6d0683ee..d66fd4f24 100644
--- a/src/components/Process/List.vue
+++ b/src/views/Process/List.vue
@@ -119,7 +119,7 @@ import { PROCESS_MODES, PROCESS_STATES } from '@/config.js'
 import { corporaMixin } from '@/mixins.js'
 import { errorParser, removeEmptyStrings } from '@/helpers'
 import Paginator from '@/components/Paginator.vue'
-import Row from './Row'
+import Row from '@/components/Process/Row'
 export default {
   mixins: [
     corporaMixin
diff --git a/src/components/Process/Status/Main.vue b/src/views/Process/Status.vue
similarity index 97%
rename from src/components/Process/Status/Main.vue
rename to src/views/Process/Status.vue
index 2b6355a8a..cec2db852 100644
--- a/src/components/Process/Status/Main.vue
+++ b/src/views/Process/Status.vue
@@ -103,9 +103,9 @@ import {
 } from '@/config.js'
 import { corporaMixin } from '@/mixins.js'
 import { errorParser } from '@/helpers'
-import NameField from './NameField'
-import Workflow from './Workflow'
-import TemplateCreation from '../TemplateCreation'
+import NameField from '@/components/Process/Status/NameField'
+import Workflow from '@/components/Process/Status/Workflow'
+import TemplateCreation from '@/components/Process/TemplateCreation'
 
 export default {
   mixins: [
diff --git a/src/components/Process/TemplateDetails.vue b/src/views/Process/TemplateDetails.vue
similarity index 96%
rename from src/components/Process/TemplateDetails.vue
rename to src/views/Process/TemplateDetails.vue
index 18a263a98..c1ed9cba7 100644
--- a/src/components/Process/TemplateDetails.vue
+++ b/src/views/Process/TemplateDetails.vue
@@ -25,8 +25,8 @@
 <script>
 import { mapState, mapActions, mapMutations } from 'vuex'
 import { ensureArray, errorParser } from '@/helpers'
-import WorkerRunsGraph from './Graph/WorkerRuns'
-import WorkerRunWithParents from './Workers/WorkerRunWithParents'
+import WorkerRunsGraph from '@/components/Process/Graph/WorkerRuns'
+import WorkerRunWithParents from '@/components/Process/Workers/WorkerRunWithParents'
 
 export default {
   components: {
diff --git a/src/components/Process/Workers/List.vue b/src/views/Process/Workers/List.vue
similarity index 97%
rename from src/components/Process/Workers/List.vue
rename to src/views/Process/Workers/List.vue
index 8cf836e6b..b076a1fbc 100644
--- a/src/components/Process/Workers/List.vue
+++ b/src/views/Process/Workers/List.vue
@@ -103,11 +103,11 @@
 
 <script>
 import { mapState, mapActions, mapMutations } from 'vuex'
-import VersionList from './Versions/List'
+import VersionList from '@/components/Process/Workers/Versions/List'
 import Paginator from '@/components/Paginator.vue'
 import { errorParser } from '@/helpers'
 import ListMembers from '@/components/Memberships/ListMembers.vue'
-import WorkerTag from './WorkerTag'
+import WorkerTag from '@/components/Process/Workers/WorkerTag'
 import { truncateMixin } from '@/mixins.js'
 import { isEmpty } from 'lodash'
 
diff --git a/src/components/Process/Workers/Manage.vue b/src/views/Process/Workers/Manage.vue
similarity index 95%
rename from src/components/Process/Workers/Manage.vue
rename to src/views/Process/Workers/Manage.vue
index 3a6586edf..31f7a71a8 100644
--- a/src/components/Process/Workers/Manage.vue
+++ b/src/views/Process/Workers/Manage.vue
@@ -25,7 +25,7 @@
 <script>
 import { mapState, mapMutations } from 'vuex'
 import { errorParser } from '@/helpers'
-import VersionList from './Versions/List'
+import VersionList from '@/components/Process/Workers/Versions/List'
 import ListMembers from '@/components/Memberships/ListMembers.vue'
 export default {
   props: {
diff --git a/src/components/Process/WorkersActivity.vue b/src/views/Process/WorkersActivity.vue
similarity index 100%
rename from src/components/Process/WorkersActivity.vue
rename to src/views/Process/WorkersActivity.vue
diff --git a/src/components/Repos/Create.vue b/src/views/Repos/Create.vue
similarity index 100%
rename from src/components/Repos/Create.vue
rename to src/views/Repos/Create.vue
diff --git a/src/components/Repos/List.vue b/src/views/Repos/List.vue
similarity index 96%
rename from src/components/Repos/List.vue
rename to src/views/Repos/List.vue
index 3587863b1..28b2c96b8 100644
--- a/src/components/Repos/List.vue
+++ b/src/views/Repos/List.vue
@@ -46,8 +46,8 @@
 <script>
 import { mapActions, mapState, mapGetters, mapMutations } from 'vuex'
 import Paginator from '@/components/Paginator.vue'
-import Row from './Row'
-import DeleteModal from './DeleteModal'
+import Row from '@/components/Repos/Row'
+import DeleteModal from '@/components/Repos/DeleteModal'
 import { errorParser } from '@/helpers'
 export default {
   components: {
diff --git a/src/components/Repos/Rights.vue b/src/views/Repos/Rights.vue
similarity index 97%
rename from src/components/Repos/Rights.vue
rename to src/views/Repos/Rights.vue
index e44b07fce..5ada8aa5a 100644
--- a/src/components/Repos/Rights.vue
+++ b/src/views/Repos/Rights.vue
@@ -33,7 +33,7 @@
 import { errorParser } from '@/helpers'
 import { mapState, mapActions, mapMutations } from 'vuex'
 import ListMembers from '@/components/Memberships/ListMembers.vue'
-import DeleteModal from './DeleteModal'
+import DeleteModal from '@/components/Repos/DeleteModal'
 export default {
   components: {
     ListMembers,
diff --git a/src/components/Search/Main.vue b/src/views/Search.vue
similarity index 92%
rename from src/components/Search/Main.vue
rename to src/views/Search.vue
index 574ceb749..26e100e8c 100644
--- a/src/components/Search/Main.vue
+++ b/src/views/Search.vue
@@ -36,8 +36,8 @@
 <script>
 import { mapState, mapMutations } from 'vuex'
 import Paginator from '@/components/Paginator.vue'
-import SearchForm from './Form'
-import SearchResult from './Result'
+import SearchForm from '@/components/Search/Form'
+import SearchResult from '@/components/Search/Result'
 export default {
   components: {
     Paginator,
diff --git a/src/components/Training/Create.vue b/src/views/TrainingProcessCreate.vue
similarity index 99%
rename from src/components/Training/Create.vue
rename to src/views/TrainingProcessCreate.vue
index cc6fcc261..79d6ecd45 100644
--- a/src/components/Training/Create.vue
+++ b/src/views/TrainingProcessCreate.vue
@@ -299,7 +299,7 @@
 <script>
 import { mapMutations } from 'vuex'
 import FolderPicker from '@/components/Navigation/FolderPicker/FolderPicker'
-import WorkerList from '@/components/Process/Workers/List'
+import WorkerList from '@/views/Process/Workers/List'
 import ConfigurationList from '@/components/Process/Workers/Configurations/List'
 import ModelPicker from '@/components/Model/ModelPicker'
 import ModelVersionPicker from '@/components/Model/Versions/ModelVersionPicker'
diff --git a/src/components/Welcome.vue b/src/views/Welcome.vue
similarity index 100%
rename from src/components/Welcome.vue
rename to src/views/Welcome.vue
-- 
GitLab