name('index'); Route::view('project_dashboard', 'project_dashboard')->name('project_dashboard'); Route::view('accordions', 'accordions')->name('accordions'); Route::view('add_blog', 'add_blog')->name('add_blog'); Route::view('add_product', 'add_product')->name('add_product'); Route::view('advance_table', 'advance_table')->name('advance_table'); Route::view('alert', 'alert')->name('alert'); Route::view('alignment', 'alignment')->name('alignment'); Route::view('animated_icon', 'animated_icon')->name('animated_icon'); Route::view('animation', 'animation')->name('animation'); Route::view('api', 'api')->name('api'); Route::view('area_chart', 'area_chart')->name('area_chart'); Route::view('avatar', 'avatar')->name('avatar'); Route::view('background', 'background')->name('background'); Route::view('badges', 'badges')->name('badges'); Route::view('bar_chart', 'bar_chart')->name('bar_chart'); Route::view('base_inputs', 'base_inputs')->name('base_inputs'); Route::view('basic_table', 'basic_table')->name('basic_table'); Route::view('blank', 'blank')->name('blank'); Route::view('block_ui', 'block_ui')->name('block_ui'); Route::view('blog', 'blog')->name('blog'); Route::view('blog_details', 'blog_details')->name('blog_details'); Route::view('bookmark', 'bookmark')->name('bookmark'); Route::view('bootstrap_slider', 'bootstrap_slider')->name('bootstrap_slider'); Route::view('boxplot_chart', 'boxplot_chart')->name('boxplot_chart'); Route::view('bubble_chart', 'bubble_chart')->name('bubble_chart'); Route::view('bullet', 'bullet')->name('bullet'); Route::view('buttons', 'buttons')->name('buttons'); Route::view('calendar', 'calendar')->name('calendar'); Route::view('candlestick_chart', 'candlestick_chart')->name('candlestick_chart'); Route::view('cards', 'cards')->name('cards'); Route::view('cart', 'cart')->name('cart'); Route::view('chart_js', 'chart_js')->name('chart_js'); Route::view('chat', 'chat')->name('chat'); Route::view('cheatsheet', 'cheatsheet')->name('cheatsheet'); Route::view('checkbox_radio', 'checkbox_radio')->name('checkbox_radio'); Route::view('checkout', 'checkout')->name('checkout'); Route::view('clipboard', 'clipboard')->name('clipboard'); Route::view('collapse', 'collapse')->name('collapse'); Route::view('column_chart', 'column_chart')->name('column_chart'); Route::view('coming_soon', 'coming_soon')->name('coming_soon'); Route::view('count_down', 'count_down')->name('count_down'); Route::view('count_up', 'count_up')->name('count_up'); Route::view('data_table', 'data_table')->name('data_table'); Route::view('date_picker', 'date_picker')->name('date_picker'); Route::view('default_forms', 'default_forms')->name('default_forms'); Route::view('divider', 'divider')->name('divider'); Route::view('draggable', 'draggable')->name('draggable'); Route::view('dropdown', 'dropdown')->name('dropdown'); Route::view('dual_list_boxes', 'dual_list_boxes')->name('dual_list_boxes'); Route::view('editor', 'editor')->name('editor'); Route::view('email', 'email')->name('email'); Route::view('error_400', 'error_400')->name('error_400'); Route::view('error_403', 'error_403')->name('error_403'); Route::view('error_404', 'error_404')->name('error_404'); Route::view('error_500', 'error_500')->name('error_500'); Route::view('error_503', 'error_503')->name('error_503'); Route::view('faq', 'faq')->name('faq'); Route::view('file_manager', 'file_manager')->name('file_manager'); Route::view('file_upload', 'file_upload')->name('file_upload'); Route::view('flag_icons', 'flag_icons')->name('flag_icons'); Route::view('floating_labels', 'floating_labels')->name('floating_labels'); Route::view('fontawesome', 'fontawesome')->name('fontawesome'); Route::view('footer_page', 'footer_page')->name('footer_page'); Route::view('form_validation', 'form_validation')->name('form_validation'); Route::view('form_wizard_1', 'form_wizard_1')->name('form_wizard_1'); Route::view('form_wizard_2', 'form_wizard_2')->name('form_wizard_2'); Route::view('form_wizards', 'form_wizards')->name('form_wizards'); Route::view('gallery', 'gallery')->name('gallery'); Route::view('google_map', 'google_map')->name('google_map'); Route::view('grid', 'grid')->name('grid'); Route::view('heatmap', 'heatmap')->name('heatmap'); Route::view('helper_classes', 'helper_classes')->name('helper_classes'); Route::view('iconoir_icon', 'iconoir_icon')->name('iconoir_icon'); Route::view('input_groups', 'input_groups')->name('input_groups'); Route::view('input_masks', 'input_masks')->name('input_masks'); Route::view('invoice', 'invoice')->name('invoice'); Route::view('kanban_board', 'kanban_board')->name('kanban_board'); Route::view('landing', 'landing')->name('landing'); Route::view('leaflet_map', 'leaflet_map')->name('leaflet_map'); Route::view('line_chart', 'line_chart')->name('line_chart'); Route::view('list', 'list')->name('list'); Route::view('list_table', 'list_table')->name('list_table'); Route::view('lock_screen', 'lock_screen')->name('lock_screen'); Route::view('lock_screen_1', 'lock_screen_1')->name('lock_screen_1'); Route::view('maintenance', 'maintenance')->name('maintenance'); Route::view('misc', 'misc')->name('misc'); Route::view('mixed_chart', 'mixed_chart')->name('mixed_chart'); Route::view('modals', 'modals')->name('modals'); Route::view('notifications', 'notifications')->name('notifications'); Route::view('offcanvas', 'offcanvas')->name('offcanvas'); Route::view('orders', 'orders')->name('orders'); Route::view('order_details', 'order_details')->name('order_details'); Route::view('order_list', 'order_list')->name('order_list'); Route::view('password_create_1', 'password_create_1')->name('password_create_1'); Route::view('password_reset_1', 'password_reset_1')->name('password_reset_1'); Route::view('phosphor', 'phosphor')->name('phosphor'); Route::view('pie_charts', 'pie_charts')->name('pie_charts'); Route::view('placeholder', 'placeholder')->name('placeholder'); Route::view('pricing', 'pricing')->name('pricing'); Route::view('prismjs', 'prismjs')->name('prismjs'); Route::view('privacy_policy', 'privacy_policy')->name('privacy_policy'); Route::view('product', 'product')->name('product'); Route::view('product_details', 'product_details')->name('product_details'); Route::view('product_list', 'product_list')->name('product_list'); Route::view('profileB', 'profile')->name('profile'); Route::view('progress', 'progress')->name('progress'); Route::view('project_app', 'project_app')->name('project_app'); Route::view('project_details', 'project_details')->name('project_details'); Route::view('password_create', 'password_create')->name('password_create'); Route::view('password_reset', 'password_reset')->name('password_reset'); Route::view('radar_chart', 'radar_chart')->name('radar_chart'); Route::view('radial_bar_chart', 'radial_bar_chart')->name('radial_bar_chart'); Route::view('range_slider', 'range_slider')->name('range_slider'); Route::view('ratings', 'ratings')->name('ratings'); Route::view('read_email', 'read_email')->name('read_email'); Route::view('ready_to_use_form', 'ready_to_use_form')->name('ready_to_use_form'); Route::view('ready_to_use_table', 'ready_to_use_table')->name('ready_to_use_table'); Route::view('ribbons', 'ribbons')->name('ribbons'); Route::view('scatter_chart', 'scatter_chart')->name('scatter_chart'); Route::view('scrollbar', 'scrollbar')->name('scrollbar'); Route::view('scrollpy', 'scrollpy')->name('scrollpy'); Route::view('select', 'select')->name('select'); Route::view('setting', 'setting')->name('setting'); Route::view('shadow', 'shadow')->name('shadow'); Route::view('sign_in', 'sign_in')->name('sign_in'); Route::view('sign_in_1', 'sign_in_1')->name('sign_in_1'); Route::view('sign_up', 'sign_up')->name('sign_up'); Route::view('sign_up_1', 'sign_up_1')->name('sign_up_1'); Route::view('sitemap', 'sitemap')->name('sitemap'); Route::view('slick_slider', 'slick_slider')->name('slick_slider'); Route::view('spinners', 'spinners')->name('spinners'); Route::view('sweetalert', 'sweetalert')->name('sweetalert'); Route::view('switch', 'switch')->name('switch'); Route::view('tabler_icons', 'tabler_icons')->name('tabler_icons'); Route::view('tabs', 'tabs')->name('tabs'); Route::view('team', 'team')->name('team'); Route::view('terms_condition', 'terms_condition')->name('terms_condition'); Route::view('textarea', 'textarea')->name('textarea'); Route::view('ticket', 'ticket')->name('ticket'); Route::view('ticket_details', 'ticket_details')->name('ticket_details'); Route::view('timeline', 'timeline')->name('timeline'); Route::view('timeline_range_charts', 'timeline_range_charts')->name('timeline_range_charts'); Route::view('to_do', 'to_do')->name('to_do'); Route::view('tooltips_popovers', 'tooltips_popovers')->name('tooltips_popovers'); Route::view('touch_spin', 'touch_spin')->name('touch_spin'); Route::view('tour', 'tour')->name('tour'); Route::view('tree-view', 'tree-view')->name('tree-view'); Route::view('treemap_chart', 'treemap_chart')->name('treemap_chart'); Route::view('two_step_verification', 'two_step_verification')->name('two_step_verification'); Route::view('two_step_verification_1', 'two_step_verification_1')->name('two_step_verification_1'); Route::view('typeahead', 'typeahead')->name('typeahead'); Route::view('video_embed', 'video_embed')->name('video_embed'); Route::view('weather_icon', 'weather_icon')->name('weather_icon'); Route::view('widget', 'widget')->name('widget'); Route::view('wishlist', 'wishlist')->name('wishlist'); Route::view('wrapper', 'wrapper')->name('wrapper'); Route::get('/borrame', [NominasController::class, 'borrame'])->name('sistema.mod.padel.gestion.nominas.borrame'); // Validar Inscripciones Route::post('/inscripcion/procesar', [AjustesController::class, 'procesarInscripcion'])->name('inscripcion.procesar'); Route::get('/inscripcion/estado/{uuid}', [AjustesController::class, 'procesarInscripcionC'])->name('inscripcion.procesarC'); // Agregas las rutas protegidas por autenticaci�n Route::middleware(['auth', 'verified'])->group(function () { Route::get('/dashboard', function () { return view('dashboard.principal'); })->name('dashboard'); Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); // Vista principal de la plataforma Route::get('/principal', function () { return view('dashboard.principal'); }); Route::get('/nada', function () { return view('dashboard.enblanco'); })->name('dashboard.enblanco'); // Editar Perfil Route::post('/perfil', [PerfilController::class, 'update'])->name('sistema.perfil.editar'); // MODERADOR Route::middleware(['web', RoleMiddleware::class . ':admin'])->group(function () { // --- INICIO DEL CÓDIGO DINÁMICO PARA MÓDULOS DE DEPORTES --- // 1. Define los deportes que usarán este conjunto de rutas. // Si en el futuro agregas otro deporte, solo necesitas añadirlo a este array. $sports = ['padel', 'tenis' , 'pickleball']; // 2. Itera sobre cada deporte para crear dinámicamente todo el grupo de rutas. foreach ($sports as $sport) { Route::prefix("mod/{$sport}") // Prefijo de URI dinámico (ej: mod/padel) ->name("sistema.mod.{$sport}.") // Prefijo de nombre dinámico (ej: sistema.mod.padel.) ->middleware(['web', PermissionMiddleware::class . ":moderador {$sport}"]) ->group(function () use ($sport) { // Pasamos $sport al closure para usarlo en el middleware interno // Grupo para todas las rutas de "gestión" Route::prefix('gestion') ->name('gestion.') ->middleware([PermissionMiddleware::class . ":moderador {$sport} gestion"]) ->group(function () { // === Gestión de Ajustes === Route::controller(AjustesController::class)->name('ajustes.')->group(function () { Route::get( '/ajustes', 'principal' )->name('principal'); Route::get( '/ajustes/{uuid}', 'principal')->name('edit'); Route::post('/ajustes', 'guardar' )->name('guardar'); }); // === Gestión de Sedes === Route::controller(SedesController::class)->prefix('sedes')->name('sedes.')->group(function () { Route::get( '/{uuid}', 'principal' )->name('principal'); Route::post('/{uuid}/agregar-dia', 'agregarDia' )->name('agregar-dia'); Route::post('/{uuid}/desactivar', 'desactivarSede' )->name('desactivar'); Route::post('/agregar-cancha', 'agregarCancha' )->name('agregar-cancha'); Route::post('/{uuid}/desactivar-cancha', 'desactivarCancha' )->name('desactivar-cancha'); Route::post('/agregar-restricciones', 'agregarRestricciones' )->name('agregar-restricciones'); Route::post('/{uuid}/store-sede-lista', 'storeSedeLista' )->name('store-sede-lista'); Route::put( '/{uuid}/update-sede-lista/{sede_uuid}', 'updateSedeLista')->name('update-sede-lista'); Route::get( '/{uuid}/show/{sede_uuid}', 'showSedeLista' )->name('show-sede-lista'); }); // === Gestión de Categorías === Route::controller(CategoriasController::class)->prefix('categorias')->name('categorias.')->group(function () { Route::get( '/{uuid}', 'principal' )->name('principal'); Route::post( '/{uuid}/nuevacat', 'nuevaCategoria' )->name('nuevacat'); Route::put( '/{uuid}/actcat', 'actCategoria' )->name('actcat'); Route::put( '/{uuid}/updateColor', 'updateColor' )->name('updateColor'); Route::put( '/guardarestructura/{id}', 'guardarEstructura' )->name('guardarestructura'); Route::get( '/{a_considerar}/calcularestructuras', 'calcularEstructuras' )->name('calcularestructuras'); Route::get( '/{id}/reglas', 'obtenerReglasJuego' )->name('reglas'); Route::get( '/{uuid}/categorias-disponibles', 'categoriasDisponibles' )->name('disponibles'); Route::post( '/{uuid}/agregar-acceso', 'agregarAcceso' )->name('agregar-acceso'); Route::delete('/{uuid}/eliminar-acceso/{categoria_lista_id}', 'eliminarAcceso')->name('eliminar-acceso'); Route::delete('/eliminar-categoria/{categoria_uuid}', 'eliminarCategoria' )->name('eliminar-categoria'); }); // === Gestión de Nóminas === Route::controller(NominasController::class)->prefix('nominas')->name('nominas.')->group(function () { Route::get( '/buscar_usuario', 'buscar_usuario' )->name('buscar_usuario'); Route::post('/inscribir', 'guardar' )->name('inscribir'); Route::post('/editar', 'editar' )->name('editar'); Route::post('/borrar', 'borrar' )->name('borrar'); Route::post('/mover', 'mover' )->name('mover'); Route::post('/act_nombre', 'actualizarNombre' )->name('act_nombre'); Route::post('/act_rnk', 'actualizarRanking' )->name('act_rnk'); Route::post('/act_ident', 'actualizarIdentificacion')->name('act_ident'); Route::post('/act_tel', 'actualizarNumero' )->name('act_tel'); Route::post('/act_mail', 'actualizarEmail' )->name('act_mail'); Route::post('/act_marca', 'actualizarMarca' )->name('act_marca'); Route::get( '/obt_rstr', 'obtenerRestricciones' )->name('obt_rstr'); Route::post('/g_rstr', 'guardarRestricciones' )->name('g_rstr'); Route::post('/ordenar', 'ordenar' )->name('ordenar'); Route::post('/verificar-jugador', 'verificarJugador')->name('verificar-jugador'); Route::post('/agregar-jugador', 'agregarJugador' )->name('agregar-jugador'); Route::get( '/exportar-excel', 'exportarExcel' )->name('exportar-excel'); Route::get( '/{uuid}', 'principal' )->name('principal'); // Sub-grupo para Marcas Route::prefix('marcas')->name('marcas.')->group(function () { Route::get( '/{uuid}', 'listarMarcas' )->name('listar'); Route::post('/guardar', 'guardarMarca' )->name('guardar'); Route::post('/editar/{uuid}', 'editarMarca' )->name('editar'); Route::post('/eliminar/{uuid}', 'eliminarMarca' )->name('eliminar'); Route::post('/toggle/{uuid}', 'toggleMarca' )->name('toggle'); Route::post('/reset/{uuid}', 'resetMarca' )->name('reset'); Route::post('/aplicar/{uuid}', 'aplicarMarca' )->name('aplicar'); Route::post('/reset-general/{uuid}', 'resetGeneral')->name('reset-general'); }); }); // === Gestión de Fixture === Route::controller(FixtureController::class)->prefix('fixture')->name('fixture.')->group(function () { Route::get( '/{uuid}', 'principal' )->name('principal'); Route::get( '/links', 'getFixtureLinks' )->name('links'); Route::post('/generar', 'generateFixture' )->name('generar'); Route::post('/toggle-bloqueo', 'toggleBloqueo' )->name('toggle'); Route::post('/programar-grupos', 'programarGrupos' )->name('programar-grupos'); Route::post('/programar-eliminatorias', 'programarEliminatorias' )->name('programar-eliminatorias'); Route::post('/reset', 'reset' )->name('reset'); Route::post('/reset-total', 'resetTotal' )->name('reset-total'); Route::post('/reiniciar-avanzado', 'reiniciarAvanzado' )->name('reiniciarAvanzado'); Route::post('/optimizar-programacion', 'optimizarProgramacion' )->name('optimizar-programacion'); Route::post('/get-categorias-no-programadas', 'getCategoriasNoProgramadas')->name('categorias'); Route::post('/get-partidos-no-programados', 'getPartidosNoProgramados' )->name('partidos'); Route::post('/agregar-partido', 'agregarPartido' )->name('agregar'); Route::post('/validar-movimiento', 'validarMovimiento' )->name('validar-movimiento'); Route::post('/mover-partido', 'moverPartido' )->name('mover'); Route::post('/iniciar-partido', 'iniciarPartido' )->name('iniciar'); Route::post('/get-partido-duelo', 'getPartidoDuelo' )->name('duelo'); Route::post('/registrar-resultado', 'registrarResultado' )->name('resultado'); Route::post('/ranking-grupos', 'getRankingGrupos' )->name('ranking-grupos'); }); // === Gestión de Ranking === Route::controller(RankingController::class)->prefix('ranking')->name('ranking.')->group(function () { Route::get( '/{uuid}', 'principal' )->name('principal'); Route::post( '/{uuid}', 'store' )->name('store'); Route::patch( '/{uuid}/{ranking_uuid}', 'update' )->name('update'); Route::delete('/{uuid}/{ranking_uuid}', 'destroy' )->name('destroy'); Route::post( '/asociar/{uuid}', 'asociarRanking' )->name('asociar'); Route::post( '/desasociar/{uuid}', 'desasociarRanking' )->name('desasociar'); Route::post( '/aplicar/{uuid}', 'aplicarRanking' )->name('aplicar'); Route::patch( '/manual/{uuid}/{ranking_uuid}', 'updateManual')->name('manual'); }); // === Gestión de Notificaciones === Route::controller(NotificacionController::class)->prefix('notificaciones')->name('notificaciones.')->group(function () { Route::get( '/{uuid}', 'principal' )->name('principal'); Route::post('/{uuid}/obtener', 'obtenerNotificaciones' )->name('obtener'); Route::post('/{uuid}/enviar/{notificacion_uuid}', 'enviarNotificacion')->name('enviar'); Route::post('/{uuid}/notificar-todos', 'notificarTodos' )->name('notificar-todos'); }); // === Gestión de Logs === Route::get('/logs/{uuid}', [LogsController::class, 'principal'])->name('logs'); }); }); } // Ruta genérica que se mantiene fuera del bucle Route::get('/descargar-reglas-pdf/{id}', [CategoriasController::class, 'descargarReglasPDF'])->name('descargar.reglas.pdf'); // --- FIN DEL CÓDIGO DINÁMICO --- }); // ADMINISTRADOR Route::middleware(['web', RoleMiddleware::class . ':admin'])->group(function () { Route::get( '/admin/mods', [ModsController::class, 'principal'])->name( 'sistema.admin.mods'); Route::put( '/admin/mods/usuarios/{user}', [ModsController::class, 'update'])->name( 'sistema.admin.mods.update'); Route::delete('/admin/mods/usuarios/{user}', [ModsController::class, 'destroy'])->name( 'sistema.admin.mods.destroy'); Route::delete('/admin/mods/whatsapp/{id}', [ModsController::class, 'destroyWhatsapp'])->name( 'sistema.admin.mods.whatsapp.destroy'); Route::get( '/admin/mods/asignar', [ModsController::class, 'mostrarFormularioAsignacion'])->name('sistema.admin.mods.asignar.form'); Route::post( '/admin/mods/asignar', [ModsController::class, 'asignarRol'])->name( 'sistema.admin.mods.asignar.rol'); Route::get( '/admin/mods/buscar_usuario', [ModsController::class, 'buscar_usuario'])->name( 'sistema.admin.mods.buscar_usuario'); }); // CEO Route::middleware(['web', RoleMiddleware::class . ':ceo'])->group(function () { Route::get( '/ceo/admins', [AdminsController::class, 'principal'])->name( 'sistema.ceo.admins'); Route::put( '/ceo/admins/usuarios/{user}', [AdminsController::class, 'update'])->name( 'sistema.ceo.admins.update'); Route::delete('/ceo/admins/usuarios/{user}', [AdminsController::class, 'destroy'])->name( 'sistema.ceo.admins.destroy'); Route::delete('/ceo/admins/whatsapp/{id}', [AdminsController::class, 'destroyWhatsapp'])->name( 'sistema.ceo.admins.whatsapp.destroy'); Route::get( '/ceo/admins/asignar', [AdminsController::class, 'mostrarFormularioAsignacion'])->name('sistema.ceo.admins.asignar.form'); Route::post( '/ceo/admins/asignar', [AdminsController::class, 'asignarRol'])->name( 'sistema.ceo.admins.asignar.rol'); Route::get( '/ceo/admins/buscar_usuario', [AdminsController::class, 'buscar_usuario'])->name( 'sistema.ceo.admins.buscar_usuario'); Route::get( '/ceo/usuarios', [AdminsController::class, 'principal'])->name( 'sistema.ceo.usuarios'); Route::get( '/ceo/estadisticas', [AdminsController::class, 'principal'])->name( 'sistema.ceo.estadisticas'); }); // DIOS Route::middleware(['web', RoleMiddleware::class . ':dios'])->group(function () { Route::get( '/dios/ceo', [CeoController::class, 'principal'])->name( 'sistema.dios.ceo'); Route::put( '/dios/ceo/usuarios/{user}', [CeoController::class, 'update'])->name( 'sistema.dios.ceo.update'); Route::delete('/dios/ceo/usuarios/{user}', [CeoController::class, 'destroy'])->name( 'sistema.dios.ceo.destroy'); Route::delete('/dios/ceo/whatsapp/{id}', [CeoController::class, 'destroyWhatsapp'])->name( 'sistema.dios.ceo.whatsapp.destroy'); Route::get( '/dios/ceo/asignar', [CeoController::class, 'mostrarFormularioAsignacion'])->name('sistema.dios.ceo.asignar.form'); Route::post( '/dios/ceo/asignar', [CeoController::class, 'asignarRol'])->name( 'sistema.dios.ceo.asignar.rol'); Route::get( '/dios/ceo/buscar_usuario', [CeoController::class, 'buscar_usuario'])->name( 'sistema.dios.ceo.buscar_usuario'); Route::get( '/dios/dios', [DiosController::class, 'principal'])->name( 'sistema.dios.dios'); Route::put( '/dios/dios/usuarios/{user}', [DiosController::class, 'update'])->name( 'sistema.dios.dios.update'); Route::delete('/dios/dios/usuarios/{user}', [DiosController::class, 'destroy'])->name( 'sistema.dios.dios.destroy'); Route::delete('/dios/dios/whatsapp/{id}', [DiosController::class, 'destroyWhatsapp'])->name( 'sistema.dios.dios.whatsapp.destroy'); Route::get( '/dios/dios/asignar', [DiosController::class, 'mostrarFormularioAsignacion'])->name('sistema.dios.dios.asignar.form'); Route::post( '/dios/dios/asignar', [DiosController::class, 'asignarRol'])->name( 'sistema.dios.dios.asignar.rol'); Route::get( '/dios/dios/buscar_usuario', [DiosController::class, 'buscar_usuario'])->name( 'sistema.dios.dios.buscar_usuario'); }); // Cambiar Idioma Route::post('/idioma/cambiar', function (\Illuminate\Http\Request $request) { $idioma = $request->input('idioma'); if (!array_key_exists($idioma, config('idiomas'))) { abort(400, 'Idioma no v�lido'); } if (auth()->check()) { auth()->user()->detalle()->updateOrCreate([], ['idioma' => $idioma]); } Cookie::queue('idioma', $idioma, 60 * 24 * 30); // persistencia: 30 d�as return back(); })->name('cambiar.idioma'); }); Route::get('/test-livewire', function () { return view('test'); }); Route::post('/ole', [AjustesController::class, 'obtieneOLE'])->name('sistema.eventos.fechas_ole'); Route::get('/f/{key}',[AjustesController::class, 'obtieneFechasClave'])->name('sistema.eventos.fechas_clave'); Route::post('/r/{key}',[AjustesController::class, 'obtieneDatosRegistro'])->name('sistema.eventos.datos_registro'); // Importa también las rutas generadas por Breeze require __DIR__.'/auth.php';