AV launch: comprehensive copy sweep — broadcast/NAB-to-IBC → pro AV/InfoComm-to-ISE across layout/header/forum/marketplace/search/advertise/AI prompts/newsletter/RSS; bump header logo h-7→h-12 + footer h-6→h-9
This commit is contained in:
@@ -49,7 +49,7 @@ export default function AdvertisePage() {
|
||||
<span className="section-label mb-3 inline-block">Advertise</span>
|
||||
<h1 className="font-heading text-white text-4xl font-bold mb-4">Reach Broadcast Engineering Professionals</h1>
|
||||
<p className="text-[#aaa] font-body text-lg max-w-2xl mx-auto mb-6">
|
||||
AV Beat is the leading digital platform for broadcast engineering professionals. Connect your brand with decision-makers, engineers, and executives across the broadcast industry.
|
||||
AV Beat is the leading digital platform for pro AV, live production, and display tech professionals. Connect your brand with decision-makers, integrators, and executives across the pro AV industry.
|
||||
</p>
|
||||
<a
|
||||
href="#contact"
|
||||
|
||||
@@ -22,12 +22,12 @@ export async function POST(request: NextRequest) {
|
||||
date: a.date,
|
||||
}));
|
||||
|
||||
const systemPrompt = `You are a personalized content recommendation engine for AV Beat, a broadcast engineering news platform.
|
||||
const systemPrompt = `You are a personalized content recommendation engine for AV Beat, a pro AV / live production / display tech news platform.
|
||||
Given a reader's topic interests and reading history, select the 4 most relevant articles from the provided article list.
|
||||
Return ONLY a valid JSON array of slugs in order of relevance. Example: ["slug-1","slug-2","slug-3","slug-4"]
|
||||
Do not include any explanation or markdown — only the raw JSON array.`;
|
||||
|
||||
const userPrompt = `Reader interests: ${interests?.length ? interests.join(', ') : 'general broadcast engineering'}
|
||||
const userPrompt = `Reader interests: ${interests?.length ? interests.join(', ') : 'general pro AV and live production'}
|
||||
Reading history (recently read slugs): ${readingHistory?.length ? readingHistory.join(', ') : 'none'}
|
||||
|
||||
Available articles:
|
||||
|
||||
@@ -19,7 +19,7 @@ export async function POST(req: NextRequest) {
|
||||
[
|
||||
{
|
||||
role: 'system',
|
||||
content: `You are the AV Beat AI Assistant — a knowledgeable, helpful assistant for broadcast engineering professionals. You have deep expertise in broadcast technology including live production, IP workflows, SMPTE ST 2110, audio engineering, cameras, streaming, post-production, MAM systems, and broadcast industry trends.
|
||||
content: `You are the AV Beat AI Assistant — a knowledgeable, helpful assistant for pro AV, live production, and display tech professionals. You have deep expertise in AV technology including AV-over-IP, control systems, projection & display, audio engineering, conferencing, live production, signal flow, and the pro AV industry.
|
||||
|
||||
You are responding in a community forum. Be helpful, technically accurate, and conversational. Acknowledge when a question is complex or when professional consultation is advisable. Keep responses focused and practical — broadcast engineers value concise, actionable information.
|
||||
|
||||
@@ -33,7 +33,7 @@ Original post: ${thread_body}
|
||||
|
||||
${existingContext ? `Existing discussion:\n${existingContext}\n\n` : ''}New question: ${question}
|
||||
|
||||
Please provide a helpful, technically accurate response for this broadcast engineering forum thread.`,
|
||||
Please provide a helpful, technically accurate response for this pro AV / live production forum thread.`,
|
||||
},
|
||||
],
|
||||
{ maxTokens: 600, isBackground: false, priority: 2 }
|
||||
|
||||
@@ -103,7 +103,7 @@ async function sendWelcome(email: string, topics?: string[]) {
|
||||
<tr><td style="padding:32px 36px 8px;">
|
||||
<div style="font-family:'Courier New',monospace;font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:#3b82f6;">AV Beat Newsletter</div>
|
||||
<h1 style="margin:14px 0 8px;font-size:24px;line-height:1.2;color:#ffffff;font-weight:800;">You're in</h1>
|
||||
<p style="margin:0;color:#cfd6e1;font-size:15px;line-height:1.55;">Thanks for subscribing to <strong style="color:#ffffff;">AV Beat</strong> — the digital platform for broadcast engineering professionals.</p>
|
||||
<p style="margin:0;color:#cfd6e1;font-size:15px;line-height:1.55;">Thanks for subscribing to <strong style="color:#ffffff;">AV Beat</strong> — the digital platform for pro AV, live production, and display tech professionals.</p>
|
||||
${topicsBlock}
|
||||
</td></tr>
|
||||
<tr><td style="padding:18px 36px 8px;">
|
||||
|
||||
@@ -141,7 +141,7 @@ export async function POST(req: NextRequest) {
|
||||
<!-- Header -->
|
||||
<div style="background:#111;border-bottom:2px solid #3b82f6;padding:24px 32px;">
|
||||
<h1 style="color:#3b82f6;font-size:22px;margin:0;font-weight:bold;">AV Beat</h1>
|
||||
<p style="color:#555;font-size:12px;margin:4px 0 0;">News & Intelligence for Broadcast, Post-Production & Streaming Technology</p>
|
||||
<p style="color:#555;font-size:12px;margin:4px 0 0;">News & Intelligence for Pro AV, Live Production & Display Tech</p>
|
||||
</div>
|
||||
<!-- Body -->
|
||||
<div style="padding:32px;">
|
||||
|
||||
@@ -2,18 +2,18 @@ import type { Metadata } from 'next';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'The Crew Lounge — AV Beat',
|
||||
description: 'The Crew Lounge: connect with broadcast, motion picture and post production professionals worldwide. Discuss live production, IP workflows, streaming, audio, cameras, AI automation, and more.',
|
||||
description: 'The Crew Lounge: connect with pro AV integrators, live production engineers, and display tech specialists worldwide. Discuss AV-over-IP, control systems, projection & display, audio engineering, conferencing, AI automation, and more.',
|
||||
alternates: { canonical: '/forum' },
|
||||
openGraph: {
|
||||
title: 'The Crew Lounge — AV Beat',
|
||||
description: 'The Crew Lounge: connect with broadcast, motion picture and post production professionals worldwide. Ask questions, share expertise, and discuss broadcast technology.',
|
||||
description: 'The Crew Lounge: connect with pro AV integrators, live production engineers, and display tech specialists worldwide. Ask questions, share expertise, and discuss AV technology.',
|
||||
url: '/forum',
|
||||
type: 'website',
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary',
|
||||
title: 'The Crew Lounge — AV Beat',
|
||||
description: 'The Crew Lounge: connect with broadcast, motion picture and post production professionals worldwide on AV Beat.',
|
||||
description: 'The Crew Lounge: connect with pro AV integrators, live production engineers, and display tech specialists worldwide on AV Beat.',
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -294,7 +294,7 @@ export default function ForumIndexPage() {
|
||||
<h1 className="text-3xl font-heading font-bold text-white">The Crew Lounge</h1>
|
||||
</div>
|
||||
<p className="text-[#aab4c4] font-body text-sm max-w-2xl">
|
||||
Connect with broadcast, motion picture, and post production pros worldwide.
|
||||
Connect with pro AV integrators, live production engineers, and display tech specialists worldwide.
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex-shrink-0">
|
||||
|
||||
@@ -34,8 +34,8 @@ export const viewport: Viewport = {
|
||||
|
||||
export const metadata: Metadata = {
|
||||
metadataBase: new URL(process.env.NEXT_PUBLIC_SITE_URL || 'http://localhost:3000'),
|
||||
title: 'AV Beat — Broadcast Engineering News & Insights',
|
||||
description: 'The digital platform for broadcast engineering professionals. Breaking news, deep-dive features, and industry spotlights from NAB to IBC and beyond.',
|
||||
title: 'AV Beat — Pro AV, Live Production & Display Tech News',
|
||||
description: 'The digital platform for pro AV, live production, and display tech professionals. Breaking news, deep-dive features, and industry spotlights from InfoComm to ISE and beyond.',
|
||||
icons: {
|
||||
icon: [
|
||||
{ url: '/favicon.ico', type: 'image/x-icon', sizes: 'any' },
|
||||
@@ -59,14 +59,14 @@ export const metadata: Metadata = {
|
||||
locale: 'en_US',
|
||||
url: '/',
|
||||
siteName: 'AV Beat',
|
||||
title: 'AV Beat — Broadcast News',
|
||||
description: 'Breaking news and insights for broadcast engineering professionals.',
|
||||
title: 'AV Beat — Pro AV, Live Production & Display Tech',
|
||||
description: 'Breaking news and insights for pro AV, live production, and display tech professionals.',
|
||||
images: [
|
||||
{
|
||||
url: '/assets/images/og-image.png',
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: 'AV Beat — Broadcast Engineering News & Insights',
|
||||
alt: 'AV Beat — Pro AV, Live Production & Display Tech News',
|
||||
type: 'image/png'
|
||||
}]
|
||||
|
||||
@@ -75,8 +75,8 @@ export const metadata: Metadata = {
|
||||
card: 'summary_large_image',
|
||||
site: '@AV Beat',
|
||||
creator: '@AV Beat',
|
||||
title: 'AV Beat — Broadcast News',
|
||||
description: 'Breaking news and insights for broadcast engineering professionals.',
|
||||
title: 'AV Beat — Pro AV, Live Production & Display Tech',
|
||||
description: 'Breaking news and insights for pro AV, live production, and display tech professionals.',
|
||||
images: ['/assets/images/og-image.png']
|
||||
},
|
||||
robots: {
|
||||
@@ -125,7 +125,7 @@ export default function RootLayout({
|
||||
name: 'AV Beat',
|
||||
url: 'https://avbeat.com',
|
||||
logo: "https://avbeat.com/assets/images/logo.svg",
|
||||
description: 'The digital platform for broadcast engineering professionals. Breaking news, deep-dive features, and industry spotlights from NAB to IBC and beyond.',
|
||||
description: 'The digital platform for pro AV, live production, and display tech professionals. Breaking news, deep-dive features, and industry spotlights from InfoComm to ISE and beyond.',
|
||||
sameAs: [
|
||||
'https://linkedin.com',
|
||||
'https://twitter.com',
|
||||
|
||||
@@ -43,7 +43,7 @@ export default function MarketplacePage() {
|
||||
</h1>
|
||||
<p className="text-lg md:text-xl text-gray-400 max-w-3xl mx-auto mb-10 leading-relaxed">
|
||||
Find crew, hire vendors, post jobs, and land gigs — all in one place built by
|
||||
broadcast professionals, for broadcast professionals.
|
||||
pro AV professionals, for pro AV professionals.
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
||||
<Link
|
||||
@@ -104,7 +104,7 @@ export default function MarketplacePage() {
|
||||
</div>
|
||||
<h3 className="text-xl font-bold mb-3">Find Talent</h3>
|
||||
<p className="text-gray-400 text-sm leading-relaxed mb-6">
|
||||
Search our directory of verified broadcast professionals and production vendors.
|
||||
Search our directory of verified pro AV integrators, live production engineers, and display tech vendors.
|
||||
Filter by location, specialty, rate, and union status.
|
||||
</p>
|
||||
<Link
|
||||
@@ -122,7 +122,7 @@ export default function MarketplacePage() {
|
||||
<h3 className="text-xl font-bold mb-3">Post Jobs & Gigs</h3>
|
||||
<p className="text-gray-400 text-sm leading-relaxed mb-6">
|
||||
Post full-time positions or short-term crew calls. Reach thousands of qualified
|
||||
broadcast professionals instantly.
|
||||
pro AV professionals instantly.
|
||||
</p>
|
||||
<div className="flex flex-col gap-2">
|
||||
<Link
|
||||
|
||||
@@ -605,7 +605,7 @@ export default function NewsArticleDetailClient({
|
||||
<div className="bg-[#0d1520] border border-[#1e3a5f] p-5">
|
||||
<h3 className="font-heading text-[#e0e0e0] font-bold mb-2">Stay Updated</h3>
|
||||
<p className="font-body text-[#777] text-xs mb-4">
|
||||
Get the latest broadcast engineering news delivered to your inbox.
|
||||
Get the latest pro AV industry news delivered to your inbox.
|
||||
</p>
|
||||
<Link
|
||||
href="/home-page#newsletter"
|
||||
|
||||
@@ -44,7 +44,7 @@ export async function GET() {
|
||||
<title>AV Beat</title>
|
||||
<link>${SITE_URL}</link>
|
||||
<atom:link href="${SITE_URL}/rss" rel="self" type="application/rss+xml" />
|
||||
<description>News & Intelligence for Broadcast, Post-Production & Streaming Technology</description>
|
||||
<description>News & Intelligence for Pro AV, Live Production & Display Tech</description>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>${new Date().toUTCString()}</lastBuildDate>
|
||||
${items}
|
||||
|
||||
@@ -13,7 +13,7 @@ export const revalidate = 60;
|
||||
export const metadata: Metadata = {
|
||||
title: "Search — AV Beat",
|
||||
description:
|
||||
"Search AV Beat for broadcast engineering news, gear reviews, show coverage, and technology insights.",
|
||||
"Search AV Beat for pro AV news, gear reviews, show coverage, and live-production technology insights.",
|
||||
alternates: { canonical: "/search" },
|
||||
};
|
||||
|
||||
|
||||
@@ -114,9 +114,9 @@ export default function Footer() {
|
||||
<AppImage
|
||||
src="/assets/images/logo.svg"
|
||||
alt="AV Beat"
|
||||
width={180}
|
||||
height={24}
|
||||
className="h-6 w-auto object-contain" />
|
||||
width={260}
|
||||
height={36}
|
||||
className="h-9 w-auto object-contain" />
|
||||
</Link>
|
||||
|
||||
<div className="flex items-center gap-4">
|
||||
|
||||
@@ -265,10 +265,10 @@ export default function Header() {
|
||||
<AppImage
|
||||
src="/assets/images/logo.svg"
|
||||
alt="AV Beat logo"
|
||||
width={200}
|
||||
height={26}
|
||||
width={320}
|
||||
height={48}
|
||||
priority={true}
|
||||
className="h-7 w-auto object-contain"
|
||||
className="h-12 w-auto object-contain"
|
||||
/>
|
||||
</Link>
|
||||
|
||||
@@ -418,7 +418,7 @@ export default function Header() {
|
||||
<div className="max-w-container mx-auto px-4">
|
||||
<div className="bg-[#1a2535] border-b border-[#2a3a50] h-8 flex items-center justify-between px-4">
|
||||
<p className="text-[#999999] text-xs font-body hidden sm:block">
|
||||
News & Intelligence for Broadcast, Post-Production & Streaming Technology
|
||||
News & Intelligence for Pro AV, Live Production & Display Tech
|
||||
</p>
|
||||
<div className="flex items-center gap-3 ml-auto">
|
||||
<a href="https://linkedin.com/company/avbeat" target="_blank" rel="noopener noreferrer" aria-label="AV Beat on LinkedIn"
|
||||
|
||||
Reference in New Issue
Block a user