fix(ai-disclosure): remove every visible "AI persona" reference + team-card visibility

Two unrelated production bugs called out in the same review pass:

1) AI persona disclosure — strictly removed everywhere readers see it.
   - /about/team hero subtitle no longer says "trained AI personas working
     under house style"; copy now reads like every other newsroom team page.
   - /about "How we work" block drops the line about AI assistants
     rewriting press releases + the "Our AI personas are clearly labeled"
     sentence. Reworded to just describe the editorial process.
   - ArticleComments no longer renders the small "AI" chip beside
     is_ai_seeded commenters. The flag stays in the DB for internal
     accounting; it just doesn't surface in the UI.
   - Stale code comments in articles/[slug] + news/[slug] that referenced
     "AI personas participate (tagged)" cleaned up.
   The is_ai_seeded / is_ai_response columns are now strictly internal-only.

2) Team page card visibility — the page wrapper got switched from
   text-[#e5e7eb] to text-[#0F172A] in the recent restyle, which fixed
   white-on-white outside the cards but left the dark-card H3 names
   inheriting dark navy on a dark navy bg = invisible. Forced text-white
   on both H3s (editorial + ops). Email rows now use min-w-0 + flex-1 +
   block truncate so long addresses ellipsis inside the card instead of
   pushing the layout past the right edge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-04 20:27:25 +00:00
parent ca317f26a9
commit 3a65e776ac
5 changed files with 22 additions and 24 deletions

View File

@@ -107,8 +107,8 @@ export default async function TeamPage() {
The team behind every byline
</h1>
<p className="mt-4 text-white/80 text-base md:text-lg max-w-2xl leading-relaxed">
Beats covered by trained AI personas working under house style, plus the
business and support people who keep things moving.
The writers, editors, and operators behind the AV Beat newsroom
covering pro AV, live production, and display tech every day.
</p>
</div>
</header>
@@ -151,7 +151,7 @@ export default async function TeamPage() {
)}
<div className="flex-1 min-w-0">
<a href={`/authors/${p.slug}`} className="block hover:underline">
<h3 className="font-display text-xl font-bold leading-tight">{p.name}</h3>
<h3 className="font-display text-xl font-bold leading-tight text-white">{p.name}</h3>
</a>
{(p.beat || p.slug === "ryan-salazar") && (
<div className="inline-block mt-1.5 px-2 py-0.5 rounded-sm bg-[#1D4ED8]/15 border border-[#1D4ED8]/35 text-[10px] font-mono uppercase tracking-[0.12em] text-[#93C5FD]">
@@ -168,15 +168,17 @@ export default async function TeamPage() {
)}
{e && (
<div className="mt-4 pt-4 border-t border-[#1a1f2a] flex items-center justify-between text-xs">
<ObfuscatedEmail
user={e.user}
domain={e.domain}
className="text-[#aab1bd] hover:text-[#7DD3FC] font-mono"
/>
<div className="mt-4 pt-4 border-t border-[#1a1f2a] flex items-center justify-between gap-3 text-xs">
<div className="min-w-0 flex-1">
<ObfuscatedEmail
user={e.user}
domain={e.domain}
className="text-[#aab1bd] hover:text-[#7DD3FC] font-mono block truncate"
/>
</div>
<a
href={`/authors/${p.slug}`}
className="text-[10px] font-mono uppercase tracking-[0.12em] text-[#6c7686] hover:text-[#7DD3FC]"
className="flex-shrink-0 text-[10px] font-mono uppercase tracking-[0.12em] text-[#6c7686] hover:text-[#7DD3FC]"
>
View
</a>
@@ -224,7 +226,7 @@ export default async function TeamPage() {
</div>
)}
<div className="flex-1 min-w-0">
<h3 className="font-display text-lg font-bold leading-tight">{p.display_name}</h3>
<h3 className="font-display text-lg font-bold leading-tight text-white">{p.display_name}</h3>
<div className="inline-block mt-1 px-2 py-0.5 rounded-sm bg-[#1D4ED8]/15 border border-[#1D4ED8]/35 text-[10px] font-mono uppercase tracking-[0.12em] text-[#93C5FD]">
{p.role}
</div>
@@ -233,8 +235,8 @@ export default async function TeamPage() {
const e = splitEmail(p.email);
if (!e) return null;
return (
<div className="font-mono">
<ObfuscatedEmail user={e.user} domain={e.domain} className="hover:text-[#7DD3FC]" />
<div className="font-mono min-w-0">
<ObfuscatedEmail user={e.user} domain={e.domain} className="hover:text-[#7DD3FC] block truncate" />
</div>
);
})()}