feat: sync Clientify CRM + botón Sincronizar por pestaña

El CRM solo vivía de webhooks; ahora hay pull Clientify, cron daily-sync incluye CRM, y cada módulo de Agencia tiene sync manual.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
4Ventures
2026-09-30 15:34:40 +02:00
parent c11ec20f26
commit e3180ceb51
13 changed files with 749 additions and 10 deletions

View File

@@ -34,6 +34,7 @@ import {
Sparkles,
} from 'lucide-react';
import { PageHeader, SegmentedControl } from '@/components/ui';
import SyncNowButton from '@/components/SyncNowButton';
type Props = {
label: string;
@@ -406,6 +407,7 @@ export default function OrganicoDashboard({
eyebrow="Crecimiento"
title="Orgánico"
description="SEO + GEO (visibilidad en IA). Elige un cliente en Contexto."
actions={<SyncNowButton forceModule="organico" />}
/>
<p className="text-sm text-gray-600 border border-gray-200 rounded-xl px-4 py-8 text-center bg-gray-50">
Selecciona un cliente para abrir su suite SEO / GEO.
@@ -430,6 +432,7 @@ export default function OrganicoDashboard({
description={`${label} · Observa posicionamiento en búsqueda e IA, competencia y oportunidades de contenido.`}
actions={
<div className="flex flex-wrap items-center gap-2">
<SyncNowButton forceModule="organico" />
<SegmentedControl
value={pillar}
onChange={(p) => setPillar(p)}