// export default defineNuxtRouteMiddleware((to, from) => {
//   const authStore = useAuthStore()

//   // Pastikan user sudah login
//   if (!authStore.isAuthenticated) {
//     return navigateTo('/login')
//   }

//   // Ambil role yang dibutuhkan dari meta page
//   const requiredRoles = to.meta.roles as string[] | undefined
//   const requiredPermissions = to.meta.permissions as string[] | undefined

//   // Cek role
//   if (requiredRoles && requiredRoles.length > 0) {
//     const hasRequiredRole = requiredRoles.some(role =>
//       authStore.hasRole(role)
//     )

//     if (!hasRequiredRole) {
//       throw createError({
//         statusCode: 403,
//         statusMessage: 'Anda tidak memiliki akses ke halaman ini'
//       })
//     }
//   }

//   // Cek permissions
//   if (requiredPermissions && requiredPermissions.length > 0) {
//     const hasRequiredPermission = requiredPermissions.some(permission =>
//       authStore.hasPermission(permission)
//     )

//     if (!hasRequiredPermission) {
//       throw createError({
//         statusCode: 403,
//         statusMessage: 'Anda tidak memiliki izin untuk mengakses halaman ini'
//       })
//     }
//   }
// })
