Etapa 0 aprobada condicionalmente. Queda pendiente tu validación visual: abrí /library en https://inq-roi.inqualityhq.com y confirmá que el footer muestra InQ ROI · Powered by InQuality · v0.8.0 · Hecho desde Paraguay 🇵🇾.
Some checks failed
/ Deploy to Cloudflare Pages (push) Has been cancelled

This commit is contained in:
2026-07-07 17:55:19 -03:00
parent 10e477cc45
commit d64078d96a
6 changed files with 117 additions and 284 deletions

View File

@@ -47,40 +47,34 @@ export const APP_VERSION = '0.8.0'
Si Vite ya expone `import.meta.env.VITE_APP_VERSION` o similar, usar ese mecanismo. Si no, usar la constante string — es más simple y suficiente para el caso de uso.
### 3. Crear `src/components/AppFooter.tsx`
### 3. Actualizar `src/components/AppFooter.tsx`
Componente discreto, una sola línea, esquina inferior. Visible en todas las páginas.
**Diseño:**
- Texto: `InQ ROI v0.8.0 · Powered by InQuality`
- Tipografía: `text-xs text-muted-foreground`
- Alineación: centrado o derecha, `py-4`
- Sin borde superior ni decoración adicional
El componente **ya existe** con versión hardcodeada `v0.1.0`. Solo cambiar la versión hardcodeada por la constante de `version.ts`. Mantener el resto del texto y estilos exactamente igual.
```tsx
import { APP_VERSION } from '@/lib/version'
export function AppFooter() {
return (
<footer className="w-full py-4 text-center">
<p className="text-xs text-muted-foreground">
InQ ROI v{APP_VERSION} · Powered by InQuality
<footer className="mt-12 py-4 border-t border-slate-100 text-center">
<p className="text-xs text-slate-400">
InQ ROI · Powered by InQuality · v{APP_VERSION} · Hecho desde Paraguay 🇵🇾
</p>
</footer>
)
}
```
### 4. Integrar `AppFooter` en las páginas principales
**NO cambiar** el texto, los estilos, ni el formato — solo reemplazar `v0.1.0` por `v{APP_VERSION}`.
Agregar `<AppFooter />` al final del layout o directamente en las páginas indicadas. Mínimo obligatorio:
### 4. Agregar `AppFooter` a LibraryPage
- `LibraryPage.tsx` — antes del cierre del contenedor principal
- `ReportPage.tsx` — antes del cierre del contenedor principal
El componente ya está integrado en `ReportPage.tsx` e `ImportPage.tsx`. Falta en LibraryPage.
Si existe un layout compartido que envuelva todas las páginas (verificar en `router.tsx` o `App.tsx`), preferir ponerlo ahí una sola vez. Si no existe layout compartido, agregar en las dos páginas listadas.
- `LibraryPage.tsx` — importar `AppFooter` y agregarlo antes del cierre del contenedor principal
**NO modificar** el header `AppHeader.tsx`la versión va en el footer, no en el header.
**NO tocar** ReportPage ni ImportPageya tienen `<AppFooter />`.
**NO modificar** `AppHeader.tsx`.
### 5. Crear `CHANGELOG.md`
@@ -233,18 +227,17 @@ Verificar específicamente que diga:
```
simulador-web/
├── package.json ← actualizar "version"
├── package.json ← actualizar "version" a "0.8.0"
├── CHANGELOG.md ← crear
├── src/
│ ├── lib/
│ │ └── version.ts ← crear
│ └── components/
│ └── AppFooter.tsx ← crear
── src/features/library/LibraryPage.tsx ← agregar <AppFooter /> al final
├── src/features/report/ReportPage.tsx ← agregar <AppFooter /> al final
│ └── AppFooter.tsx ← actualizar (solo versión dinámica)
── src/features/library/LibraryPage.tsx ← agregar <AppFooter /> al final
```
Si existe un layout global donde sea más correcto poner `AppFooter`, se puede usar en lugar de modificar LibraryPage y ReportPage — pero reportar la decisión antes de ejecutar (Nivel 2).
**No hay otros archivos para tocar en esta etapa.** ReportPage e ImportPage ya tienen `<AppFooter />` y no se modifican.
---