av: clone broadcastbeat sources + AV Beat rebrand (Phase 1)

- Replaces the prior Rocket scaffold (saved on pre-bb-clone-rollback branch)
- Domain: broadcastbeat.com -> avbeat.com
- Brand: Broadcast Beat -> AV Beat
- Slug: broadcastbeat -> avbeat (package, identifiers)
- Schema fallback: bb -> av (env var name unchanged)
- Placeholder AV BEAT logo (gold->red gradient) at /assets/logos/av.svg
- All BB/RMP logo references repointed

Outstanding before public DNS swap:
  - Supabase av schema bootstrap (mirror of bb tables)
  - WordPress archive import (avbeat-com -> av.articles)
  - Coolify env vars
  - dev-avbeat.onsethost.com staging deploy + visual review
This commit is contained in:
Claude
2026-06-02 15:32:56 +00:00
parent dd93a74bdf
commit d43f78b161
137 changed files with 4728 additions and 4541 deletions

View File

@@ -71,7 +71,7 @@ export default function AskBBAI() {
aria-label="Ask BB AI"
>
<span className="relative inline-block w-3 h-3">
<span className="absolute inset-0 rounded-full bg-[var(--color-text-info,#E67E22)]" />
<span className="absolute inset-0 rounded-full bg-[var(--color-text-info,#60a5fa)]" />
<span className="bb-ring" />
</span>
<span className="font-serif">Ask BB AI</span>
@@ -88,7 +88,7 @@ export default function AskBBAI() {
<header className="flex items-center justify-between px-5 py-4 border-b border-[#252525]">
<div className="flex items-center gap-2">
<span className="relative inline-block w-3 h-3">
<span className="absolute inset-0 rounded-full bg-[var(--color-text-info,#E67E22)]" />
<span className="absolute inset-0 rounded-full bg-[var(--color-text-info,#60a5fa)]" />
<span className="bb-ring" />
</span>
<h2 className="font-serif text-lg font-semibold text-white">BB AI</h2>
@@ -109,7 +109,7 @@ export default function AskBBAI() {
className={
"inline-block max-w-[85%] rounded px-3 py-2 text-sm whitespace-pre-wrap " +
(m.role === "user"
? "bg-[var(--color-text-info,#E67E22)] text-black"
? "bg-[var(--color-text-info,#60a5fa)] text-black"
: "bg-[#111] border border-[#252525] text-[#e5e7eb]")
}
dangerouslySetInnerHTML={{ __html: m.role === "assistant" ? linkifyMarkdown(m.content) : escapeHtml(m.content) }}
@@ -133,12 +133,12 @@ export default function AskBBAI() {
onKeyDown={(e) => e.key === "Enter" && send()}
placeholder="Ask about an event, a vendor, a workflow…"
disabled={busy}
className="flex-1 bg-[#111] border border-[#252525] rounded px-3 py-2 text-sm text-[#e5e7eb] focus:border-[var(--color-text-info,#E67E22)] focus:outline-none"
className="flex-1 bg-[#111] border border-[#252525] rounded px-3 py-2 text-sm text-[#e5e7eb] focus:border-[var(--color-text-info,#60a5fa)] focus:outline-none"
/>
<button
onClick={send}
disabled={busy || !input.trim()}
className="bg-[var(--color-text-info,#E67E22)] text-black font-semibold px-4 py-2 rounded text-sm disabled:opacity-40 disabled:cursor-not-allowed"
className="bg-[var(--color-text-info,#60a5fa)] text-black font-semibold px-4 py-2 rounded text-sm disabled:opacity-40 disabled:cursor-not-allowed"
>
Send
</button>
@@ -161,7 +161,7 @@ function linkifyMarkdown(s: string): string {
let out = escapeHtml(s);
out = out.replace(
/\[([^\]]+)\]\(([^)]+)\)/g,
'<a href="$2" class="text-[#E67E22] hover:underline">$1</a>'
'<a href="$2" class="text-[#60a5fa] hover:underline">$1</a>'
);
out = out.replace(/\n/g, "<br/>");
return out;