feat: LinkedIn editorial, accesos agencia estables y deshacer en historial

Integra estrategias LinkedIn en calendarios (backlog publicado vs pendiente), unifica roles/cookies de vista agencia y permite deshacer cambios de brandbook dejando constancia en el historial.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
4Ventures
2026-10-16 04:15:51 +02:00
parent 3b57cdce53
commit 4a1abd3318
54 changed files with 6400 additions and 527 deletions

View File

@@ -189,13 +189,17 @@ export default function DashboardShell({
const visibleNav = NAV_ITEMS.filter((item) => moduleOn(item.moduleId));
const showClientBrand = Boolean(clientLogoUrl);
const title = showClientBrand ? brandLabel || company : '4VENTURES';
const subtitle = showClientBrand
? isAgency
? 'Vista cliente'
: 'Portal cliente'
: 'Centro de Mando';
// Agencia siempre mantiene identidad 4Ventures (aunque esté "viendo" un cliente).
const title = isAgency
? '4VENTURES'
: clientLogoUrl
? brandLabel || company
: '4VENTURES';
const subtitle = isAgency
? viewName
? `Agencia · viendo ${viewName}`
: 'Centro de Mando'
: 'Portal cliente';
const sidebar = (
<div className="flex h-full flex-col">
@@ -317,8 +321,15 @@ export default function DashboardShell({
<span className="text-[10px] text-gray-500 capitalize truncate">
{company}
</span>
<span className="text-[9px] uppercase tracking-wider font-semibold px-1.5 py-0.5 rounded bg-brand-50 text-brand-600 shrink-0">
{role}
<span
className="text-[9px] uppercase tracking-wider font-semibold px-1.5 py-0.5 rounded bg-brand-50 text-brand-600 shrink-0"
title={role}
>
{role === 'admin'
? 'Agencia'
: role === 'team'
? 'Equipo'
: 'Cliente'}
</span>
</div>
</div>