Commit Graph

10 Commits

Author SHA1 Message Date
Claude Code
146b7259d4 wip-banner-system: real ads, logo fix, remove duplicate banner, clean footer
- Remove duplicate 728x90 LeaderboardAd below news ticker (per Ryan)
- Footer: remove NAB Official Media Partner badge
- Header: replace AdSlot stub with real AdImage rotation (3 verified 728x90s)
- Header: fix logo path from dead WP URL to local /assets/images/logo.png
- ads.ts: only include ads with verified real images (3x728x90, 2x300x250)
- ads.ts: remove 22 unrecovered ads — see PENDING_ads.md for upload list
- SidebarAdStack: handle null FIXED_300X600 gracefully (Blackmagic not recovered)
- public/legacy/ads/: 5 real ad images committed (Tower, Sony, LiveU 728x90; LiveU PAYG, Telycam 300x250)
- public/assets/images/logo.png: recovered from Wayback Machine

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 12:23:22 +00:00
Ryan Salazar
aec6d0c43d Header: also rename mobile drawer 'My Account' to 'My Profile' (parity with desktop) 2026-05-10 14:48:48 +00:00
Ryan Salazar
1ca5ca108a Header: consolidate My Account/Profile into one link; group 9 admin tools into TOOLS dropdown
Top-bar nav changes:
- Authenticated user previously saw two separate links 'My Account' (-> /account)
  and 'My Profile' (-> /profile/{userId}). Replaced with a single 'My Profile'
  link -> /account.
- Admin block previously rendered 14 inline links (WP Import, Articles, Editorial,
  Users, Analytics, Audit Log, Notifications, Newsletter, Forum Seed, Company
  Tracker, Show Calendar, AI Console, Banned Terms, Dashboard) which sprawled
  horizontally past the available width. 9 of those are now grouped under a
  single TOOLS hover dropdown matching the existing NEWS/GEAR/SHOW
  COVERAGE/TECHNOLOGY pattern (Tailwind group-hover + group-focus-within for
  keyboard accessibility, role=menu / menuitem, aria-haspopup=true).
- Inline admin links retained per spec: WP Import, Articles, Editorial,
  Newsletter.
- TOOLS submenu: Users, Analytics, Audit Log, Notifications, Forum Seed,
  Company Tracker, Show Calendar, AI Console, Banned Terms.

The whole admin tier (inline + dropdown) remains gated by the existing isAdmin
check, so anonymous and non-admin users see nothing.
2026-05-10 14:41:46 +00:00
Ryan Salazar
0674d0188b Header redesign: dropdowns + site-wide leaderboard, drop secondary nav
Reorganize the navigation:
- navLinks now carries an optional dropdown[] per section. NEWS / GEAR &
  REVIEWS / SHOW COVERAGE / TECHNOLOGY get sub-items pulled from the old
  flat categoryLinks list.
- Desktop main nav renders each top-level item as a hover-triggered
  dropdown (CSS-only via Tailwind group-hover + group-focus-within for
  keyboard accessibility). aria-haspopup advertises the popup; the panel
  is role=menu with menuitem children.
- Mobile drawer's category list now groups by parent section instead of
  showing a flat list.
- Removed the secondary category sub-nav row that previously sat below
  the main nav (its content is in the dropdowns now).
- Added a site-wide 728x90 ad slot between the top utility bar and the
  main nav (md+ only). Uses <AdSlot zone='homepage-top'> so the existing
  ad-rotation pool serves it.

Net: 566 → ~600 lines (markup heavier than what was removed because the
dropdown panels are inline).
2026-05-08 22:25:47 +00:00
Ryan Salazar
e544ddccd1 update homepage tagline to 'News & Intelligence for Broadcast, Post-Production & Streaming Technology' 2026-05-08 21:06:49 +00:00
Ryan Salazar
c642b4deb5 Header: split Sign In / My Account by auth state, route Sign In to /client-login
Desktop nav (and mobile drawer) now show different account-related
links depending on auth state:

- Anonymous: Sign In (-> /client-login) + Register
- Authenticated: My Account + My Profile
- Admin-tier (administrator/admin/super_admin/editor/support): plus the
  full admin block (already gated by isAdmin from earlier commit)

Previously a single 'Sign In / My Account' link pointed at /account
regardless of auth state, which forced anonymous users through a
server-side bounce to the login page. Now Sign In links straight to the
canonical /client-login.
2026-05-08 21:05:32 +00:00
Ryan Salazar
7c9d2c8c79 remove rocket.new leaderboard banner; re-add admin nav guard
- src/app/home-page/components/LeaderboardAd.tsx: drop the hardcoded
  img.rocket.new image (rocket_gen_img_1bebfd3c7) at the top of the
  homepage. Replaced with <AdSlot zone='homepage-top' size='728x90' />
  to keep the slot for the eventual ad-server wiring while removing the
  rocket.new dependency entirely.
- src/components/Header.tsx: re-add the isAdmin gate that was reverted
  in 0d51dad. Reads bb.user_profiles.role and only renders the desktop
  admin nav block (WP Import, Articles, Editorial, Users, Analytics,
  Audit Log, Notifications, Newsletter, Forum Seed, Company Tracker,
  Show Calendar, AI Console, Banned Terms, Dashboard) and the mobile WP
  Import link when role is in (administrator, admin, super_admin,
  editor, support). 'support' is admin-tier per the new RBAC matrix.
  Page-level auth checks on each /admin/* route remain authoritative;
  this only suppresses menu visibility for non-admin/anonymous.
2026-05-08 15:03:16 +00:00
Ryan Salazar
0d51dade6e Revert "hide admin nav links unless user has admin role"
This reverts commit 92a256bbe0.
2026-05-07 22:50:35 +00:00
Ryan Salazar
92a256bbe0 hide admin nav links unless user has admin role
Header was rendering all admin links unconditionally to every visitor
(including unauthenticated). Add an isAdmin state derived from
user_profiles.role (administrator|admin|super_admin) and wrap both the
desktop admin block and the mobile WP Import link in the guard.

Note: page-level auth checks on each /admin/* route remain authoritative;
this only suppresses menu visibility.
2026-05-07 22:25:33 +00:00
Ryan Salazar
70aa1ad46e initial commit: rocket.new export of broadcastbeat 2026-05-07 16:39:17 +00:00