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:
@@ -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>
|
||||
);
|
||||
})()}
|
||||
|
||||
Reference in New Issue
Block a user