template-saas/docs/05-frontend/pages/PAGE-STORAGE.md
Adrian Flores Cortes 0ead18e28f [SPRINT-3] docs: Add page specifications and dead code analysis
## 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>
2026-02-03 20:27:51 -06:00

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*