Skip to content

Commit 9c3ff45

Browse files
committed
Use ad choice component
1 parent 359a039 commit 9c3ff45

4 files changed

Lines changed: 90 additions & 314 deletions

File tree

cli/src/chat.tsx

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ import {
1111
} from 'react'
1212
import { useShallow } from 'zustand/react/shallow'
1313

14-
import { getAdsEnabled, handleAdsDisable } from './commands/ads'
14+
import { getAdsEnabled } from './commands/ads'
1515
import { routeUserPrompt, addBashMessageToHistory } from './commands/router'
16-
import { AdBanner } from './components/ad-banner'
1716
import { ChoiceAdBanner } from './components/choice-ad-banner'
1817
import { ChatInputBar } from './components/chat-input-bar'
1918
import { LoadPreviousButton } from './components/load-previous-button'
@@ -175,13 +174,7 @@ export const Chat = ({
175174
})
176175
const hasSubscription = subscriptionData?.hasSubscription ?? false
177176

178-
const { ad, adData, recordImpression } = useGravityAd({ enabled: IS_FREEBUFF || !hasSubscription })
179-
const [adsManuallyDisabled, setAdsManuallyDisabled] = useState(false)
180-
181-
const handleDisableAds = useCallback(() => {
182-
handleAdsDisable()
183-
setAdsManuallyDisabled(true)
184-
}, [])
177+
const { adData, recordImpression } = useGravityAd({ enabled: IS_FREEBUFF || !hasSubscription })
185178

186179
// Set initial mode from CLI flag on mount
187180
useEffect(() => {
@@ -1466,19 +1459,11 @@ export const Chat = ({
14661459
/>
14671460
)}
14681461

1469-
{ad && (IS_FREEBUFF || (!adsManuallyDisabled && getAdsEnabled())) && (
1470-
adData?.variant === 'choice' ? (
1471-
<ChoiceAdBanner
1472-
ads={adData.ads}
1473-
onImpression={recordImpression}
1474-
/>
1475-
) : (
1476-
<AdBanner
1477-
ad={ad}
1478-
onDisableAds={handleDisableAds}
1479-
isFreeMode={IS_FREEBUFF}
1480-
/>
1481-
)
1462+
{adData && (IS_FREEBUFF || getAdsEnabled()) && (
1463+
<ChoiceAdBanner
1464+
ads={adData.variant === 'choice' ? adData.ads : [adData.ad]}
1465+
onImpression={recordImpression}
1466+
/>
14821467
)}
14831468

14841469
{reviewMode ? (

cli/src/components/ad-banner.tsx

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

cli/src/components/waiting-room-screen.tsx

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { TextAttributes } from '@opentui/core'
22
import { useRenderer } from '@opentui/react'
33
import React, { useMemo, useState } from 'react'
44

5-
import { AdBanner } from './ad-banner'
65
import { Button } from './button'
76
import { ChoiceAdBanner } from './choice-ad-banner'
87
import { FreebuffModelSelector } from './freebuff-model-selector'
@@ -74,7 +73,7 @@ export const WaitingRoomScreen: React.FC<WaitingRoomScreenProps> = ({
7473
// forceStart bypasses the "wait for first user message" gate inside the hook,
7574
// which would otherwise block ads here since no conversation exists yet.
7675
// Uses Carbon (BuySellAds); in-chat ads still use the Gravity default.
77-
const { ad, adData, recordImpression } = useGravityAd({
76+
const { adData, recordImpression } = useGravityAd({
7877
enabled: true,
7978
forceStart: true,
8079
provider: 'carbon',
@@ -263,21 +262,17 @@ export const WaitingRoomScreen: React.FC<WaitingRoomScreenProps> = ({
263262
</box>
264263

265264
{/* Ad banner pinned to the bottom, same look-and-feel as in chat. */}
266-
{ad && (
265+
{adData && (
267266
<box style={{ flexShrink: 0 }}>
268-
{adData?.variant === 'choice' ? (
269-
<ChoiceAdBanner
270-
ads={adData.ads}
271-
onImpression={recordImpression}
272-
/>
273-
) : (
274-
<AdBanner ad={ad} onDisableAds={() => {}} isFreeMode />
275-
)}
267+
<ChoiceAdBanner
268+
ads={adData.variant === 'choice' ? adData.ads : [adData.ad]}
269+
onImpression={recordImpression}
270+
/>
276271
</box>
277272
)}
278273

279274
{/* Horizontal separator (mirrors chat input divider style) */}
280-
{!ad && (
275+
{!adData && (
281276
<text style={{ fg: theme.muted, flexShrink: 0 }}>
282277
{'─'.repeat(terminalWidth)}
283278
</text>

0 commit comments

Comments
 (0)