import { Routes } from '@angular/router';
import { LoginComponent } from './components/login/login';
import { DashboardComponent } from './components/dashboard/dashboard';
import { AuthGuard } from './guards/auth-guard';
import { AdminGuard } from './guards/auth-guard';
import { AutorizacionesPorFechaComponent } from './components/autorizaciones-por-fecha/autorizaciones-por-fecha';
import { AutorizacionesComponent } from './components/autorizaciones/autorizaciones';
import { UsuariosComponent } from './components/usuarios/usuarios';
import { CargarCupsComponent } from './components/cargar-cups/cargar-cups';
import { EstadisticasAutorizacionesComponent } from './components/estadisticas-autorizaciones/estadisticas-autorizaciones';
import { CargarAutorizacionesMasivasComponent } from './components/cargar-autorizaciones-masivas/cargar-autorizaciones-masivas';
import { CargarIpsRepsComponent } from './components/cargar-ips-reps/cargar-ips-reps';
import { CargarPacientesComponent } from './components/cargar-pacientes/cargar-pacientes';


export const routes: Routes = [
  // base: siempre al login
  { path: '', pathMatch: 'full', redirectTo: 'login' },

  { path: 'login', component: LoginComponent },

  {
    path: 'dashboard',
    component: DashboardComponent,
    canActivate: [AuthGuard],
  },

  {
    path: 'autorizaciones',
    component: AutorizacionesComponent,
    canActivate: [AuthGuard],
  },

  {
    path: 'autorizaciones-por-fecha',
    component: AutorizacionesPorFechaComponent,
    canActivate: [AuthGuard],
  },

  {
    path: 'estadisticas-autorizaciones',
    component: EstadisticasAutorizacionesComponent,
    canActivate: [AuthGuard, AdminGuard],
  },

  { 
    path: 'usuarios', 
    component: UsuariosComponent, 
    canActivate: [AuthGuard] 
  },

  {
    path: 'cargar-cups',
    component: CargarCupsComponent,
    canActivate: [AuthGuard, AdminGuard],
  },

  {
    path: 'cargar-pacientes',
    component: CargarPacientesComponent,
    canActivate: [AuthGuard, AdminGuard],
  },

  {
    path: 'cargar-autorizaciones-masivas',
    component: CargarAutorizacionesMasivasComponent,
    canActivate: [AuthGuard],
  },

  {
    path: 'cargar-ips-reps',
    component: CargarIpsRepsComponent,
    canActivate: [AuthGuard, AdminGuard],
  },

  // cualquier cosa rara → dashboard
  { path: '**', redirectTo: 'dashboard' },

];
