Commit Graph

259 Commits

Author SHA1 Message Date
4Ventures
812052b7eb fix(publish): no saltar piezas programadas en revisión
El cron también publica revision_agencia/programada con horario vencido; mover en calendario deja la pieza en cola.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 15:55:12 +02:00
4Ventures
4c91c4b1f4 fix(pipeline): write-back RRSS al crear creatividades
Al terminar Claude/Freepik, el cover vuelve al pipeline sin esperar solo a Canva; plantillas Canva usan canal rrss.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 15:33:48 +02:00
4Ventures
ee6e6bace1 fix(historial): registrar todos los cambios de Zona de marca
Instrumenta kit, fuentes y estilo creativo; el listado filtra por rango e incluye hoy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 14:05:17 +02:00
4Ventures
f127b0a4c4 feat(creatives): Canva Agua Miia post / story / LinkedIn
Mapea EAHYK-l1SFM, EAHYK9p_MlY y EAHYK_ylNJo por formato y plataforma en RRSS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 14:00:34 +02:00
4Ventures
5de5e3c5e0 feat(creatives): plantilla Canva Agua Miia EAHYK-l1SFM
Permite pegar URL o ID de Brand Template, default por tenant y normalización al guardar para WF5 Ads/RRSS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 13:51:15 +02:00
4Ventures
0742add9e6 fix(brandkit): permitir frases en léxico y formato con botones
El trim en cada tecla impedía escribir espacios en listas (léxico).
El formato de pieza usa los mismos botones que el filtro, sin dropdown.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 13:40:45 +02:00
4Ventures
5c76ae18bb feat(brandkit): permitir subir PDF y DOCX como fuentes
Extrae texto del PDF/DOCX en Fuentes del kit de marca para no depender
de pegar el contenido a mano.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 13:26:06 +02:00
4Ventures
77fd628078 fix(pipeline): editar formato Post/Story y bloquear horarios pasados
Permite cambiar el formato al editar una pieza, normaliza Stories→story
al guardar y rechaza programaciones en fecha/hora ya pasada.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 13:05:30 +02:00
4Ventures
c434fa5834 fix: no mezclar banners/datos ECP ↔ De Tú a Tú Formación
Aísla marcas hermanas en creatives, sync y social cache para que cada
cuenta solo muestre sus propias campañas y creatividades.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 11:44:24 +02:00
4Ventures
6763613ed4 fix(calendario): hacer visible LinkedIn en el creador desde el primer paso
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 04:31:54 +02:00
4Ventures
4a1abd3318 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>
2026-10-16 04:15:51 +02:00
4Ventures
3b57cdce53 feat(calendario): opciones de generación, regenerar y publish IG/FB
Cantidades posts/stories/reels, días, mix mismo día, instrucciones,
regenerar marcadas, texto por slide/guión reel, stories interactivas
y horarios IG/FB separados o iguales.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 16:36:45 +02:00
4Ventures
39b1f8ec02 feat: historial de cambios (usuario, fecha, detalle)
Tabla change_history, pantalla en Agencia OS y registro automático
al guardar o enriquecer Zona de marca.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 15:42:18 +02:00
Marcos Fargas
62a25e7236 fix(brand): sincronizacion bidireccional de linkedin_strategy_url y precarga automatica de campos b2b 2026-10-15 12:57:55 +02:00
Marcos Fargas
1f6c16a01b feat(brand): mostrar bloque de estrategia linkedin B2B en BrandOverview 2026-10-15 12:25:40 +02:00
4Ventures
89869c0e7c fix(brandbook): no meter nombres de campaña en pilares/estilos
Los insights de ads solo aportan copy humano y ángulos semánticos;
se limpian etiquetas ops ya guardadas al parsear y al enriquecer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 09:39:08 +02:00
Marcos Fargas
d049fa0f3b fix: eliminar footer rls en login y habilitar subida y sincronizacion de logo de cliente 2026-10-15 04:18:02 +02:00
4Ventures
49d3529525 fix(ui): paneles Zona de marca tipo Overview/Prohibido
Cards con eyebrow, tipografía sm legible, más aire y agrupación por
bloques en Identidad, Voz, Visual, Ads, Canales y Compliance.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 03:59:36 +02:00
Marcos Fargas
de546e00e0 fix(context): recarga completa y refresco automatico al cambiar de cliente en Contexto 2026-10-15 03:40:27 +02:00
4Ventures
0b3f80d790 fix: aplicar layout Estilo/Brief a Zona de marca tras rebase
Nav lateral numerada + panel editable como creatividades; Auto-rellenar;
parse brandbook robusto para que app.4ventures.es muestre el kit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 03:28:18 +02:00
4Ventures
3cb3ad1db1 feat: Zona de marca tipo Estilo/Brief + brandbooks desde ads/RRSS
UI con nav lateral numerada y panel editable; parse de brandbook JSON string;
enrich desde Meta/Google/IG/FB/web/CSS para que app.4ventures.es muestre el kit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 03:24:45 +02:00
Marcos Fargas
102c100427 feat(activos): anadir directorio de personas del cliente y resolver fondos oscuros en inputs 2026-10-15 03:02:58 +02:00
Marcos Fargas
4f8ea26938 feat(activos): seccion para guardar y gestionar URLs con descripcion del cliente 2026-10-15 02:27:47 +02:00
Marcos Fargas
9a4ed8b66c style(clients): rediseño visual del modal de alta de cliente con inputs claros y selector de roles 2026-10-15 02:16:04 +02:00
Marcos Fargas
f476f6a291 feat(brandbook): enriquecer seedBrandbook de Noberplast con estrategia 100% B2B de consumibles 2026-10-15 02:12:30 +02:00
Marcos Fargas
d4f28affc4 feat(brandbook): enriquecer seedBrandbook de Halal Safety con estrategia B2B completa 2026-10-15 01:56:37 +02:00
Marcos Fargas
0ddd5e5907 feat(brandbook): anadir analizador e ingesta automatica de estrategias LinkedIn B2B con IA desde URL 2026-10-15 01:34:24 +02:00
Marcos Fargas
e4a605bdbd feat(brandbook): anadir ingesta automatica de fuentes desde URL web en seccion Fuentes 2026-10-15 01:14:38 +02:00
Marcos Fargas
bcde8d8198 feat(brandbook): anadir campo de URL de LinkedIn tambien en seccion LinkedIn B2B 2026-10-15 00:46:34 +02:00
Marcos Fargas
b08c4ca00d fix(middleware): permitir x-api-key en rutas /api/ para integraciones y tests 2026-10-15 00:30:26 +02:00
Marcos Fargas
85e9f4c184 feat(brandbook): anadir ingesta y analisis automatico de blog con IA en Zona de Marca 2026-10-15 00:18:22 +02:00
Marcos Fargas
8b101c094c fix: corregir parseBrandbook para deserializar strings de documents, restaurar paneles y sincronización bidireccional total entre Zona de Marca y Creatividades Ads 2026-10-14 17:47:30 +02:00
Marcos Fargas
6e8e9ee5c8 feat: restaurar todas las secciones en Creatividades Ads con sincronización bidireccional en tiempo real con Zona de Marca 2026-10-14 17:33:37 +02:00
4Ventures
9d7d799ec1 Add RRSS auto-generation via the Ads Claude/Freepik/Canva pipeline.
Pipeline pieces can be created manually or enqueued with channel=rrss, using brandbook, calendar copy and RRSS history; n8n writes results back to creative_pipeline.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 16:22:01 +02:00
Marcos Fargas
0c1ff3cc67 fix: actualizar texto de alerta de generación indicando procesamiento en tiempo real 2026-10-14 16:17:42 +02:00
Marcos Fargas
aed73e0171 feat: centralizar ADN y estilo de marca en Zona de Marca y simplificar panel de creatividades a operativa ads 2026-10-14 14:53:39 +02:00
4Ventures
feef339c2b Import missing RRSS months from live Drive calendars.
Agua Miia and TYD had many tabs in Drive that were never in documents; add a live importer and expand the batch JOBS map so future syncs cover them.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 13:31:12 +02:00
4Ventures
0e8befe69a Show all client RRSS calendars in portfolio and restore Agua Miia October.
Agency vista global listed nothing; now cards per followed client. Persist bundled Oct 2026 for Agua Miia when missing so the operative plan is not hidden by a sole November row.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 13:20:18 +02:00
4Ventures
f9dddd5bf9 Add Pomelli-inspired Brand Overview to Zona de marca.
Light Centro de Mando layout with logo, fonts, colors, tagline, values, tone and completeness — edits still live in Detalles del kit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 10:01:46 +02:00
4Ventures
a225f8c2a6 Allow agency to fully delete an editorial calendar month.
Removes the calendar document and linked draft pipeline pieces, with confirm-by-typing the YYYY-MM code.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 18:07:24 +02:00
4Ventures
fd2bd9582d Let agency configure each client's left-nav modules from the ficha.
Checkboxes match the sidebar (incl. Social sub-items), with a live preview and route guard so clients cannot open disabled sections.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 17:52:55 +02:00
4Ventures
d3e383dd08 Limit client asset library to app-generated folders only.
Agency still sees the full Drive tree and portal uploads; clients only see Pipeline-creatividades / calendarios / brandbook-style paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 17:48:47 +02:00
4Ventures
1cf8e7c1bd Require 9:16 and 1.91:1 adaptations alongside every static 4:5 ad creative.
Generation briefs and Canva webhooks now declare all three Meta placements so WF3/WF5 deliver feed, Stories, and landscape from one Freepik base.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 17:03:40 +02:00
4Ventures
c8608f36f5 Add Dokploy scripts to apply and verify unified approval_status SQL.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 16:49:18 +02:00
4Ventures
f80292cc1b Show agency creatives board when a client is selected in Contexto.
Creatividades Ads was always rendering the client approval UI, so agency never saw Pedir relevo / kanban on that route.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 16:37:51 +02:00
4Ventures
2b57b93220 Allow keeping selected calendar pieces/days and regenerating the rest.
Agency can mark good stories, keep only those days, or request a partial v2 for unmarked slots without replacing the whole month.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 13:57:13 +02:00
4Ventures
714f250eca Feed editorial calendar generation with past calendars and live network posts.
Brandbook plus calendar history and published pipeline/IG pieces now shape series mix and Claude strategist prompts without copying old titles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 13:53:27 +02:00
4Ventures
3afec6402f fix calendar→pipeline sync to use unified borrador status.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 13:30:22 +02:00
4Ventures
46492c3873 Unify Ads/RRSS approval flow and add personalized Meta creative regen.
Agency validates first then client; Meta copy is 5+5+1 with on-image vs feed layers, emojis on feed, and partial v2 by image/hook/support/copy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 13:17:36 +02:00
4Ventures
4bc9ed7820 Always show Pipeline RRSS under Social when Social is visible.
Remove extra module gates so the editorial pipeline link cannot be filtered out of the sidebar.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 09:59:13 +02:00