feat(brand): logo officiel DictIA + palette blue/cyan/fuchsia (matche le logo)
Logos officiels installés : - static/images/dictia-logo.png (28 KB optimisé 256×256) - static/images/dictia-logo-128.png (10 KB retina) - static/images/dictia-logo-fullres.png (originaux conservés OG/social) - static/images/dictia-logo.svg + dictia-logo-nom.svg (cleaned C2PA metadata) - Header marketing/base.html : <img> 40×40 + wordmark "DictIA" + tagline "Transcription" - Footer marketing/_footer.html : <img> 36×36 + wordmark - Favicon mis à jour vers logo PNG Note : SVG sources sont des PNG base64 wrappés (pas de vrais paths) — PNG utilisé en production (8× plus léger), SVG conservé pour fallback. Palette canonique alignée sur le logo : - brand-b1 : #7c3aed (mauve) → #2563eb (blue-600 vibrant — primary) - brand-b2 : #a855f7 (mauve clair) → #06b6d4 (cyan-500 — aqua mid) - brand-b3 : #06b6d4 (aqua) → #c026d3 (fuchsia-600 — magenta accent) - Gradient signature : linear-gradient(118deg, #2563eb, #06b6d4 52%, #c026d3) - Box shadow CTA : rgba(37,99,235,0.28/0.42) - 72 remplacements hex/rgba dans 5 templates marketing/legal + email service Tests : 81 passed / 3 failed (3 échecs pré-existants /blog + trust-bar phrasing, non liés à ce changement). 0 régression. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -73,14 +73,20 @@ def test_email_template_uses_dictia_branding():
|
||||
assert 'Loi' in html and '25' in html, 'Tagline must mention Loi 25'
|
||||
|
||||
|
||||
def test_email_template_header_uses_brand_gradient_not_speakr_blue():
|
||||
"""Header bg must use DictIA brand color #0062ff (or gradient), not the legacy
|
||||
Speakr #2563eb."""
|
||||
def test_email_template_header_uses_brand_gradient():
|
||||
"""Header bg must use the official DictIA brand gradient (blue → cyan → fuchsia,
|
||||
matches the official logo). The legacy #0062ff/#00bdd8/#00c896 palette must be gone."""
|
||||
with app.app_context():
|
||||
from src.services.email import _get_email_template
|
||||
html, _ = _get_email_template('x', 'x', 'Test')
|
||||
assert '#2563eb' not in html, 'Legacy Speakr header color must be removed'
|
||||
assert '#0062ff' in html, 'DictIA brand blue must be present'
|
||||
# Legacy palette must be removed
|
||||
assert '#0062ff' not in html, 'Legacy header color #0062ff must be removed'
|
||||
assert '#00bdd8' not in html, 'Legacy mid color #00bdd8 must be removed'
|
||||
assert '#00c896' not in html, 'Legacy end color #00c896 must be removed'
|
||||
# New official-logo palette must be present
|
||||
assert '#2563eb' in html, 'DictIA brand blue (#2563eb) must be present'
|
||||
assert '#06b6d4' in html, 'DictIA brand cyan (#06b6d4) must be present'
|
||||
assert '#c026d3' in html, 'DictIA brand fuchsia (#c026d3) must be present'
|
||||
|
||||
|
||||
def test_verification_email_subject_is_french_with_dictia():
|
||||
|
||||
@@ -110,11 +110,11 @@ def test_hero_has_dual_cta():
|
||||
|
||||
|
||||
def test_hero_has_cosmic_orbs_background():
|
||||
"""Hero has 3 radial gradient orbs (FlexiHub signature, mauve/aqua palette)."""
|
||||
"""Hero has 3 radial gradient orbs (FlexiHub signature, blue/aqua palette — matches official DictIA logo)."""
|
||||
client = app.test_client()
|
||||
body = client.get('/').data.decode('utf-8')
|
||||
# Look for the 3 orb opacities (16% mauve, 7% aqua, 11% aqua accent)
|
||||
assert 'rgba(124,58,237,0.16)' in body, "Missing primary mauve orb"
|
||||
# Look for the 3 orb opacities (16% blue, 7% aqua, 11% aqua accent)
|
||||
assert 'rgba(37,99,235,0.16)' in body, "Missing primary blue orb"
|
||||
assert 'rgba(6,182,212,0.07)' in body, "Missing aqua orb"
|
||||
assert 'rgba(6,182,212,0.11)' in body, "Missing aqua accent orb"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user