feat: calendario bajo Social, SEO/GEO con datos live, Drive = 03-Clientes

Calendario editorial anidado en Social; Orgánico con queries/páginas GSC y landings GA4 + dashboard GEO; Biblioteca enlazada a la carpeta real del cliente bajo 03-Clientes (no carpetas homónimas); previews Ads solo en Meta/Google.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
4Ventures
2026-09-24 16:12:07 +02:00
parent 3425364b07
commit f4dfc50cc9
9 changed files with 699 additions and 107 deletions

View File

@@ -328,13 +328,18 @@ export default function AdTrackerClient({
]);
useEffect(() => {
if (tab === 'resumen') {
setCreatives([]);
setCreativesWarning(null);
setCreativesLoading(false);
return;
}
let cancelled = false;
async function load() {
setCreativesLoading(true);
setCreativesWarning(null);
try {
const platform =
tab === 'meta' ? 'meta' : tab === 'google' ? 'google' : 'all';
const platform = tab === 'meta' ? 'meta' : 'google';
const qs = new URLSearchParams({
since: range.since,
until: range.until,
@@ -532,21 +537,6 @@ export default function AdTrackerClient({
</div>
</section>
<CreativesGallery
platform="meta"
ads={creatives}
loading={creativesLoading}
warning={creativesWarning}
onZoom={setZoomAd}
/>
<CreativesGallery
platform="google"
ads={creatives}
loading={creativesLoading}
warning={creativesWarning}
onZoom={setZoomAd}
/>
<section className="rounded-2xl border border-gray-200 bg-white p-4 md:p-5">
<div className="flex flex-wrap items-start justify-between gap-3 mb-3">
<div>