243f4855a1ab1f1391ddf59323fc6150eaeb1823
Banner spec from Ryan: - 728x90 header (every page): pool is now LiveU only; rotates when more 728x90 entries are added to ads.ts. - 728x90 below main menu on article pages: removed (was the article-top AdSlot stub). - 728x90 footer (every page): replaces the old 300x250 rocket.new placeholder in Footer.tsx. Rotates from the same ADS_728X90 pool. - 300x250 sidebar: now renders EVERY entry in ADS_300X250 stacked vertically, shuffled per page-view. Pool: AJA, Zixi, Telycam, LiveU, Lectrosonics, Opengear, Studio Hero, Magewell. Adding more entries to ads.ts auto-grows the stack. - 300x600 fixed slot: Blackmagic (Adsanity ad-210571), top of sidebar, never rotated. Implementation: - ads.ts: Ad interface now allows either src (local image) or adsanity_id (iframe). New rotateAll() returns ALL ads of a size shuffled; pickAds kept for ArticleBody bounded slots. - AdImage.tsx: dropped the legacy ADSANITY_CAMPAIGN_MAP label fallback — ads.ts is now the single source of truth, so Telycam (no adsanity_id) renders its local GIF instead of the iframe. - SidebarAdStack.tsx: rotateAll(300x250) instead of pickAds with a count cap. count prop removed; callers updated. - NewsArticleDetailClient.tsx: removed article-top 728x90 stub. - Footer.tsx: 728x90 AdImage in place of the 300x250 placeholder. - LeaderboardAd.tsx: deleted (was unused after the earlier home-page cleanup). - PENDING_ads.md: rewritten — Adsanity IDs to verify (Studio Hero, Blackmagic) and optional local-file upgrades. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Next.js
A modern Next.js 15 application built with TypeScript and Tailwind CSS.
🚀 Features
- Next.js 15 - Latest version with improved performance and features
- React 19 - Latest React version with enhanced capabilities
- Tailwind CSS - Utility-first CSS framework for rapid UI development
🛠️ Installation
- Install dependencies:
npm install
# or
yarn install
- Start the development server:
npm run dev
# or
yarn dev
- Open http://localhost:4028 with your browser to see the result.
📁 Project Structure
nextjs/
├── public/ # Static assets
├── src/
│ ├── app/ # App router components
│ │ ├── layout.tsx # Root layout component
│ │ └── page.tsx # Main page component
│ ├── components/ # Reusable UI components
│ ├── styles/ # Global styles and Tailwind configuration
├── next.config.mjs # Next.js configuration
├── package.json # Project dependencies and scripts
├── postcss.config.js # PostCSS configuration
└── tailwind.config.js # Tailwind CSS configuration
🧩 Page Editing
You can start editing the page by modifying src/app/page.tsx. The page auto-updates as you edit the file.
🎨 Styling
This project uses Tailwind CSS for styling with the following features:
- Utility-first approach for rapid development
- Custom theme configuration
- Responsive design utilities
- PostCSS and Autoprefixer integration
📦 Available Scripts
npm run dev- Start development server on port 4028npm run build- Build the application for productionnpm run start- Start the development servernpm run serve- Start the production servernpm run lint- Run ESLint to check code qualitynpm run lint:fix- Fix ESLint issues automaticallynpm run format- Format code with Prettier
📱 Deployment
Build the application for production:
npm run build
📚 Learn More
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API
- Learn Next.js - an interactive Next.js tutorial
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
🙏 Acknowledgments
- Built with Rocket.new
- Powered by Next.js and React
- Styled with Tailwind CSS
Built with ❤️ on Rocket.new
Description
Languages
TypeScript
93.7%
PLpgSQL
4.4%
CSS
1.6%
JavaScript
0.3%