import merge from 'lodash/merge' import path from 'path' import { NuxtRouteConfig } from '@starpad/ui' export interface GetUserRoutesOptions { pathPrefix?: string } export const defaultGetRoutesOptions: GetUserRoutesOptions = { pathPrefix: '/', } export function getUserRoutes (options: GetUserRoutesOptions = {}): NuxtRouteConfig[] { options = merge({}, defaultGetRoutesOptions, options) return [ { path: `${options.pathPrefix}auth`, component: path.resolve(__dirname, './UserAuthLayout.vue'), meta: { ignoreSignInRedirect: true, }, children: [ { path: '', redirect: { name: 'user-sign-in' }, }, { path: 'signin', name: 'user-sign-in', component: path.resolve(__dirname, './UserSignin.vue'), }, { path: 'signup', name: 'user-sign-up', component: path.resolve(__dirname, './UserSignup.vue'), }, { path: 'confirm-email', name: 'user-confirm-email', component: path.resolve(__dirname, './UserConfirmEmail.vue'), }, { path: 'forgot-password', name: 'user-forgot-password', component: path.resolve(__dirname, './UserForgotPassword.vue'), }, { path: 'reset-password', name: 'user-reset-password', component: path.resolve(__dirname, './UserResetPassword.vue'), }, ], }, ] }