User Management Component - Copy this React, Tailwind Component to your project
"Crea una interfaz de usuario que integre las siguientes funcionalidades en una sola página: 1. Gestión de Usuarios: Formulario para Registrar Usuarios: Incluye campos para nombre, correo electrónico y contraseña. Asegúrate de implementar validaciones para cada campo y mostrar mensajes de error si es necesario. Lista de Usuarios Existentes: Muestra una tabla con todos los usuarios registrados, donde cada fila contenga opciones para visualizar, modificar y eliminar cada usuario. Implementa un botón para asignar roles a los usuarios directamente desde la lista. Perfil del Usuario Actual: Sección dedicada para mostrar y modificar el perfil del usuario actual, permitiendo cambios en su información personal y configuración. 2. Panel de Notificaciones: Navbar o Panel Lateral: Incluye un panel o navbar en la parte superior o lateral de la interfaz que muestre la foto de perfil del usuario actual junto con un ícono de notificaciones. Contador de Notificaciones: Muestra el número total de notificaciones no leídas junto al ícono de notificaciones. Lista Desplegable de Notificaciones Recientes: Al hacer clic en el ícono, despliega una lista con las notificaciones más recientes. Cada notificación debe incluir: Breve descripción Tiempo transcurrido desde que se recibió (por ejemplo, "Hace 5 minutos"). Un ícono de ojo para ver detalles específicos de la notificación. Modal para Detalles de Notificación: Al hacer clic en el ícono del ojo, muestra un modal que contenga información detallada sobre la notificación seleccionada. Eliminar Notificaciones: Incluye un ícono de papelera junto a cada notificación para eliminar esa notificación específica. Agrega un botón en la parte inferior del panel que permita limpiar todas las notificaciones a la vez, mostrando una confirmación antes de proceder. Requisitos adicionales: Asegúrate de manejar errores y mostrar mensajes informativos al usuario en todas las interacciones. Utiliza un diseño responsivo que se adapte a diferentes tamaños de pantalla, asegurando una buena experiencia en dispositivos móviles y de escritorio."
