index.ts 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. import { createRouter, createWebHistory } from "vue-router";
  2. import RouterComponent from '@/components/RouterComponent.vue';
  3. import { useMainStore } from "@/stores/main";
  4. const router = createRouter({
  5. history: createWebHistory(import.meta.env.BASE_URL),
  6. routes: [
  7. {
  8. path: "/",
  9. name:'/',
  10. component: () => import(/* webpackChunkName: "start" */ '@/views/main/Start.vue'),
  11. children:[
  12. {
  13. path: 'login',
  14. name: 'login',
  15. // route level code-splitting
  16. // this generates a separate chunk (about.[hash].js) for this route
  17. // which is lazy-loaded when the route is visited.
  18. component: () => import(/* webpackChunkName: "login" */ '@/views/Login.vue'),
  19. },
  20. {
  21. path: 'signup',
  22. name: 'signup',
  23. component: () => import(/* webpackChunkName: "login" */ '@/views/Signup.vue'),
  24. },
  25. {
  26. path: 'recover-password',
  27. name: 'recover-password',
  28. component: () => import(/* webpackChunkName: "recover-password" */ '@/views/PasswordRecovery.vue'),
  29. },
  30. {
  31. path: 'reset-password',
  32. name: 'reset-password',
  33. component: () => import(/* webpackChunkName: "reset-password" */ '@/views/ResetPassword.vue'),
  34. },
  35. {
  36. path: 'main',
  37. name: 'main',
  38. component: () => import(/* webpackChunkName: "main" */ '@/views/main/Main.vue'),
  39. children: [
  40. {
  41. path: 'dashboard',
  42. name: 'dashboard',
  43. component: () => import(/* webpackChunkName: "main-dashboard" */ '@/views/main/Dashboard.vue'),
  44. },
  45. {
  46. path: 'make-video',
  47. name: 'make-video',
  48. component: () => import ('@/views/main/Upload.vue'),
  49. },
  50. {
  51. path: 'make-article',
  52. name: 'make-article',
  53. component: () => import ('@/views/main/Article.vue'),
  54. },
  55. {
  56. path: 'make-image',
  57. name: 'make-image',
  58. component: () => import ('@/views/main/Image.vue'),
  59. },
  60. {
  61. path: 'progress',
  62. name: 'progress',
  63. component: () => import ('@/views/main/Progress.vue'),
  64. },
  65. {
  66. path: 'profile',
  67. name: 'profile',
  68. component: RouterComponent,
  69. redirect: "/main/profile/view",
  70. children: [
  71. {
  72. path: 'view',
  73. name: 'view',
  74. component: () => import(
  75. /* webpackChunkName: "main-profile" */ '@/views/main/profile/UserProfile.vue'),
  76. },
  77. {
  78. path: 'edit',
  79. name: 'edit',
  80. component: () => import(
  81. /* webpackChunkName: "main-profile-edit" */ '@/views/main/profile/UserProfileEdit.vue'),
  82. },
  83. {
  84. path: 'password',
  85. name: 'password',
  86. component: () => import(
  87. /* webpackChunkName: "main-profile-password" */ '@/views/main/profile/UserProfileEditPassword.vue'),
  88. },
  89. ],
  90. },
  91. {
  92. path: 'admin',
  93. name: 'admin',
  94. component: () => import(/* webpackChunkName: "main-admin" */ '@/views/main/admin/Admin.vue'),
  95. redirect: '/main/admin/users/all',
  96. children: [
  97. {
  98. path: 'users',
  99. name: 'users',
  100. redirect: '/main/admin/users/all',
  101. },
  102. {
  103. path: 'users/all',
  104. name: 'all-users',
  105. component: () => import(
  106. /* webpackChunkName: "main-admin-users" */ '@/views/main/admin/AdminUsers.vue'),
  107. },
  108. {
  109. path: 'users/edit/:id',
  110. name: 'main-admin-users-edit',
  111. component: () => import(
  112. /* webpackChunkName: "main-admin-users-edit" */ '@/views/main/admin/EditUser.vue'),
  113. },
  114. {
  115. path: 'users/create',
  116. name: 'main-admin-users-create',
  117. component: () => import(
  118. /* webpackChunkName: "main-admin-users-create" */ '@/views/main/admin/CreateUser.vue'),
  119. },
  120. {
  121. path: 'test-celery',
  122. name: 'test-celery',
  123. component: () => import(
  124. /* webpackChunkName: "main-admin-users-create" */ '@/views/main/admin/TestCelery.vue'),
  125. },
  126. ],
  127. },
  128. ],
  129. },
  130. ]
  131. },
  132. ],
  133. });
  134. export default router;