| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import { createRouter, createWebHistory } from 'vue-router'
-
- import HomeView from '../views/HomeView.vue'
- import ProfileView from '../views/ProfileView.vue'
- import ChatView from '../views/ChatView.vue'
- import PairsView from '../views/PairsView.vue'
- import LoginView from '../views/LoginView.vue'
- import SurveyView from '../views/SurveyView.vue'
- import OnboardingView from '../views/OnboardingView.vue'
- import VerifyView from '../views/VerifyView.vue'
- import MessagesView from '../views/MessagesView.vue'
-
- const routes = [
- {
- path: '/',
- component: HomeView,
- name: 'HomeView',
- meta: { requiresAuth: true, requiresCompleteProfile: false },
- },
- {
- path: '/profile/:pid',
- component: ProfileView,
- name: 'ProfileView',
- meta: { requiresAuth: true, requiresCompleteProfile: true },
- },
- {
- path: '/pairs',
- component: PairsView,
- name: 'PairsView',
- meta: { requiresAuth: true, requiresCompleteProfile: true },
- },
- {
- path: '/pairs/:pid',
- component: ProfileView,
- meta: { requiresAuth: true, requiresCompleteProfile: true },
- },
- {
- path: '/messages',
- component: MessagesView,
- meta: {
- requiresAuth: true,
- requiresCompleteProfile: true,
- props: true,
- },
- },
- {
- path: '/chat/:pid',
- component: ChatView,
- meta: {
- requiresAuth: true,
- requiresCompleteProfile: true,
- props: true,
- },
- },
- {
- path: `/survey`,
- component: SurveyView,
- name: `SurveyView`,
- meta: { requiresAuth: true, requiresCompleteProfile: false },
- },
- // TODO: remove after better implementation is found for verifying email
- // hash
- {
- path: `/onboarding/`,
- component: OnboardingView,
- name: `OnboardingView`,
- meta: { requiresAuth: false, requiresCompleteProfile: false },
- },
- // We must be able to get to this route BEFORE login to activate the session
- {
- path: `/verify/:hashedToken?`,
- component: VerifyView,
- name: `VerifyView`,
- meta: { requiresAuth: false, requiresCompleteProfile: false },
- },
- {
- path: `/login`,
- component: LoginView,
- name: `LoginView`,
- meta: { requiresAuth: false, requiresCompleteProfile: false },
- },
- {
- path: `/settings`,
- component: HomeView,
- name: `SettingsView`,
- meta: { requiresAuth: true, requiresCompleteProfile: true },
- },
- {
- path: `/search`,
- component: HomeView,
- name: `SearchView`,
- meta: { requiresAuth: true, requiresCompleteProfile: true },
- },
- ]
-
- const router = createRouter({
- history: createWebHistory(),
- routes,
- })
-
- export { router }
|