Replace 'BroadcastBeat' with 'Broadcast Beat' in all user-visible text (133 occurrences across 40+ files)

This commit is contained in:
broadcastbeat-rename
2026-05-16 00:32:13 +00:00
parent 959e3980ae
commit 0db3ea34e3
52 changed files with 133 additions and 133 deletions

View File

@@ -13,9 +13,9 @@ export async function POST(request: NextRequest) {
});
await transport.sendMail({
from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`,
from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`,
to: 'editor@broadcastbeat.com',
subject: `[BroadcastBeat] Blocked post attempt — banned term triggered`,
subject: `[Broadcast Beat] Blocked post attempt — banned term triggered`,
html: `
<div style="font-family:Arial,sans-serif;max-width:600px;background:#0a0a0a;color:#e5e5e5;padding:32px;border-radius:8px;">
<h2 style="color:#ef4444;margin:0 0 16px;">Blocked Post Attempt</h2>

View File

@@ -13,7 +13,7 @@ export async function POST(request: NextRequest) {
const companyList = (companies || []).slice(0, 10).map((c: string) => `<li>${c}</li>`).join('');
const moreText = companies?.length > 10 ? `<p style="color:#888;font-size:13px;">...and ${companies.length - 10} more</p>` : '';
await transport.sendMail({
from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`,
from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`,
to: email || 'ryan.salazar@relevantmediaproperties.com',
subject: `[Relevant Media Properties] ${count} new company story suggestion${count !== 1 ? 's' : ''} queued`,
html: `

View File

@@ -35,8 +35,8 @@ async function sendSuspensionEmail(
: '';
const subject = isBanned
? `Your BroadcastBeat account has been banned`
: `Your BroadcastBeat account has been suspended`;
? `Your Broadcast Beat account has been banned`
: `Your Broadcast Beat account has been suspended`;
const html = `
<!DOCTYPE html>
@@ -45,7 +45,7 @@ async function sendSuspensionEmail(
<body style="background:#0d1117;color:#e5e7eb;font-family:system-ui,sans-serif;margin:0;padding:0;">
<div style="max-width:560px;margin:40px auto;padding:32px;background:#111827;border:1px solid #1f2937;border-radius:12px;">
<div style="margin-bottom:24px;">
<span style="font-size:24px;font-weight:800;color:#fff;">BroadcastBeat</span>
<span style="font-size:24px;font-weight:800;color:#fff;">Broadcast Beat</span>
</div>
<div style="background:${isBanned ? '#7f1d1d' : '#78350f'};border:1px solid ${isBanned ? '#991b1b' : '#92400e'};border-radius:8px;padding:16px;margin-bottom:24px;">
<p style="margin:0;font-size:14px;font-weight:700;color:${isBanned ? '#fca5a5' : '#fcd34d'};">
@@ -54,7 +54,7 @@ async function sendSuspensionEmail(
</div>
<p style="color:#d1d5db;font-size:15px;line-height:1.6;">Hi ${fullName || 'there'},</p>
<p style="color:#d1d5db;font-size:15px;line-height:1.6;">
Your BroadcastBeat account has been <strong style="color:#fff;">${isBanned ? 'permanently banned' : `suspended ${durationText}`}</strong>.
Your Broadcast Beat account has been <strong style="color:#fff;">${isBanned ? 'permanently banned' : `suspended ${durationText}`}</strong>.
</p>
<div style="background:#0d1117;border:1px solid #1f2937;border-radius:8px;padding:16px;margin:20px 0;">
<p style="margin:0 0 8px;color:#888;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;">Reason</p>
@@ -65,7 +65,7 @@ async function sendSuspensionEmail(
${isBanned ? 'This decision is final. If you believe this is an error, please contact our support team.' : 'During this period, you will not be able to post threads or replies. If you believe this is an error, please contact our support team.'}
</p>
<div style="margin-top:24px;padding-top:24px;border-top:1px solid #1f2937;">
<p style="margin:0;color:#555;font-size:12px;">BroadcastBeat &mdash; ${siteUrl}</p>
<p style="margin:0;color:#555;font-size:12px;">Broadcast Beat &mdash; ${siteUrl}</p>
</div>
</div>
</body>
@@ -73,7 +73,7 @@ async function sendSuspensionEmail(
`;
await transporter.sendMail({
from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`,
from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`,
to: email,
subject,
html,

View File

@@ -118,7 +118,7 @@ export async function POST(req: NextRequest) {
},
body: JSON.stringify({
email,
inviterName: inviterProfile?.full_name || inviterProfile?.email || 'BroadcastBeat Admin',
inviterName: inviterProfile?.full_name || inviterProfile?.email || 'Broadcast Beat Admin',
role: role || 'contributor',
token,
message,

View File

@@ -22,7 +22,7 @@ export async function POST(request: NextRequest) {
date: a.date,
}));
const systemPrompt = `You are a personalized content recommendation engine for BroadcastBeat, a broadcast engineering news platform.
const systemPrompt = `You are a personalized content recommendation engine for Broadcast Beat, a broadcast engineering 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.`;

View File

@@ -38,7 +38,7 @@ export async function POST(request: NextRequest) {
try {
response = await fetch(url, {
headers: {
'User-Agent': 'Mozilla/5.0 (compatible; BroadcastBeat/1.0; +https://broadcastbeat.com)',
'User-Agent': 'Mozilla/5.0 (compatible; Broadcast Beat/1.0; +https://broadcastbeat.com)',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
},
signal: controller.signal,

View File

@@ -23,11 +23,11 @@ function rateLimit(key: string): { ok: boolean; remaining: number } {
return { ok: true, remaining: RATE_LIMIT_MAX - b.count };
}
const SYSTEM_PROMPT = `You are BB AI, BroadcastBeat's intelligent research assistant.
const SYSTEM_PROMPT = `You are BB AI, Broadcast Beat's intelligent research assistant.
You help readers — broadcast engineers, post-production supervisors,
streaming architects, and broadcast executives — find information from the
BroadcastBeat archive.
Broadcast Beat archive.
Tone: trade-press, factual, lightly conversational. Plain English.

View File

@@ -19,7 +19,7 @@ export async function POST(req: NextRequest) {
[
{
role: 'system',
content: `You are the BroadcastBeat 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 Broadcast 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.
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.
@@ -51,7 +51,7 @@ Please provide a helpful, technically accurate response for this broadcast engin
.insert({
thread_id,
body: aiResponseText,
author_name: 'BroadcastBeat AI',
author_name: 'Broadcast Beat AI',
is_ai_response: true,
})
.select()

View File

@@ -20,7 +20,7 @@ export async function POST(req: NextRequest) {
});
await transporter.sendMail({
from: `"${process.env.SMTP_FROM_NAME || 'BroadcastBeat'}" <${process.env.SMTP_FROM_EMAIL}>`,
from: `"${process.env.SMTP_FROM_NAME || 'Broadcast Beat'}" <${process.env.SMTP_FROM_EMAIL}>`,
to,
subject,
html,

View File

@@ -35,7 +35,7 @@ export async function POST(req: NextRequest) {
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Article shared with you — BroadcastBeat</title>
<title>Article shared with you — Broadcast Beat</title>
</head>
<body style="margin:0;padding:0;background:#0d0d0d;font-family:Arial,sans-serif;">
<table width="100%" cellpadding="0" cellspacing="0" style="background:#0d0d0d;padding:32px 16px;">
@@ -45,7 +45,7 @@ export async function POST(req: NextRequest) {
<!-- Header -->
<tr>
<td style="background:#0a0a0a;border-bottom:1px solid #1a1a1a;padding:20px 28px;">
<p style="margin:0;color:#3b82f6;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;">BroadcastBeat</p>
<p style="margin:0;color:#3b82f6;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;">Broadcast Beat</p>
</td>
</tr>
<!-- Body -->
@@ -62,8 +62,8 @@ export async function POST(req: NextRequest) {
<!-- Footer -->
<tr>
<td style="background:#0a0a0a;border-top:1px solid #1a1a1a;padding:16px 28px;">
<p style="margin:0;color:#444;font-size:11px;">You received this because someone shared a BroadcastBeat article with you.</p>
<p style="margin:6px 0 0;color:#333;font-size:11px;">© ${new Date().getFullYear()} BroadcastBeat. All rights reserved.</p>
<p style="margin:0;color:#444;font-size:11px;">You received this because someone shared a Broadcast Beat article with you.</p>
<p style="margin:6px 0 0;color:#333;font-size:11px;">© ${new Date().getFullYear()} Broadcast Beat. All rights reserved.</p>
</td>
</tr>
</table>
@@ -74,7 +74,7 @@ export async function POST(req: NextRequest) {
</html>`;
await transporter.sendMail({
from: `"${process.env.SMTP_FROM_NAME || "BroadcastBeat"}" <${process.env.SMTP_FROM_EMAIL}>`,
from: `"${process.env.SMTP_FROM_NAME || "Broadcast Beat"}" <${process.env.SMTP_FROM_EMAIL}>`,
to,
subject: `Shared article: ${articleTitle}`,
html,

View File

@@ -37,7 +37,7 @@ export async function POST(req: NextRequest) {
const smtpUser = process.env.SMTP_USER;
const smtpPass = process.env.SMTP_PASS;
const fromEmail = process.env.SMTP_FROM_EMAIL || smtpUser;
const fromName = process.env.SMTP_FROM_NAME || 'BroadcastBeat';
const fromName = process.env.SMTP_FROM_NAME || 'Broadcast Beat';
if (smtpHost && smtpUser && smtpPass) {
const transporter = nodemailer.createTransport({
@@ -54,11 +54,11 @@ export async function POST(req: NextRequest) {
await transporter.sendMail({
from: `"${fromName}" <${fromEmail}>`,
to: email,
subject: `Welcome to BroadcastBeat — You're subscribed!`,
subject: `Welcome to Broadcast Beat — You're subscribed!`,
html: `
<div style="background:#0d1520;padding:40px 20px;font-family:sans-serif;max-width:600px;margin:0 auto;">
<h1 style="color:#3b82f6;font-size:24px;margin-bottom:8px;">You're in!</h1>
<p style="color:#e0e0e0;font-size:16px;">Thanks for subscribing to <strong>BroadcastBeat</strong> — the digital platform for broadcast engineering.</p>
<p style="color:#e0e0e0;font-size:16px;">Thanks for subscribing to <strong>Broadcast Beat</strong> — the digital platform for broadcast engineering.</p>
${topicsList}
<p style="color:#aaa;font-size:14px;margin-top:24px;">You'll be the first to know about the latest news, product launches, and industry insights.</p>
<hr style="border:none;border-top:1px solid #1e3a5f;margin:32px 0;" />

View File

@@ -95,7 +95,7 @@ export async function POST(req: NextRequest) {
const smtpUser = process.env.SMTP_USER;
const smtpPass = process.env.SMTP_PASS;
const fromEmail = process.env.SMTP_FROM_EMAIL || smtpUser;
const fromName = process.env.SMTP_FROM_NAME || 'BroadcastBeat';
const fromName = process.env.SMTP_FROM_NAME || 'Broadcast Beat';
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://broadcastbeat.com';
if (!smtpHost || !smtpUser || !smtpPass) {
@@ -140,7 +140,7 @@ export async function POST(req: NextRequest) {
<div style="background:#0d1520;padding:0;font-family:sans-serif;max-width:600px;margin:0 auto;">
<!-- 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;">BroadcastBeat</h1>
<h1 style="color:#3b82f6;font-size:22px;margin:0;font-weight:bold;">Broadcast Beat</h1>
<p style="color:#555;font-size:12px;margin:4px 0 0;">News & Intelligence for Broadcast, Post-Production & Streaming Technology</p>
</div>
<!-- Body -->
@@ -153,7 +153,7 @@ export async function POST(req: NextRequest) {
<div style="background:#0a0f1a;padding:24px 32px;border-top:1px solid #1e3a5f;">
<p style="color:#555;font-size:12px;margin:0;">You're receiving this because you subscribed at broadcastbeat.com.</p>
<p style="color:#555;font-size:12px;margin:8px 0 0;">
<a href="${siteUrl}" style="color:#3b82f6;">Visit BroadcastBeat</a> ·
<a href="${siteUrl}" style="color:#3b82f6;">Visit Broadcast Beat</a> ·
<a href="${siteUrl}/unsubscribe?email={{email}}" style="color:#3b82f6;">Unsubscribe</a>
</p>
</div>

View File

@@ -29,7 +29,7 @@ function stripHtml(html: string): string {
async function fetchWPPosts(page: number): Promise<{ posts: WPPost[]; totalPages: number }> {
const url = `${WP_BASE_URL}/posts?page=${page}&per_page=${PER_PAGE}&_embed=1&status=publish`;
const res = await fetch(url, {
headers: { 'User-Agent': 'BroadcastBeat-Importer/1.0' },
headers: { 'User-Agent': 'Broadcast Beat-Importer/1.0' },
next: { revalidate: 0 },
});
@@ -54,7 +54,7 @@ async function downloadAndStoreImage(
try {
// Fetch the image
const response = await fetch(imageUrl, {
headers: { 'User-Agent': 'BroadcastBeat-Importer/1.0' },
headers: { 'User-Agent': 'Broadcast Beat-Importer/1.0' },
signal: AbortSignal.timeout(15000),
});