fix: tema claro blanco, logo 4Ventures y menú original

Fondo blanco en la app; menú con labels/iconos originales; logo en sidebar y login.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
4Ventures
2026-09-24 09:53:36 +02:00
parent 6d1602bd68
commit 068faa3d25
33 changed files with 642 additions and 633 deletions

View File

@@ -74,7 +74,7 @@ function DeltaTriple({ delta, invert }: { delta: Delta; invert?: boolean }) {
return (
<div
key={c.label}
className="rounded-md bg-black/25 border border-gray-800/80 px-1.5 py-1 text-center"
className="rounded-md bg-gray-50 border border-gray-200 px-1.5 py-1 text-center"
>
<p className="text-[9px] uppercase tracking-wider text-gray-500">
{c.label}
@@ -258,7 +258,7 @@ export default function MetricsDashboard({
actions={
<div className="flex items-center gap-2">
<CalendarRange className="w-4 h-4 text-gray-500" />
<div className="flex gap-1 rounded-lg border border-white/[0.08] p-0.5 bg-black/20">
<div className="flex gap-1 rounded-lg border border-white/[0.08] p-0.5 bg-gray-50">
{(
[
['7d', '7d'],
@@ -321,7 +321,7 @@ export default function MetricsDashboard({
<p className="text-[10px] uppercase tracking-wider text-brand-400/80">
{s.label}
</p>
<p className="text-xl font-bold text-white mt-1">{s.value}</p>
<p className="text-xl font-bold text-gray-900 mt-1">{s.value}</p>
</div>
))}
</div>
@@ -330,7 +330,7 @@ export default function MetricsDashboard({
{cards.map((c) => (
<div
key={c.key}
className="bg-[#111827] border border-gray-800 rounded-xl p-5"
className="bg-white border border-gray-200 rounded-xl p-5"
>
<div className="flex items-center justify-between text-gray-400 mb-2">
<span className="text-xs font-medium uppercase tracking-wider">
@@ -338,7 +338,7 @@ export default function MetricsDashboard({
</span>
{c.icon}
</div>
<p className="text-2xl font-bold text-white">
<p className="text-2xl font-bold text-gray-900">
{c.format(periodTotals[c.key])}
</p>
<p className="text-[11px] text-gray-500 mt-1">{c.hint}</p>
@@ -348,10 +348,10 @@ export default function MetricsDashboard({
</div>
{/* Channel attribution cross */}
<section className="bg-[#111827] border border-gray-800 rounded-xl p-5 space-y-3">
<section className="bg-white border border-gray-200 rounded-xl p-5 space-y-3">
<div className="flex items-center justify-between gap-2">
<div>
<h3 className="text-sm font-semibold text-white">
<h3 className="text-sm font-semibold text-gray-900">
Cruce por canal · ads vs CRM
</h3>
<p className="text-[11px] text-gray-500 mt-0.5">
@@ -375,7 +375,7 @@ export default function MetricsDashboard({
) : (
<div className="overflow-x-auto">
<table className="w-full text-left text-xs">
<thead className="text-gray-500 border-b border-gray-800">
<thead className="text-gray-500 border-b border-gray-200">
<tr>
<th className="py-2 pr-3 font-medium">Canal</th>
<th className="py-2 pr-3 font-medium">Inversión</th>
@@ -401,18 +401,18 @@ export default function MetricsDashboard({
{row.channel}
</Link>
) : (
<span className="text-gray-300 font-semibold capitalize">
<span className="text-gray-600 font-semibold capitalize">
{row.channel}
</span>
)}
</td>
<td className="py-2.5 pr-3 text-gray-200">
<td className="py-2.5 pr-3 text-gray-800">
{row.spend ? formatEur(row.spend) : '—'}
</td>
<td className="py-2.5 pr-3 text-gray-200">
<td className="py-2.5 pr-3 text-gray-800">
{formatNum(row.platformLeads)}
</td>
<td className="py-2.5 pr-3 text-gray-200">
<td className="py-2.5 pr-3 text-gray-800">
{hasCrm ? formatNum(row.crmLeads) : '—'}
</td>
<td
@@ -424,12 +424,12 @@ export default function MetricsDashboard({
? `${row.gap > 0 ? '+' : ''}${formatNum(row.gap)}`
: '—'}
</td>
<td className="py-2.5 pr-3 text-gray-200">
<td className="py-2.5 pr-3 text-gray-800">
{row.cplPlatform
? `${formatNum(row.cplPlatform)} €`
: '—'}
</td>
<td className="py-2.5 text-gray-200">
<td className="py-2.5 text-gray-800">
{hasCrm && row.cplCrm
? `${formatNum(row.cplCrm)} €`
: '—'}
@@ -444,7 +444,7 @@ export default function MetricsDashboard({
{['GEO', 'CRM close %', 'LTV'].map((soon) => (
<div
key={soon}
className="rounded-lg border border-dashed border-gray-800 px-3 py-2 text-[11px] text-gray-500"
className="rounded-lg border border-dashed border-gray-200 px-3 py-2 text-[11px] text-gray-500"
>
{soon} · fase 2 (stub)
</div>
@@ -453,14 +453,14 @@ export default function MetricsDashboard({
</section>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<div className="bg-[#111827] border border-gray-800 rounded-xl p-5">
<div className="bg-white border border-gray-200 rounded-xl p-5">
<div className="flex items-center justify-between text-gray-400 mb-2">
<span className="text-xs uppercase tracking-wider">
Ads · ventana diaria
</span>
<Eye className="w-4 h-4 text-sky-400" />
</div>
<p className="text-lg font-bold text-white">{formatEur(daily.spend)}</p>
<p className="text-lg font-bold text-gray-900">{formatEur(daily.spend)}</p>
<p className="text-xs text-gray-500 mt-1">
{formatNum(daily.leads)} leads · {formatNum(daily.impressions)} impr.
· {formatNum(daily.clicks)} clicks
@@ -470,7 +470,7 @@ export default function MetricsDashboard({
leads
</p>
</div>
<div className="bg-[#111827] border border-gray-800 rounded-xl p-5 md:col-span-2">
<div className="bg-white border border-gray-200 rounded-xl p-5 md:col-span-2">
<p className="text-xs uppercase tracking-wider text-gray-500 mb-2">
Cómo leer
</p>