export default defineNuxtRouteMiddleware(async (to) => {
  // Skip auth for public pages
  if (to.meta.auth === false) {
    return;
  }

  // Use the same auth system as the rest of the app
  const { isAuthenticated, checkAuth, user } = useAuth();
  
  // Ensure auth is checked if user isn't loaded
  if (!user.value) {
    await checkAuth();
  }

  if (!isAuthenticated.value) {
    return navigateTo('/login');
  }
});
