[object Object]

← back to Animals

[morning-review] animals: gate layoutPlayful + layoutBookingFirst.why by m.copy.medical so kennels/shelters/stores stop rendering vet copy

68854b012e29850a2e5841e8dadd83dfafd12176 · 2026-05-10 00:14:01 -0700 · SteveStudio2

Two layouts unconditionally rendered veterinary-clinic copy:
- layoutPlayful (.pl-hero/.pl-grid) hardcoded "The {city} vet your pet
  actually wants to visit" + "Cat-only exam room" cards. Houston Humane
  Society (a SHELTER) rendered this verbatim.
- layoutBookingFirst (.why-grid) hardcoded "Same-week openings / Honest
  pricing / Real follow-up — Email check-in 48h after every visit".
  Farrington Kennels rendered the medical-follow-up promise.

Both now read m.copy.* (the category-aware copy bundle from copyBundle())
so kennel/shelter/store/groomer/trainer/park/cafe categories get their
own appropriate s1/s2/s3 + lead text, and only true vets keep the
medical-flavored copy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 68854b012e29850a2e5841e8dadd83dfafd12176
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Sun May 10 00:14:01 2026 -0700

    [morning-review] animals: gate layoutPlayful + layoutBookingFirst.why by m.copy.medical so kennels/shelters/stores stop rendering vet copy
    
    Two layouts unconditionally rendered veterinary-clinic copy:
    - layoutPlayful (.pl-hero/.pl-grid) hardcoded "The {city} vet your pet
      actually wants to visit" + "Cat-only exam room" cards. Houston Humane
      Society (a SHELTER) rendered this verbatim.
    - layoutBookingFirst (.why-grid) hardcoded "Same-week openings / Honest
      pricing / Real follow-up — Email check-in 48h after every visit".
      Farrington Kennels rendered the medical-follow-up promise.
    
    Both now read m.copy.* (the category-aware copy bundle from copyBundle())
    so kennel/shelter/store/groomer/trainer/park/cafe categories get their
    own appropriate s1/s2/s3 + lead text, and only true vets keep the
    medical-flavored copy.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
 src/audit/design_system.js | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/audit/design_system.js b/src/audit/design_system.js
index c3bd3c7..85ef017 100644
--- a/src/audit/design_system.js
+++ b/src/audit/design_system.js
@@ -515,9 +515,9 @@ function layoutBookingFirst(biz, p, t, c) {
     </section>
     <section class=why>
       <div class=why-grid>
-        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
-        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
-        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+        <div><h3>${esc(m.copy.s1.h)}</h3><p>${esc(m.copy.s1.p)}</p></div>
+        <div><h3>${esc(m.copy.s2.h)}</h3><p>${esc(m.copy.s2.p)}</p></div>
+        <div><h3>${esc(m.copy.s3.h)}</h3><p>${esc(m.copy.s3.p)}</p></div>
       </div>
     </section>
     <footer style="padding:2em 3em;color:var(--muted)">${m.addr}${m.phoneSep}</footer>`
@@ -747,13 +747,13 @@ function layoutPlayful(biz, p, t, c) {
     <section class=pl-hero>
       <small style="opacity:.7;font-weight:700;letter-spacing:.15em;text-transform:uppercase">${m.cat}</small>
       <h1>${m.name}</h1>
-      <p>The ${m.city||'neighborhood'} vet your pet actually wants to visit. Treats, head scratches, and zero waiting-room shaking.</p>
-      <a class=btn href=#book>Book online →</a>
+      <p>${m.copy.medical ? `The ${esc(m.city)||'neighborhood'} vet your pet actually wants to visit. Treats, head scratches, and zero waiting-room shaking.` : esc(m.copy.lead)}</p>
+      <a class=btn href=#book>${esc(m.copy.book2)} →</a>
     </section>
     <section class=pl-grid>
-      <div class=pl-card><div class=emoji>🐕</div><h3>Dogs</h3><p>From puppies to seniors, with treats and patience.</p></div>
-      <div class=pl-card><div class=emoji>🐈</div><h3>Cats</h3><p>Cat-only exam room. Calmer everything.</p></div>
-      <div class=pl-card><div class=emoji>🐰</div><h3>Exotics</h3><p>Rabbits, reptiles, birds, small mammals welcome.</p></div>
+      <div class=pl-card><div class=emoji>🐾</div><h3>${esc(m.copy.s1.h)}</h3><p>${esc(m.copy.s1.p)}</p></div>
+      <div class=pl-card><div class=emoji>🦴</div><h3>${esc(m.copy.s2.h)}</h3><p>${esc(m.copy.s2.p)}</p></div>
+      <div class=pl-card><div class=emoji>❤️</div><h3>${esc(m.copy.s3.h)}</h3><p>${esc(m.copy.s3.p)}</p></div>
     </section>
     <footer style="padding:2em 3em;text-align:center;color:var(--muted)">${m.addr}${m.phoneSep}</footer>`
   });

← 1047395 Revert "[morning-review] animals: gate layout-split copy by  ·  back to Animals  ·  Revert "[morning-review] animals: gate layoutPlayful + layou 8fe1581 →