fix: resolve demo report scroll trap and add review evidence appendix

- Change page CSS from fixed height+overflow:hidden to min-height+overflow:visible
- Remove overflow:hidden from ReportPage inline styles
- Add 7 anonymized review evidence entries with classification anchors so the
  Review Evidence appendix section renders in the demo

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-02-22 22:03:46 +00:00
parent 6a80e9fc5f
commit cc19f2d398
3 changed files with 92 additions and 6 deletions

View File

@@ -1615,7 +1615,94 @@ export const demoSynthesis: ReportSynthesis = {
} }
], ],
"domain_overview": "El negocio muestra un sólido desempeño en la atención al cliente, con un 98% de satisfacción en el trato y el proceso. Sin embargo, el valor percibido y la equidad de precios presentan áreas de mejora, lo que sugiere una desconexión entre la experiencia del cliente y la percepción del valor ofrecido.", "domain_overview": "El negocio muestra un sólido desempeño en la atención al cliente, con un 98% de satisfacción en el trato y el proceso. Sin embargo, el valor percibido y la equidad de precios presentan áreas de mejora, lo que sugiere una desconexión entre la experiencia del cliente y la percepción del valor ofrecido.",
"review_evidence": [], "review_evidence": [
{
"review_id": "demo-rev-001",
"author": "María G.",
"rating": 5,
"date": "2025-11-14",
"full_text": "Excelente servicio desde el primer momento. Me atendieron con mucha amabilidad y rapidez. El proceso fue transparente y me dieron un precio justo por mi vehículo. Recomiendo totalmente esta empresa a cualquiera que busque un trato profesional y honesto.",
"classifications": [
{ "primitive": "STAFF_ATTITUDE", "valence": "+", "anchor_text": "mucha amabilidad", "anchor_start": 62, "anchor_end": 78 },
{ "primitive": "SPEED", "valence": "+", "anchor_text": "rapidez", "anchor_start": 81, "anchor_end": 88 },
{ "primitive": "TRANSPARENCY", "valence": "+", "anchor_text": "proceso fue transparente", "anchor_start": 93, "anchor_end": 117 },
{ "primitive": "VALUE_FOR_MONEY", "valence": "+", "anchor_text": "precio justo", "anchor_start": 132, "anchor_end": 144 }
]
},
{
"review_id": "demo-rev-002",
"author": "Carlos R.",
"rating": 4,
"date": "2025-10-22",
"full_text": "Buen servicio en general. El personal fue muy atento y el trámite fue bastante rápido. Lo único que me hubiera gustado es que la valoración fuera un poco más alta, pero entiendo que depende del mercado. Aún así, volveré a confiar en ellos.",
"classifications": [
{ "primitive": "STAFF_ATTITUDE", "valence": "+", "anchor_text": "personal fue muy atento", "anchor_start": 29, "anchor_end": 52 },
{ "primitive": "SPEED", "valence": "+", "anchor_text": "trámite fue bastante rápido", "anchor_start": 58, "anchor_end": 85 },
{ "primitive": "VALUE_FOR_MONEY", "valence": "-", "anchor_text": "valoración fuera un poco más alta", "anchor_start": 118, "anchor_end": 151 }
]
},
{
"review_id": "demo-rev-003",
"author": "Ana P.",
"rating": 5,
"date": "2025-09-05",
"full_text": "Me encantó la experiencia. Desde que entré me trataron genial. Todo fue súper rápido y profesional. El equipo realmente sabe lo que hace. Sin duda la mejor opción del mercado.",
"classifications": [
{ "primitive": "STAFF_ATTITUDE", "valence": "+", "anchor_text": "me trataron genial", "anchor_start": 42, "anchor_end": 61 },
{ "primitive": "SPEED", "valence": "+", "anchor_text": "súper rápido", "anchor_start": 72, "anchor_end": 84 },
{ "primitive": "COMPETENCE", "valence": "+", "anchor_text": "equipo realmente sabe lo que hace", "anchor_start": 102, "anchor_end": 135 }
]
},
{
"review_id": "demo-rev-004",
"author": "Javier M.",
"rating": 1,
"date": "2025-08-18",
"full_text": "Muy decepcionado. La tasación online prometía un precio mucho más alto del que luego ofrecieron en persona. Sentí que perdí el tiempo. La atención fue correcta pero el resultado final no me convenció nada.",
"classifications": [
{ "primitive": "VALUE_FOR_MONEY", "valence": "-", "anchor_text": "precio mucho más alto del que luego ofrecieron", "anchor_start": 47, "anchor_end": 94 },
{ "primitive": "RELIABILITY", "valence": "-", "anchor_text": "perdí el tiempo", "anchor_start": 107, "anchor_end": 122 },
{ "primitive": "STAFF_ATTITUDE", "valence": "±", "anchor_text": "atención fue correcta", "anchor_start": 127, "anchor_end": 148 }
]
},
{
"review_id": "demo-rev-005",
"author": "Laura S.",
"rating": 5,
"date": "2025-07-30",
"full_text": "Fantástico. Nos trataron de maravilla y nos explicaron todo paso a paso. El pago se realizó al momento, sin complicaciones. Gran experiencia de principio a fin.",
"classifications": [
{ "primitive": "STAFF_ATTITUDE", "valence": "+", "anchor_text": "trataron de maravilla", "anchor_start": 17, "anchor_end": 38 },
{ "primitive": "TRANSPARENCY", "valence": "+", "anchor_text": "explicaron todo paso a paso", "anchor_start": 45, "anchor_end": 72 },
{ "primitive": "SPEED", "valence": "+", "anchor_text": "pago se realizó al momento", "anchor_start": 77, "anchor_end": 103 }
]
},
{
"review_id": "demo-rev-006",
"author": "Pedro L.",
"rating": 5,
"date": "2025-06-12",
"full_text": "Un 10. Personal amable, proceso rápido y sin sorpresas. Me ofrecieron exactamente lo que habíamos acordado por teléfono. Muy profesionales en todo momento.",
"classifications": [
{ "primitive": "STAFF_ATTITUDE", "valence": "+", "anchor_text": "Personal amable", "anchor_start": 7, "anchor_end": 22 },
{ "primitive": "SPEED", "valence": "+", "anchor_text": "proceso rápido", "anchor_start": 24, "anchor_end": 38 },
{ "primitive": "RELIABILITY", "valence": "+", "anchor_text": "exactamente lo que habíamos acordado", "anchor_start": 68, "anchor_end": 104 },
{ "primitive": "COMPETENCE", "valence": "+", "anchor_text": "Muy profesionales", "anchor_start": 121, "anchor_end": 139 }
]
},
{
"review_id": "demo-rev-007",
"author": "Elena V.",
"rating": 5,
"date": "2025-05-20",
"full_text": "Vendí mi coche en menos de una hora. Increíble lo rápido y fácil que fue todo. El chico que me atendió fue encantador y muy transparente con las condiciones. Repetiría sin dudarlo.",
"classifications": [
{ "primitive": "SPEED", "valence": "+", "anchor_text": "menos de una hora", "anchor_start": 19, "anchor_end": 36 },
{ "primitive": "STAFF_ATTITUDE", "valence": "+", "anchor_text": "chico que me atendió fue encantador", "anchor_start": 80, "anchor_end": 115 },
{ "primitive": "TRANSPARENCY", "valence": "+", "anchor_text": "muy transparente con las condiciones", "anchor_start": 118, "anchor_end": 154 }
]
}
],
"score_breakdown": { "score_breakdown": {
"volume": 15.0, "volume": 15.0,
"momentum": 0.0, "momentum": 0.0,

View File

@@ -34,7 +34,7 @@ export default function ReportPage({
</div> </div>
</div> </div>
)} )}
<div style={{ flex: 1, overflow: 'hidden', minHeight: 0 }}> <div style={{ flex: 1, minHeight: 0 }}>
{children} {children}
</div> </div>
{background !== 'dark' && ( {background !== 'dark' && (

View File

@@ -44,9 +44,8 @@
/* ---------- Page System (A4 proportion: 1024×1448px) ---------- */ /* ---------- Page System (A4 proportion: 1024×1448px) ---------- */
.page { .page {
width: 1024px; width: 1024px;
height: 1448px; /* explicit height — required for child % resolution */ min-height: 1448px; /* min-height instead of fixed — content can grow */
max-height: 1448px; overflow: visible; /* no scroll trap in web demo */
overflow: hidden;
position: relative; position: relative;
margin: 0 auto 32px; /* 32px gap between pages for printed-document look */ margin: 0 auto 32px; /* 32px gap between pages for printed-document look */
background: var(--surface-card); background: var(--surface-card);
@@ -60,7 +59,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 64px 77px 90px; padding: 64px 77px 90px;
height: 100%; min-height: 100%;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
} }