BB AI redesign: 4-item nav, Show coverage, About, status bar, wire ticker,
trends sidebar, Ask BB AI, neural-summary schema, 13-event seed.
Phases 1-10 (11 phases minus Phase 8 which is the pgvector marker).
DB:
bb.events — 13 industry events seeded (MPTS, ANGA COM,
BroadcastAsia, SET Expo, IBC, NAB NY,
NewTECHForum, SATIS, DPP EBS, SVVS,
Hamburg Open, CABSAT, NAB Show '27).
bb.article_events — composite PK (article_id, article_table, event_id)
links any article-table row to one or more events.
bb.banner_creatives — (no change tonight)
bb.{native_articles,
ai_rewritten_articles,
wp_imported_posts,
press_releases}.neural_summary jsonb — populated by Phase 7
analyzer (deferred).
bb.{native_articles,
ai_rewritten_articles}.featured boolean — featured carousel source.
Routes:
/api/events/upcoming — date-gated, enriched with is_live/days_until/
day_of_event/total_days.
/api/ask-bb-ai — Claude Opus 4.7 chat with prompt caching on
the system block, 30-msg/hr/IP rate limit.
Tool-use deferred — first cut is straight
LLM with archive-citation prompting.
Pages:
/show-coverage — index of all events, upcoming + past split.
/show-coverage/[slug] — hero + status (live/T-Nd/past) + schema.org
Event JSON-LD + tagged articles list.
/about, /about/{team,contact,advertise,press-kit}.
Components:
Header — 4-item nav: Show coverage (dropdown) /
Newsletter / Forum / About (dropdown).
Old NEWS/GEAR/TECHNOLOGY/ADVERTISE items
removed from nav (routes still exist).
EventsDropdown — 340px CSI panel with L-corner brackets,
pulsing dot, "BB AI" badge, live/T-Nd rows,
auto-updated stamp.
AboutDropdown — 5-item lighter treatment.
SystemStatusBar — Index online pulse, articles/sources/events
counts, build version. Above Header.
LiveWireTicker — replaces NewsTicker. [HH:MM] [SRC] prefix,
CSS marquee, doubled for seamless loop.
TrendsSidebar — BB AI detected trends, top 5 entities by
7d-vs-30d lift, vector-pass stamp.
Phase 6b: replace with pgvector.
AskBBAI — floating bottom-right button + 420px right
drawer chat. No mention of Anthropic/Claude.
Styling:
redesign-tokens.css — --color-text-info, --color-background-*,
--font-serif/mono/body, bb-pulse/bb-ring
animations + bb-marquee.
Constraints honored:
- LiveU 728x90 still between </nav> and ticker.
- Blackmagic 300x600 still pinned top of sidebar.
- /r/[slug] click tracking unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1 +1 @@
|
||||
@import './tailwind.css';
|
||||
@import './tailwind.css';@import './redesign-tokens.css';
|
||||
|
||||
78
src/styles/redesign-tokens.css
Normal file
78
src/styles/redesign-tokens.css
Normal file
@@ -0,0 +1,78 @@
|
||||
/* Phase 10 — redesign tokens + animations
|
||||
Adds variables and bb-pulse / bb-ring keyframes used by the new CSI/AI
|
||||
homepage components. Existing tokens kept intact (forward-only). */
|
||||
|
||||
:root {
|
||||
/* AI accent (blue) — same hue as --color-accent but exposed via the
|
||||
spec name --color-text-info so the redesign components can reference
|
||||
it without coupling to the existing --color-accent. */
|
||||
--color-text-info: #60a5fa;
|
||||
--color-text-info-strong: #3b82f6;
|
||||
|
||||
/* Backgrounds */
|
||||
--color-background-primary: #0a0a0a;
|
||||
--color-background-secondary: #111111;
|
||||
--color-background-tertiary: #1a1f2e;
|
||||
|
||||
/* Text */
|
||||
--color-text-primary: #e8e8e8;
|
||||
--color-text-secondary: #b0b0b0;
|
||||
--color-text-tertiary: #6b7280;
|
||||
|
||||
/* Brand surfaces */
|
||||
--color-text-success: #10b981;
|
||||
--color-text-warning: #f59e0b;
|
||||
--color-text-danger: #ef4444;
|
||||
|
||||
/* Type families */
|
||||
--font-serif: Georgia, "Times New Roman", "Tinos", serif;
|
||||
--font-mono: "JetBrains Mono", "Fira Code", "Courier New", Courier, monospace;
|
||||
--font-body: Arial, Helvetica, system-ui, sans-serif;
|
||||
|
||||
/* Radii */
|
||||
--border-radius-md: 6px;
|
||||
--border-radius-sm: 3px;
|
||||
}
|
||||
|
||||
@keyframes bb-pulse {
|
||||
0%, 100% { opacity: 1; }
|
||||
50% { opacity: 0.25; }
|
||||
}
|
||||
|
||||
@keyframes bb-ring {
|
||||
0% { transform: scale(0.6); opacity: 1; }
|
||||
100% { transform: scale(2.4); opacity: 0; }
|
||||
}
|
||||
|
||||
.bb-pulse-dot {
|
||||
display: inline-block;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-text-info, #60a5fa);
|
||||
animation: bb-pulse 2s infinite ease-in-out;
|
||||
}
|
||||
|
||||
.bb-pulse-dot--red { background: var(--color-text-danger, #ef4444); }
|
||||
.bb-pulse-dot--green { background: var(--color-text-success, #10b981); }
|
||||
|
||||
.bb-ring {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
border-radius: 50%;
|
||||
border: 2px solid var(--color-text-info, #60a5fa);
|
||||
animation: bb-ring 1.8s infinite ease-out;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Marquee for live wire ticker */
|
||||
@keyframes bb-marquee {
|
||||
from { transform: translateX(0); }
|
||||
to { transform: translateX(-50%); }
|
||||
}
|
||||
.bb-marquee {
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
animation: bb-marquee 90s linear infinite;
|
||||
}
|
||||
.bb-marquee:hover { animation-play-state: paused; }
|
||||
Reference in New Issue
Block a user