Skip to content

Commit 579efeb

Browse files
RipperMercsclaude
andcommitted
refactor(home): remove the site-wide LiveTicker (info already lives below the fold)
The marquee ticker rendered above the navbar on every page, duplicating the status, pricing, and benchmark data already shown on the homepage. Removes LiveTicker, its ticker-data helper + test, and the ticker-only CSS (keyframe + track rules). Keeps tf-live-dot (ActivityStream) and tf-live-pulse (HeroV2), which are shared. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 7fe8808 commit 579efeb

6 files changed

Lines changed: 2 additions & 475 deletions

File tree

src/app/globals.css

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,6 @@ a, button, input, select, textarea,
223223

224224
/* ===== Phase 1 facelift: shared keyframes + utilities ===== */
225225

226-
@keyframes tf-ticker-scroll {
227-
0% { transform: translate3d(0, 0, 0); }
228-
100% { transform: translate3d(-50%, 0, 0); }
229-
}
230226
@keyframes tf-pulse-dot {
231227
0%, 100% { opacity: 1; transform: scale(1); }
232228
50% { opacity: 0.55; transform: scale(0.85); }
@@ -243,12 +239,6 @@ a, button, input, select, textarea,
243239
100% { box-shadow: inset 0 0 0 0 transparent; }
244240
}
245241

246-
.tf-ticker-track {
247-
animation: tf-ticker-scroll calc(55s / var(--motion, 1)) linear infinite;
248-
will-change: transform;
249-
}
250-
.tf-ticker:hover .tf-ticker-track { animation-play-state: paused; }
251-
252242
.tf-live-dot {
253243
animation: tf-pulse-dot calc(2s / var(--motion, 1)) ease-in-out infinite;
254244
}
@@ -362,7 +352,6 @@ a.tf-activity-row:hover {
362352
.tf-explore-card .tf-explore-vis { z-index: 0; }
363353

364354
@media (prefers-reduced-motion: reduce) {
365-
.tf-ticker-track,
366355
.tf-live-dot,
367356
.tf-live-pulse::after,
368357
.tf-hero-title-reveal,

src/app/layout.tsx

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,9 @@ import ThemeProvider from '@/components/ThemeProvider';
77
import ViewModeProvider from '@/components/ViewModeProvider';
88
import AgentView from '@/components/AgentView';
99
import CookieConsent from '@/components/CookieConsent';
10-
import LiveTicker from '@/components/home/LiveTicker';
1110
import TopAlertBar from '@/components/home/TopAlertBar';
1211
import JsonLd from '@/components/seo/JsonLd';
1312
import Script from 'next/script';
14-
import pricingData from '@/../data/pricing.json';
15-
import benchmarkData from '@/../data/benchmarks.json';
16-
import { buildEvergreenTickerItems, type PricingDataLite, type BenchmarkDataLite } from '@/lib/ticker-data';
17-
18-
// Ticker price + benchmark rows derived once at build from the canonical data
19-
// files (data/pricing.json + data/benchmarks.json), so the homepage ticker can
20-
// never drift out of sync with them again. Passed to the client LiveTicker as a
21-
// prop, which keeps the JSON out of the client bundle.
22-
const TICKER_ITEMS = buildEvergreenTickerItems(
23-
pricingData as unknown as PricingDataLite,
24-
benchmarkData as unknown as BenchmarkDataLite,
25-
);
2613

2714
export const metadata: Metadata = {
2815
title: {
@@ -132,9 +119,6 @@ export default function RootLayout({
132119
/>
133120
<ThemeProvider>
134121
<ViewModeProvider>
135-
<ChromeGate>
136-
<LiveTicker evergreenItems={TICKER_ITEMS} />
137-
</ChromeGate>
138122
<Navbar />
139123
<ChromeGate>
140124
<TopAlertBar />

src/components/home/LiveTicker.tsx

Lines changed: 0 additions & 223 deletions
This file was deleted.

src/components/layout/ChromeGate.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import { usePathname } from 'next/navigation';
44

55
/**
6-
* Suppresses all wrapped chrome (LiveTicker, StatusAlertBar, CookieConsent,
7-
* etc.) on /widget/* routes so embeddable iframe surfaces render bare.
6+
* Suppresses all wrapped chrome (TopAlertBar, CookieConsent, AgentView)
7+
* on /widget/* routes so embeddable iframe surfaces render bare.
88
* Pairs with the Navbar + ConditionalFooter route checks; this single
99
* gate covers everything else from layout.tsx.
1010
*/

src/lib/ticker-data.test.ts

Lines changed: 0 additions & 98 deletions
This file was deleted.

0 commit comments

Comments
 (0)