Skip to main content

Panel Feedback

Descripción

Panel de administración de feedback recibido desde la app mobile y el FAB flotante web. Muestra tabla paginada con filtro de búsqueda textual, barra de estadísticas (total, pendientes, convertidos, en desarrollo), modal de detalle y modal de conversión feedback → idea del backlog. El FAB flotante permite a usuarios web enviar feedback tipo mejora o apoyo desde cualquier página.

Componentes

ComponenteRutaPropósito
FeedbackDataPagecomponents/feedback/feedback-data-page.tsxPágina de listado con tabla, stats y modales
FeedbackConvertModalcomponents/feedback/feedback-convert-modal.tsxModal de conversión feedback → idea
FeedbackModalcomponents/feedback/feedback-modal.tsxModal de envío de feedback desde FAB
FloatingFeedbackBtncomponents/ui/floating-feedback-btn.tsxFAB flotante en esquina inferior derecha

FeedbackDataPage

Tabla con columnas:

ColumnaRender
Serial#feedback.serial || feedback._id.slice(-4) (mono)
Títulofeedback.title (truncado max 180px)
DescripciónTruncada a 100 caracteres con
TipoBadge Mejora (feature) / Apoyo (support)
EstadoBadge Convertido (con ideaId) / Pendiente
Acciones👁️ Ver detalle y 📝 Convertir a Idea

Barra de estadísticas (4 cards en grid):

CardColor
Feedback TotalGris
PendientesÁmbar
ConvertidosVerde
En Desarrollo (backlog)Índigo

Búsqueda: input con icono SearchIcon, botón de limpiar XCircleIcon, llama a GET /api/feedback/search/term?searchTerm=....

Modal de detalle: overlay fijo con información completa del feedback (serial, tipo, título, descripción, fecha, estado) y botón "Convertir a Idea" si está pendiente.

FeedbackConvertModal

Modal de conversión con formulario:

  • Título — pre-poblado desde feedback, editable
  • Descripción — pre-poblada desde feedback, editable
  • Prioridad — select: 🔴 Alta, 🟡 Media, 🟢 Baja
  • Tags — input con AutocompleteTags que sugiere tags disponibles desde getAvailableTags()

Al confirmar, llama a convertFeedbackToIdea(feedbackId, payload). Muestra toast de éxito con el ID de la idea creada.

FloatingFeedbackBtn (vibra-073)

FAB posicionado fixed bottom-24 right-6 z-50. Al hacer clic, expande dos opciones:

OpciónÍconoColor hover
Enviar apoyo💬Verde
Sugerir mejoraAzul

Al seleccionar, abre FeedbackModal con el tipo correspondiente. El modal envía POST /api/feedback con { title, description, isFeature, isSupport, createdBy }.

Integración API

FunciónMétodoUso
GET /api/feedback?page=&rows=GETLista paginada de feedbacks
GET /api/feedback/search/termGETBúsqueda textual
POST /api/feedbackPOSTEnviar feedback desde FAB
convertFeedbackToIdea(id, payload)POSTConvertir feedback a idea
getIdeasStatus()GETConteo de ideas "en desarrollo"
getAvailableTags()GETTags disponibles para autocompletar