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
Some checks failed
/ Deploy to Cloudflare Pages (push) Has been cancelled
This commit is contained in:
@@ -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 ImportPage — ya 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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user