diff --git a/app/globals.css b/app/globals.css index 842f4c4..58fe01d 100644 --- a/app/globals.css +++ b/app/globals.css @@ -2,18 +2,27 @@ /* ── Tokens ── */ :root { + /* ── Marca RE ── */ + --color-re-teal: #43BBC8; + --color-re-dark: #494F4F; + --color-re-orange: #F8AD13; + --color-re-orange-intense: #EE761A; + --color-re-light: #E7E6E5; + --color-re-white: #FFFFFF; + + /* ── Sistema (primario = teal RE) ── */ --color-bg: #f9fafb; --color-surface: #ffffff; --color-text: #111827; --color-text-muted: #6b7280; - --color-primary: #1d4ed8; - --color-primary-hover: #1e40af; - --color-primary-light: #dbeafe; - --color-accent: #2563eb; + --color-primary: #43BBC8; + --color-primary-hover: #3DAAB6; + --color-primary-light: #e8f8fa; + --color-accent: #43BBC8; --color-error: #b91c1c; --color-error-bg: #fef2f2; --color-border: #d1d5db; - --color-border-focus: #2563eb; + --color-border-focus: #43BBC8; --color-sensitive: #fef3c7; --color-sensitive-border: #f59e0b; --radius: 8px; @@ -494,6 +503,46 @@ body { .btn { width: 100%; } } +/* ── Survey header (marca RE) ── */ +.survey-header-bar { + display: flex; + align-items: center; + gap: 14px; + padding: 16px 24px; + position: sticky; + top: 0; + z-index: 20; +} +.survey-header-logo { display: block; height: 48px; width: auto; flex-shrink: 0; } +.survey-header-title { + color: var(--color-re-white); + font-weight: 700; + font-size: 1rem; + letter-spacing: 0.08em; + text-transform: uppercase; + line-height: 1.2; +} + +/* ── Survey footer ── */ +.survey-footer-bar { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 24px; + margin-top: 40px; +} +.survey-footer-group { + display: flex; + align-items: center; + gap: 8px; +} +.survey-footer-label { + color: rgba(255,255,255,0.7); + font-size: 0.75rem; + white-space: nowrap; +} +.survey-footer-logo { height: 32px; width: auto; display: block; } + /* ── Reduced motion ── */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } diff --git a/app/layout.tsx b/app/layout.tsx index 48ee3e1..c2b8803 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,5 +1,7 @@ import type { Metadata, Viewport } from 'next' import './globals.css' +import { SurveyHeader } from '@/components/survey-header' +import { SurveyFooter } from '@/components/survey-footer' export const metadata: Metadata = { title: 'Mapeo de Cuidadores', @@ -17,7 +19,11 @@ export const viewport: Viewport = { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - {children} + + +
{children}
+ + ) } diff --git a/assets/.DS_Store b/assets/.DS_Store index e256d3d..33ac60d 100644 Binary files a/assets/.DS_Store and b/assets/.DS_Store differ diff --git a/assets/inq/MARCA FINAL 2023 AREA DE SEGURIDAD 1 BCO.png b/assets/inq/MARCA FINAL 2023 AREA DE SEGURIDAD 1 BCO.png new file mode 100644 index 0000000..a79c00d Binary files /dev/null and b/assets/inq/MARCA FINAL 2023 AREA DE SEGURIDAD 1 BCO.png differ diff --git a/assets/inq/MARCA FINAL 2023 AREA DE SEGURIDAD 1 COLOR.png b/assets/inq/MARCA FINAL 2023 AREA DE SEGURIDAD 1 COLOR.png new file mode 100644 index 0000000..a5ac695 Binary files /dev/null and b/assets/inq/MARCA FINAL 2023 AREA DE SEGURIDAD 1 COLOR.png differ diff --git a/assets/inq/inq-color-svg.svg b/assets/inq/inq-color-svg.svg new file mode 100644 index 0000000..3a627c4 --- /dev/null +++ b/assets/inq/inq-color-svg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/re/RE - SVG.svg b/assets/re/RE - SVG.svg new file mode 100644 index 0000000..8f691c6 --- /dev/null +++ b/assets/re/RE - SVG.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/components/survey-footer.tsx b/components/survey-footer.tsx new file mode 100644 index 0000000..ba95793 --- /dev/null +++ b/components/survey-footer.tsx @@ -0,0 +1,27 @@ +export function SurveyFooter() { + return ( +
+
+ Un producto de + Fundación Solidaridad +
+
+ Powered by + InQuality +
+
+ ) +} diff --git a/components/survey-header.tsx b/components/survey-header.tsx new file mode 100644 index 0000000..8444948 --- /dev/null +++ b/components/survey-header.tsx @@ -0,0 +1,17 @@ +export function SurveyHeader() { + return ( +
+ RE + DATOS PAÍS SOBRE EL CUIDADO +
+ ) +} diff --git a/public/logos/FS-ISO-SVG.svg b/public/logos/FS-ISO-SVG.svg new file mode 100644 index 0000000..5da2bfc --- /dev/null +++ b/public/logos/FS-ISO-SVG.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/inq-white-svg.svg b/public/logos/inq-white-svg.svg new file mode 100644 index 0000000..5b063a8 --- /dev/null +++ b/public/logos/inq-white-svg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/re-mono-svg.svg b/public/logos/re-mono-svg.svg new file mode 100644 index 0000000..787517f --- /dev/null +++ b/public/logos/re-mono-svg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sprints/sprint-2/ETAPA_2C_PROMPT.md b/sprints/sprint-2/ETAPA_2C_PROMPT.md new file mode 100644 index 0000000..91706fe --- /dev/null +++ b/sprints/sprint-2/ETAPA_2C_PROMPT.md @@ -0,0 +1,123 @@ +# ETAPA 2C — Branding RE: Header, Footer y Variables CSS + +## 1. Objetivo +Implementar la identidad visual de la marca **RE** en el formulario de encuestas. +Color predominante: **#43BBC8** (teal). Logo RE en blanco sobre fondo teal en el header. +Footer con logos de Fundación Solidaridad e InQuality. + +--- + +## 2. Contexto previo +- Etapa 2B completada: el formulario carga desde `?s=UUID`, tiene consentimiento, + geo dropdowns Paraguay, y persiste datos en Supabase. +- Stack: Next.js 15 (App Router), Tailwind CSS, Supabase Cloud. +- URL piloto: `http://economia-cuidado.inqualityhq.com?s=30000000-0000-0000-0000-000000000001` +- Los SVG de logos ya están en `public/logos/` del repo: + - `public/logos/re-mono-svg.svg` — logo RE monocromático blanco + - `public/logos/inq-white-svg.svg` — logo InQuality blanco + - `public/logos/FS-ISO-SVG.svg` — isotipo Fundación Solidaridad + +--- + +## 3. DECISIONES YA TOMADAS (no consultar de nuevo) +- Color primario header: `#43BBC8` (teal RE) +- Color oscuro/texto: `#494F4F` (gris oscuro RE) +- Color acento naranja: `#F8AD13` +- Color naranja intenso: `#EE761A` +- Color fondo claro: `#E7E6E5` +- Logo RE en header: `public/logos/re-mono-svg.svg` sobre fondo `#43BBC8` +- Logo InQuality footer: `public/logos/inq-white-svg.svg` — "Powered by" +- Logo Fundación Solidaridad footer: `public/logos/FS-ISO-SVG.svg` — "Un producto de" +- Tipografía: Inter (ya en uso, coincide con manual FS) +- Jerarquía: RE es la marca predominante; FS e InQ son secundarios en footer + +--- + +## 4. Tareas + +### 4.1 Variables CSS globales +En `app/globals.css` (o equivalente), agregar variables CSS: +```css +:root { + --color-re-teal: #43BBC8; + --color-re-dark: #494F4F; + --color-re-orange: #F8AD13; + --color-re-orange-intense: #EE761A; + --color-re-light: #E7E6E5; + --color-re-white: #FFFFFF; +} +``` + +### 4.2 Componente SurveyHeader +Crear `components/survey-header.tsx`: +- Fondo: `#43BBC8` +- Contenido en una fila, alineado verticalmente al centro, padding py-4 px-6 +- Logo RE: `RE` altura ~48px +- Título a la derecha del logo: **"DATOS PAÍS SOBRE EL CUIDADO"** + - Inter bold, color blanco, ~1rem, tracking-wide (letter-spacing amplio) + +### 4.3 Componente SurveyFooter +Crear `components/survey-footer.tsx`: +- Fondo: `#494F4F` +- Flex row, justify-between, padding py-3 px-6 +- Izquierda: texto `"Un producto de"` (blanco, xs) + `Fundación Solidaridad` ~32px alto +- Derecha: texto `"Powered by"` (blanco, xs) + `InQuality` ~32px alto +- Cada par texto+logo alineado verticalmente al centro (flex, items-center, gap-2) + +### 4.4 Acentos de color en el formulario +Aplicar la paleta RE a los elementos existentes — **solo color, sin cambiar layout ni tamaños**: +- Botones primarios (Siguiente, Enviar): fondo `#43BBC8`, texto blanco, hover `#3DAAB6` +- Checkboxes/radios seleccionados: acento `#43BBC8` +- Bordes de inputs con foco: `#43BBC8` +- Barra de progreso (si existe): `#43BBC8` +- Links: `#43BBC8` + +### 4.5 Layout principal +En `app/page.tsx` o el layout de la encuesta, componer: +```tsx + +
+ {/* formulario existente sin cambios estructurales */} +
+ +``` + +--- + +## 5. Entregables (DoD) + +- [ ] Variables CSS definidas en globals.css +- [ ] `SurveyHeader` renderiza: fondo teal, logo RE blanco ~48px, título blanco bold +- [ ] `SurveyFooter` renderiza: fondo oscuro, logos FS e InQ con labels +- [ ] Botones del formulario usan color `#43BBC8` +- [ ] Inputs con foco muestran borde `#43BBC8` +- [ ] Build sin errores (`next build`) +- [ ] `git diff --name-only HEAD` — solo archivos autorizados en el diff + +--- + +## 6. Qué reportar +``` +Verificado: +- build exitoso +- archivos en diff: [lista] +- SurveyHeader: [descripción visual] +- SurveyFooter: [descripción visual] +- Colores aplicados: [elementos modificados] + +Asumido: +- [lo que no se pudo verificar visualmente] + +Decisiones proactivas (Nivel 2 — validar/revertir si hay problema): +- [cambios fuera de scope si los hubo] +``` + +--- + +## 7. Qué NO hacer +- ❌ No modificar estructura de preguntas, widgets o lógica de submit +- ❌ No tocar `lib/supabase.ts`, `app/actions/`, ni migraciones +- ❌ No cambiar tamaños de fuente ni layout de grilla +- ❌ No agregar nuevas dependencias npm +- ❌ No resolver ítems de TECH_DEBT.md o BACKLOG.md +- ❌ No modificar archivos fuera del scope (git diff lo detectará) \ No newline at end of file