fix(placeholder): rename SVG to bust Cloudflare cache
The new A-monogram placeholder shipped in d8ca8ff was correct in the
deployed container, but Cloudflare was serving the previous cached SVG
(cf-cache-status: HIT, last-modified from this morning) because the
account token doesn't carry Zone:Cache Purge scope, so we couldn't
issue an API purge.
Renaming the file to article-placeholder-v2.svg gives CF a fresh URL
to cache, sidestepping the missing-permission entirely. Updated all
6 referencing files (AppImage fallback, legacy-source FALLBACK_IMAGE
constants, FeaturedBento[FromDb], manufacturers/authors pages).
Old file (cached as the old wordmark) just becomes a dangling asset —
not referenced from anywhere, harmless.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
42
public/assets/images/article-placeholder-v2.svg
Normal file
42
public/assets/images/article-placeholder-v2.svg
Normal file
@@ -0,0 +1,42 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" preserveAspectRatio="xMidYMid slice">
|
||||
<defs>
|
||||
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#0F172A"/>
|
||||
<stop offset="50%" stop-color="#1E3A8A"/>
|
||||
<stop offset="100%" stop-color="#0F172A"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="glow" cx="50%" cy="50%" r="60%">
|
||||
<stop offset="0%" stop-color="#1D4ED8" stop-opacity="0.18"/>
|
||||
<stop offset="100%" stop-color="#1D4ED8" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="tile" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#2563EB"/>
|
||||
<stop offset="100%" stop-color="#1E3A8A"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background gradient -->
|
||||
<rect width="1200" height="630" fill="url(#bg)"/>
|
||||
<rect width="1200" height="630" fill="url(#glow)"/>
|
||||
|
||||
<!-- Brand-mark tile + A monogram, centered. Same geometry as AnimatedLogo. -->
|
||||
<g transform="translate(420 175)">
|
||||
<!-- Rounded tile (280x280, rx 62) with the brand gradient -->
|
||||
<rect x="0" y="0" width="280" height="280" rx="62" ry="62" fill="url(#tile)"/>
|
||||
<!-- Faint inner ring so the tile reads on dark bg -->
|
||||
<rect x="3" y="3" width="274" height="274" rx="59" ry="59" fill="none" stroke="rgba(255,255,255,0.20)" stroke-width="3"/>
|
||||
<!-- A — two strokes: left+right legs and crossbar. Same path as AnimatedLogo at 4.4x scale. -->
|
||||
<path d="M 62 220 L 140 60 L 218 220"
|
||||
fill="none" stroke="#FFFFFF" stroke-width="22"
|
||||
stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 92 158 L 188 158"
|
||||
fill="none" stroke="#FFFFFF" stroke-width="18"
|
||||
stroke-linecap="round"/>
|
||||
</g>
|
||||
|
||||
<!-- Wordmark + tagline -->
|
||||
<g transform="translate(600 525)" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', sans-serif">
|
||||
<text y="0" font-size="56" font-weight="700" fill="#FFFFFF" letter-spacing="-0.012em">AV BEAT</text>
|
||||
<text y="34" font-size="14" font-weight="500" fill="#CBD5E1" letter-spacing="0.22em">INSIDE THE FUTURE OF PRO AV</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
Reference in New Issue
Block a user