## ST-3.3 Documentation (3 SP) - Add 11 page specification files documenting 25 pages - Create docs/05-frontend/pages/ directory - Specs: Goals, MLM, Portfolio, RBAC, Notifications, Analytics, Audit, Storage, Webhooks, Settings - Add _INDEX.md with complete listing ## ST-3.4 Dead Code Analysis (1 SP) - Analyze usePortfolio hook usage (18/21 functions used) - Document components ready for future use - Decision: Keep all code as preparation for features - Create DEAD-CODE-REPORT.md ## Frontend Submodule - WCAG improvements (11 files) - 160 unit tests (8 new test files) Sprint 3 (P2) completed: 14 SP Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
89 lines
2.4 KiB
Markdown
89 lines
2.4 KiB
Markdown
# Storage Page Specification
|
|
|
|
**Modulo:** storage
|
|
**Ultima actualizacion:** 2026-02-03
|
|
**Total Paginas:** 1
|
|
|
|
---
|
|
|
|
## StoragePage
|
|
|
|
**Ruta:** `/dashboard/storage`
|
|
**Archivo:** `src/pages/dashboard/StoragePage.tsx`
|
|
|
|
### Descripcion
|
|
Gestion de archivos del tenant. Permite subir, listar, filtrar, descargar y eliminar archivos con visualizacion del uso de almacenamiento.
|
|
|
|
### Componentes Utilizados
|
|
- FileList - Tabla/grid de archivos
|
|
- FileUpload - Zona de drag & drop
|
|
- FileItem - Item individual de archivo
|
|
- StorageUsageCard - Tarjeta de uso de storage
|
|
|
|
### Hooks Utilizados
|
|
- `useFiles(filters)` - Lista archivos con filtros
|
|
- `useUpload()` - Sube archivos
|
|
- `useStorageUsage()` - Obtiene uso de storage
|
|
- `useDeleteFile()` - Elimina archivo
|
|
|
|
### Funcionalidades
|
|
1. Subir archivos via drag & drop o click
|
|
2. Listar archivos con paginacion
|
|
3. Filtrar por carpeta/tipo de archivo
|
|
4. Buscar por nombre
|
|
5. Descargar archivos
|
|
6. Eliminar archivos con confirmacion
|
|
7. Ver uso de storage vs limite del plan
|
|
8. Preview de imagenes
|
|
9. Ver metadata (tamano, tipo, fecha)
|
|
|
|
### Estados
|
|
- Loading: Spinner en lista
|
|
- Uploading: Progress bar durante upload
|
|
- Success: Lista de archivos
|
|
- Empty: Mensaje "No files uploaded"
|
|
- Storage Full: Warning cuando esta lleno
|
|
|
|
### Acciones del Usuario
|
|
| Accion | Resultado |
|
|
|--------|-----------|
|
|
| Drag & drop archivo | Inicia upload |
|
|
| Click zona upload | Abre file picker |
|
|
| Click descargar | Descarga archivo |
|
|
| Click eliminar | Confirm + elimina |
|
|
| Filtrar por tipo | Filtra lista |
|
|
| Buscar | Filtra por nombre |
|
|
| Previous/Next | Cambia pagina |
|
|
|
|
### Permisos Requeridos
|
|
- `storage:read` - Ver archivos
|
|
- `storage:write` - Subir archivos
|
|
- `storage:delete` - Eliminar archivos
|
|
|
|
### Tipos de Archivo Soportados
|
|
|
|
| Categoria | Extensiones | MIME Types |
|
|
|-----------|-------------|------------|
|
|
| Images | jpg, jpeg, png, gif, webp | image/* |
|
|
| Documents | pdf, doc, docx, xls, xlsx | application/* |
|
|
| Text | txt, csv, json | text/* |
|
|
| Archives | zip, rar, tar, gz | application/* |
|
|
|
|
### Limites por Plan
|
|
|
|
| Plan | Storage | Max File Size |
|
|
|------|---------|---------------|
|
|
| Free | 1 GB | 10 MB |
|
|
| Pro | 10 GB | 100 MB |
|
|
| Enterprise | 100 GB | 1 GB |
|
|
|
|
### Notas
|
|
- Los archivos son privados por tenant (RLS)
|
|
- Los uploads usan presigned URLs para eficiencia
|
|
- Se genera thumbnail automatico para imagenes
|
|
- Los archivos eliminados van a "trash" por 30 dias
|
|
|
|
---
|
|
|
|
*Documentacion generada - Template SaaS - 2026-02-03*
|