Lista de issues pendientes organizados por módulo. Cada issue es 100% independiente y solo depende de su contraparte en el API.
- Página
/forgot-passwordcon formulario de email - Página
/reset-password?token=xxxpara nueva contraseña - Validación de formularios
- Mensajes de éxito/error
- Redirección a login tras reset exitoso
Archivos:
src/app/(auth)/forgot-password/page.tsxsrc/app/(auth)/reset-password/page.tsxsrc/lib/api/auth.ts- AgregarforgotPassword(),resetPassword()
Dependencia API: API-001
- Banner en dashboard si email no verificado
- Botón "Reenviar verificación"
- Página
/verify-email?token=xxx - Toast de confirmación
Archivos:
src/components/auth/EmailVerificationBanner.tsxsrc/app/(auth)/verify-email/page.tsxsrc/lib/api/auth.ts- AgregarsendVerification(),verifyEmail()
Dependencia API: API-002
- Página
/app/settings/sessions - Lista de sesiones activas con device info
- Botón "Cerrar sesión" por cada una
- Botón "Cerrar todas las sesiones"
- Confirmación modal
Archivos:
src/app/app/settings/sessions/page.tsxsrc/components/settings/SessionCard.tsxsrc/lib/api/auth.ts- AgregargetSessions(),deleteSession(),deleteAllSessions()
Dependencia API: API-003
- Sección en
/app/settings/security - Formulario: contraseña actual, nueva, confirmar
- Validación de requisitos de contraseña
- Toast de confirmación
Archivos:
src/app/app/settings/security/page.tsxsrc/components/settings/ChangePasswordForm.tsxsrc/lib/api/auth.ts- AgregarchangePassword()
Dependencia API: API-004
- Componente
ProfileCompletenesscon barra de progreso - Lista de campos faltantes con links
- Mostrar en sidebar o dashboard
- Gamificación visual
Archivos:
src/components/profile/ProfileCompleteness.tsxsrc/lib/api/users.ts- AgregargetProfileCompleteness()
Dependencia API: API-005
- Sección en
/app/profile/edit - Input con autocompletado de skills
- Tags editables con nivel (Beginner, Intermediate, Expert)
- Drag and drop para reordenar
Archivos:
src/components/profile/SkillsManager.tsxsrc/components/profile/SkillTag.tsxsrc/lib/api/users.ts- AgregargetSkills(),addSkill(),removeSkill()
Dependencia API: API-006
- Sección en
/app/profile/edit - Toggle "Disponible para trabajar"
- Input "Horas por semana"
- Selector de timezone
- Horarios preferidos
Archivos:
src/components/profile/AvailabilitySettings.tsxsrc/lib/api/users.ts- AgregargetAvailability(),updateAvailability()
Dependencia API: API-007
- Página
/app/portfolio - Grid de proyectos con thumbnails
- Modal/página para crear/editar proyecto
- Formulario: título, descripción, links, tags
- Confirmación de eliminación
Archivos:
src/app/app/portfolio/page.tsxsrc/app/app/portfolio/new/page.tsxsrc/app/app/portfolio/[id]/edit/page.tsxsrc/components/portfolio/PortfolioCard.tsxsrc/components/portfolio/PortfolioForm.tsxsrc/lib/api/portfolio.ts
Dependencia API: API-008
- Dropzone en formulario de portfolio
- Preview de imágenes
- Reordenar imágenes
- Eliminar imágenes
- Progress bar de upload
Archivos:
src/components/portfolio/ImageUploader.tsxsrc/components/portfolio/ImageGallery.tsxsrc/lib/api/portfolio.ts- AgregaruploadImages(),deleteImage()
Dependencia API: API-009
- Página
/marketplace/freelancers/[id]/portfolio - Gallery con lightbox
- Links a proyectos externos
- Navegación entre proyectos
Archivos:
src/app/marketplace/freelancers/[id]/portfolio/page.tsxsrc/components/portfolio/PortfolioGallery.tsx
Dependencia API: API-010
- Página
/app/messages - Sidebar con lista de conversaciones
- Preview de último mensaje
- Badge de mensajes no leídos
- Ordenar por actividad reciente
Archivos:
src/app/app/messages/page.tsxsrc/components/chat/ConversationList.tsxsrc/components/chat/ConversationItem.tsxsrc/lib/api/chat.tssrc/stores/chat-store.ts
Dependencia API: API-011
- Vista de mensajes en
/app/messages/[conversationId] - Input de mensaje con submit
- Scroll automático a nuevos mensajes
- Timestamps
- Indicador de envío
Archivos:
src/app/app/messages/[id]/page.tsxsrc/components/chat/MessageThread.tsxsrc/components/chat/MessageInput.tsxsrc/components/chat/MessageBubble.tsx
Dependencia API: API-012
- Conexión SSE para mensajes en tiempo real
- Actualización automática de lista
- Indicador "escribiendo..."
- Reconexión automática
Archivos:
src/hooks/useChatSSE.tssrc/components/chat/TypingIndicator.tsx
Dependencia API: API-013
- Checkmarks en mensajes (enviado, leído)
- Marcar como leído al ver
- Actualizar badge de no leídos
Archivos:
src/components/chat/ReadReceipt.tsxsrc/hooks/useMarkAsRead.ts
Dependencia API: API-014
- Botón de adjuntar archivo
- Preview de archivo antes de enviar
- Mostrar attachments en mensajes
- Descargar attachments
Archivos:
src/components/chat/AttachmentButton.tsxsrc/components/chat/AttachmentPreview.tsxsrc/components/chat/MessageAttachment.tsx
Dependencia API: API-015
- Dropdown de notificaciones en navbar
- Lista con icono, título, tiempo
- Marcar como leída al hacer clic
- "Marcar todas como leídas"
- Badge contador
Archivos:
src/components/notifications/NotificationDropdown.tsxsrc/components/notifications/NotificationItem.tsxsrc/lib/api/notifications.tssrc/stores/notification-store.ts
Dependencia API: API-016
- Conexión SSE para notificaciones
- Toast al recibir nueva notificación
- Sonido opcional
- Actualizar badge en tiempo real
Archivos:
src/hooks/useNotificationSSE.tssrc/components/notifications/NotificationToast.tsx
Dependencia API: API-018
- Página
/app/settings/notifications - Toggles por tipo de notificación
- Opciones: email, push, in-app
Archivos:
src/app/app/settings/notifications/page.tsxsrc/components/settings/NotificationPreferences.tsx
Dependencia API: API-019
- Modal después de completar order
- Rating con estrellas (1-5)
- Textarea para comentario
- Botón submit
Archivos:
src/components/reviews/LeaveReviewModal.tsxsrc/components/reviews/StarRating.tsxsrc/lib/api/reviews.ts
Dependencia API: API-020
- Formulario de respuesta en review recibido
- Mostrar respuesta debajo del review
- Solo owner puede responder
Archivos:
src/components/reviews/ReviewResponse.tsxsrc/components/reviews/ReviewResponseForm.tsx
Dependencia API: API-021
- Sección de reviews en perfil público
- Filtros: rating, fecha
- Paginación
- Rating promedio destacado
Archivos:
src/app/marketplace/freelancers/[id]/reviews/page.tsxsrc/components/reviews/ReviewList.tsxsrc/components/reviews/ReviewCard.tsxsrc/components/reviews/RatingStats.tsx
Dependencia API: API-022
- Botón "Abrir disputa" en order
- Modal con formulario: razón, descripción
- Confirmación de apertura
Archivos:
src/components/disputes/OpenDisputeModal.tsxsrc/lib/api/disputes.ts
Dependencia API: API-023
- Sección en detalle de disputa
- Dropzone para archivos
- Lista de evidencias subidas
- Preview de imágenes/PDFs
Archivos:
src/components/disputes/EvidenceUploader.tsxsrc/components/disputes/EvidenceList.tsxsrc/components/disputes/EvidenceItem.tsx
Dependencia API: API-024
- Página
/app/disputes - Lista de disputas del usuario
- Página
/app/disputes/[id]con detalle - Timeline de estados
- Resolución final
Archivos:
src/app/app/disputes/page.tsxsrc/app/app/disputes/[id]/page.tsxsrc/components/disputes/DisputeCard.tsxsrc/components/disputes/DisputeTimeline.tsx
Dependencia API: API-025
- Página
/app/wallet - Balance disponible y reservado
- Gráfico de ingresos/gastos
- Transacciones recientes
- Estadísticas del mes
Archivos:
src/app/app/wallet/page.tsxsrc/components/wallet/BalanceCard.tsxsrc/components/wallet/BalanceChart.tsxsrc/components/wallet/RecentTransactions.tsxsrc/lib/api/wallet.ts
Dependencia API: API-026
- Página
/app/wallet/transactions - Tabla/lista de transacciones
- Filtros: tipo, fecha, monto
- Paginación
- Exportar a CSV
Archivos:
src/app/app/wallet/transactions/page.tsxsrc/components/wallet/TransactionList.tsxsrc/components/wallet/TransactionFilters.tsxsrc/components/wallet/TransactionItem.tsx
Dependencia API: API-027
- Modal/página de retiro
- Input de monto
- Validación vs balance disponible
- Selección de método
- Confirmación
Archivos:
src/components/wallet/WithdrawModal.tsxsrc/components/wallet/WithdrawForm.tsx
Dependencia API: API-028
- Página
/app/dashboardpara freelancers - Cards: aplicaciones activas, orders, ingresos, rating
- Ofertas recomendadas
- Actividad reciente
Archivos:
src/app/app/dashboard/page.tsxsrc/components/dashboard/FreelancerDashboard.tsxsrc/components/dashboard/StatsCard.tsxsrc/components/dashboard/RecommendedOffers.tsxsrc/lib/api/dashboard.ts
Dependencia API: API-029
- Dashboard para clientes
- Cards: ofertas activas, aplicaciones pendientes, orders, gastos
- Freelancers recomendados
- Actividad reciente
Archivos:
src/components/dashboard/ClientDashboard.tsxsrc/components/dashboard/RecommendedFreelancers.tsx
Dependencia API: API-030
- Página
/app/settings/preferences - Selector de idioma
- Selector de timezone
- Selector de moneda
- Selector de tema (light/dark)
Archivos:
src/app/app/settings/preferences/page.tsxsrc/components/settings/PreferencesForm.tsxsrc/lib/api/settings.ts
Dependencia API: API-031
- Matriz de preferencias por tipo y canal
- Toggles organizados por sección
- Guardar automático
Archivos:
src/components/settings/NotificationMatrix.tsx
Dependencia API: API-032
- Sección en
/app/settings/account - Botón "Eliminar cuenta"
- Modal de confirmación con input de password
- Warning sobre datos perdidos
Archivos:
src/app/app/settings/account/page.tsxsrc/components/settings/DeleteAccountModal.tsx
Dependencia API: API-033
- Página
/search - Input de búsqueda
- Sidebar de filtros
- Tabs: Ofertas, Servicios, Freelancers
- Grid de resultados
- Ordenamiento
Archivos:
src/app/search/page.tsxsrc/components/search/SearchInput.tsxsrc/components/search/SearchFilters.tsxsrc/components/search/SearchResults.tsxsrc/lib/api/search.ts
Dependencia API: API-034
- Dropdown de sugerencias mientras escribe
- Búsquedas populares
- Búsquedas recientes del usuario
- Keyboard navigation
Archivos:
src/components/search/SearchSuggestions.tsxsrc/hooks/useSearchSuggestions.ts
Dependencia API: API-035
- Botón de favorito en cards (corazón)
- Página
/app/favorites - Tabs: Ofertas, Servicios, Freelancers
- Gestión de favoritos
Archivos:
src/components/ui/FavoriteButton.tsxsrc/app/app/favorites/page.tsxsrc/components/favorites/FavoritesList.tsxsrc/lib/api/favorites.tssrc/stores/favorites-store.ts
Dependencia API: API-036
- Card en dashboard de freelancer
- Gráfico de vistas por día
- Comparativa con período anterior
Archivos:
src/components/analytics/ProfileViewsCard.tsxsrc/components/analytics/ViewsChart.tsxsrc/lib/api/analytics.ts
Dependencia API: API-037
- Página
/app/analytics/earnings - Gráfico de ingresos por mes
- Breakdown por cliente
- Breakdown por servicio
- Comparativas
Archivos:
src/app/app/analytics/page.tsxsrc/components/analytics/EarningsChart.tsxsrc/components/analytics/EarningsBreakdown.tsx
Dependencia API: API-038
- Página
/admin/users - Tabla de usuarios con búsqueda
- Acciones: ver, editar, banear/desbanear
- Modal de edición
- Confirmación de ban
Archivos:
src/app/admin/users/page.tsxsrc/components/admin/UsersTable.tsxsrc/components/admin/UserEditModal.tsxsrc/components/admin/BanUserModal.tsxsrc/lib/api/admin.ts
Dependencia API: API-039
- Página
/admin/disputes - Lista de disputas abiertas
- Detalle de disputa con evidencias
- Formulario de resolución
Archivos:
src/app/admin/disputes/page.tsxsrc/app/admin/disputes/[id]/page.tsxsrc/components/admin/DisputeResolutionForm.tsx
Dependencia API: API-040
- Página
/admin/analytics - Dashboard con métricas de plataforma
- Usuarios activos, transacciones, ingresos
- Gráficos de tendencias
Archivos:
src/app/admin/analytics/page.tsxsrc/components/admin/PlatformStats.tsxsrc/components/admin/TrendsChart.tsx
Dependencia API: API-041
- FE-001 - Password Reset
- FE-011 - Chat UI Base
- FE-012 - Message Thread
- FE-016 - Notifications UI
- FE-019 - Leave Review
- FE-025 - Wallet Dashboard
- FE-008 - Portfolio CRUD
- FE-022 - Open Dispute
- FE-028 - Freelancer Dashboard
- FE-029 - Client Dashboard
- FE-033 - Advanced Search
- FE-035 - Favorites
- FE-036 - Profile Views
- FE-038 - Admin Users