diff --git a/apps/web/src/app/[locale]/(marketing)/report-demo/page.tsx b/apps/web/src/app/[locale]/(marketing)/report-demo/page.tsx new file mode 100644 index 0000000..e3fca66 --- /dev/null +++ b/apps/web/src/app/[locale]/(marketing)/report-demo/page.tsx @@ -0,0 +1,35 @@ +"use client"; + +import { useTranslation } from "@turbostarter/i18n"; +import { cn } from "@turbostarter/ui"; +import { buttonVariants } from "@turbostarter/ui-web/button"; + +import { pathsConfig } from "~/config/paths"; +import { TurboLink } from "~/modules/common/turbo-link"; +import ReputationBlueprint from "~/modules/marketing/demo/report/ReputationBlueprint"; +import { demoSynthesis } from "~/modules/marketing/demo/demo-synthesis"; + +export default function DemoPage() { + const { t } = useTranslation("marketing"); + + return ( +
+ {t("demoPage.ctaText")} +
++ Reputation Blueprint · {report.report_date} +
+| Primitive | +I1 (Low) | +I2 (Med) | +I3 (High) | +Total | +
|---|---|---|---|---|
| + {t.label} + | + {[t.intensity.i1, t.intensity.i2, t.intensity.i3].map((val, i) => ( ++ + {val} + + | + ))} ++ {t.count} + | +
{subtitle}
} ++ {action.detail} +
+ )} + {action.evidence && ( ++ {new Date(report.report_date).toLocaleDateString(locale === 'es' ? 'es-ES' : 'en-US', { year: 'numeric', month: 'long', day: 'numeric' })} +
+ + {/* Reporting Period */} + {report.methodology?.oldest_review && report.methodology?.newest_review && ( ++ {t('reporting_period')}: {new Date(report.methodology.oldest_review).toLocaleDateString(locale === 'es' ? 'es-ES' : 'en-US', { year: 'numeric', month: 'short' })} – {new Date(report.methodology.newest_review).toLocaleDateString(locale === 'es' ? 'es-ES' : 'en-US', { year: 'numeric', month: 'short' })} +
+ )} + + + + {/* Score Gauge */} ++ {t('confidential_footer')} +
+{issue.description}
+ )} + + {issue.quotes.length > 0 && ( +{issue.solution}
++ {report.domain_overview} +
++ {d.narrative} +
+ )} ++ {conclusion.ninety_day_focus} +
++ {conclusion.review_cadence} +
++ {conclusion.cost_of_inaction} +
++ whyrating.com +
+{t('reputation_intelligence')}
+{t('view_dashboard')}
++ {t('confidential_footer')} +
+{report.verdict}
+{finding}
+{report.revenue_impact}
++ {t('how_to_read_lead')} +
+ + {/* Score Spectrum */} +{t('how_to_read_score_desc')}
+{t('how_to_read_valence_desc')}
+{t('how_to_read_domains_desc')}
+{t('how_to_read_intensity_desc')}
++ {report.rating_narrative} +
++ {resolved.observations} +
++ ⚠ {t('staff_disclaimer')} +
+| {t('staff_rank')} | +{t('staff_name')} | + {showRole &&{t('staff_role')} | } +{t('staff_mentions')} | +{t('staff_sentiment')} | +{t('staff_positive')} | +{t('staff_negative')} | +
|---|---|---|---|---|---|---|
| + {rankStyle ? ( + + {rank} + + ) : ( + {rank} + )} + | +{member.canonical_name} | + {showRole &&{role || '\u2014'} | } +{member.total_mentions} | ++ = 70 ? 'green' : 'amber'}`}> + {sentimentScore}% + + | ++ {member.positive} + | ++ {member.negative} + | +
+ ⚠ {t('staff_disclaimer')} +
+| {t('staff_rank')} | +{t('staff_name')} | +{t('staff_mentions')} | +{t('staff_sentiment')} | +{t('staff_positive')} | +{t('staff_negative')} | +
|---|---|---|---|---|---|
| + {rankStyle ? ( + + {rank} + + ) : ( + {rank} + )} + | +{member.name} | +{member.total_mentions} | ++ = 70 ? 'green' : 'amber'}`}> + {sentimentScore}% + + | ++ {member.positive} + | ++ {member.negative} + | +
{strength.description}
+ )} + + {strength.quotes.length > 0 && ( +{strength.marketing_angle}
++ {report.themes_narrative} +
+ )} + + {/* Theme Matrix Chart */} ++ {report.matrix_narrative} +
+ )} +| {t('metric')} | +{t('current')} | +{t('target_30d')} | +{t('target_90d')} | +
|---|---|---|---|
| + {kpi.metric} + | ++ {kpi.current} + | ++ {kpi.target_30d} + | ++ {kpi.target_90d} + | +
+ {report.rating_evolution_narrative} +
+ )} ++ {report.domain_sentiment_narrative} +
+ )} ++ {report.seasonal_narrative} +
+ )} ++ {report.trends_narrative} +
+