import type { RouteRecordRaw } from 'vue-router'

export const accountRoutes: RouteRecordRaw[] = [
  {
    path: '/login',
    name: 'login',
    component: () => import('@/features/auth/views/LoginView.vue'),
  },
  {
    path: '/orders/create',
    name: 'order-create',
    component: () => import('@/features/orders/views/OrderCreateView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/profile',
    name: 'profile',
    component: () => import('@/features/auth/views/ProfileView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/orders',
    name: 'orders',
    component: () => import('@/features/orders/views/OrdersView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/orders/:id',
    name: 'order-detail',
    component: () => import('@/features/orders/views/OrderDetailView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/wallet',
    name: 'wallet',
    component: () => import('@/features/wallet/views/WalletView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/notifications',
    name: 'notifications',
    component: () => import('@/features/auth/views/NotificationsView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/realname',
    name: 'realname',
    component: () => import('@/features/auth/views/RealnameView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/post-rental-notice',
    name: 'post-rental-notice',
    component: () => import('@/features/auth/views/PostRentalNoticeView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/messages',
    name: 'messages',
    component: () => import('@/features/chats/views/MessagesView.vue'),
    meta: { requiresAuth: true },
  },
  {
    path: '/messages/:id',
    name: 'chat',
    component: () => import('@/features/chats/views/ChatView.vue'),
    meta: { requiresAuth: true },
  },
]
