You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import { createRouter, createWebHistory } from 'vue-router'
  2. import HomeView from '../views/HomeView.vue'
  3. import ProfileView from '../views/ProfileView.vue'
  4. import ChatView from '../views/ChatView.vue'
  5. import PairsView from '../views/PairsView.vue'
  6. import LoginView from '../views/LoginView.vue'
  7. import SurveyView from '../views/SurveyView.vue'
  8. import OnboardingView from '../views/OnboardingView.vue'
  9. import MessagesView from '../views/MessagesView.vue'
  10. const routes = [
  11. {
  12. path: '/',
  13. component: HomeView,
  14. name: 'HomeView',
  15. meta: { requiresAuth: true, requiresCompleteProfile: true },
  16. },
  17. {
  18. path: '/profile/:pid',
  19. component: ProfileView,
  20. name: 'ProfileView',
  21. meta: { requiresAuth: true, requiresCompleteProfile: true },
  22. },
  23. {
  24. path: '/pairs',
  25. component: PairsView,
  26. name: 'PairsView',
  27. meta: { requiresAuth: true, requiresCompleteProfile: true },
  28. },
  29. {
  30. path: '/pairs/:pid',
  31. component: ProfileView,
  32. meta: { requiresAuth: true, requiresCompleteProfile: true },
  33. },
  34. {
  35. path: '/messages',
  36. component: MessagesView,
  37. meta: {
  38. requiresAuth: true,
  39. requiresCompleteProfile: true,
  40. props: true,
  41. },
  42. },
  43. {
  44. path: '/chat/:pid',
  45. component: ChatView,
  46. meta: {
  47. requiresAuth: true,
  48. requiresCompleteProfile: true,
  49. props: true,
  50. },
  51. },
  52. {
  53. path: `/survey`,
  54. component: SurveyView,
  55. name: `SurveyView`,
  56. meta: { requiresAuth: true, requiresCompleteProfile: false },
  57. },
  58. {
  59. path: `/onboarding`,
  60. component: OnboardingView,
  61. name: `OnboardingView`,
  62. meta: { requiresAuth: true, requiresCompleteProfile: false },
  63. },
  64. {
  65. path: `/login`,
  66. component: LoginView,
  67. name: `LoginView`,
  68. meta: { requiresAuth: false, requiresCompleteProfile: false },
  69. },
  70. ]
  71. const router = createRouter({
  72. history: createWebHistory(),
  73. routes,
  74. })
  75. export { router }