Barclays-banner-builder/backend/app/api
Vadym Samoilenko 2fe3eb75c7 Implement 6-format banner spec, fix CTA colours, add custom sizes
- BannerPreview: 6 real formats (SM2/MD1/MD2/MD3/LG1/LG2) all 312px wide;
  white-pill CTA with theme-colour text (was inverted); navy bg #000063 per
  Barclays spec; link-style CTA for SM2/MD2/MD3; centred icon for LG1;
  photo layouts: photo-left (SM2/MD2), photo-right (MD3), photo-top (LG2)
- Custom size: POST /api/banner-sets/:id/custom-size creates Custom variants
  from each pair's LG copy at user-specified px dimensions; BannerEditor has
  +Custom size form with W×H inputs
- Format limits updated in copy_generation.py (SM2 no body, MD 32/64, LG 64/128)
- tasks.py _persist_banner_set generates all 6 standard formats per copy set
- Migration 0006 adds custom_width/custom_height columns to banner_variants
- VariantsGrid/ChatBrief canProceed uses SMALL/LARGE format sets (not "Medium"/"Large")
- tsc --noEmit clean

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 22:28:56 +01:00
..
__init__.py Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy 2026-04-17 12:01:42 +01:00
admin.py Replace TOV checkboxes with free-text field (tov_text) 2026-04-17 14:05:51 +01:00
auth.py Replace passlib with bcrypt directly — passlib incompatible with bcrypt>=4.0 2026-04-17 12:15:06 +01:00
banner_sets.py Implement 6-format banner spec, fix CTA colours, add custom sizes 2026-04-28 22:28:56 +01:00
banner_variants.py Implement 6-format banner spec, fix CTA colours, add custom sizes 2026-04-28 22:28:56 +01:00
briefs.py AC3 in-situ banner visualisation — Medium/Large model, icons, themes, BannerPreview 2026-04-28 20:30:43 +01:00
conversations.py Add conversational brief interface (AC1 chat-style) 2026-04-28 21:53:17 +01:00
dam.py Fix 422 on DAM empty search, add favicon, fix email autocomplete 2026-04-17 14:02:22 +01:00
health.py Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy 2026-04-17 12:01:42 +01:00
icons.py AC3 in-situ banner visualisation — Medium/Large model, icons, themes, BannerPreview 2026-04-28 20:30:43 +01:00
jobs.py Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy 2026-04-17 12:01:42 +01:00
router.py Add conversational brief interface (AC1 chat-style) 2026-04-28 21:53:17 +01:00