From 8db642fa2a4854ca0cf7ee1572bb19743d2aa30d Mon Sep 17 00:00:00 2001
From: 4Ventures <4ventures@MacBook-Air-de-4Ventures.local>
Date: Tue, 6 Oct 2026 13:19:10 +0200
Subject: [PATCH] Label LinkedIn/TikTok as a saved profile, not live social
metrics.
Co-authored-by: Cursor
---
src/components/SocialDashboard.tsx | 43 +++++++++++++++++++++---------
1 file changed, 31 insertions(+), 12 deletions(-)
diff --git a/src/components/SocialDashboard.tsx b/src/components/SocialDashboard.tsx
index 1f93561..4d83136 100644
--- a/src/components/SocialDashboard.tsx
+++ b/src/components/SocialDashboard.tsx
@@ -240,11 +240,13 @@ const CHANNELS: {
id: string;
label: string;
icon: React.ComponentType<{ className?: string }>;
+ /** Live Graph analytics in this panel (Meta only today). */
+ metrics: boolean;
}[] = [
- { id: 'instagram', label: 'Instagram', icon: Instagram },
- { id: 'facebook', label: 'Facebook', icon: Facebook },
- { id: 'linkedin', label: 'LinkedIn', icon: Linkedin },
- { id: 'tiktok', label: 'TikTok', icon: Share2 },
+ { id: 'instagram', label: 'Instagram', icon: Instagram, metrics: true },
+ { id: 'facebook', label: 'Facebook', icon: Facebook, metrics: true },
+ { id: 'linkedin', label: 'LinkedIn', icon: Linkedin, metrics: false },
+ { id: 'tiktok', label: 'TikTok', icon: Share2, metrics: false },
];
function n(v?: number | null) {
@@ -575,6 +577,11 @@ export default function SocialDashboard({
En los gráficos, la flecha es el cambio del primer al último día
(no es un MoM).
+
+ Instagram y Facebook sí tienen métricas (Graph API). LinkedIn y
+ TikTok, si aparecen, son solo el perfil guardado en la ficha:
+ aún no hay evolución de impresiones ni seguidores.
+
@@ -693,14 +700,24 @@ export default function SocialDashboard({
{CHANNELS.map((ch) => {
const row = by.get(ch.id);
- const connected =
- row?.status === 'connected' && Boolean(row.external_account_id);
+ const linked =
+ Boolean(row?.external_account_id) &&
+ (row?.status === 'connected' || row?.status === 'pending');
+ const live = linked && ch.metrics;
const Icon = ch.icon;
const url =
row?.meta?.public_url ||
(row?.external_account_id?.startsWith('http')
? row.external_account_id
: null);
+ const badge = !linked
+ ? { text: 'Sin enlazar', cls: 'bg-gray-100 text-gray-500' }
+ : live
+ ? { text: 'Métricas en vivo', cls: 'bg-emerald-50 text-emerald-700' }
+ : {
+ text: 'Perfil guardado',
+ cls: 'bg-amber-50 text-amber-800',
+ };
return (
-
- {connected ? 'Conectado' : 'Sin enlazar'}
+ {badge.text}
@@ -729,6 +742,12 @@ export default function SocialDashboard({
row?.external_account_id ||
'—'}
+ {linked && !ch.metrics ? (
+
+ Hay un enlace de página en la ficha. No se leen
+ impresiones, seguidores ni interacciones todavía.
+
+ ) : null}
{url && (