Skip to content

Commit be68cba

Browse files
miurlaclaude
andcommitted
fix: hide changelog banner when messages are present
Fix issue where changelog banner remained visible after messages were sent. Apply the same logic as beta badge to hide when messages exist. Changes: - Add messages-changed event listener to ChangelogBanner - Hide banner when hasMessages is true - Maintain consistency with BetaBadge behavior 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent a8e7121 commit be68cba

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

components/changelog-banner.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use client'
22

3+
import { useEffect, useState } from 'react'
4+
35
import { X } from 'lucide-react'
46

57
import { useChangelog } from '@/hooks/use-changelog'
@@ -8,8 +10,21 @@ import { IconLogo } from '@/components/ui/icons'
810

911
export function ChangelogBanner() {
1012
const { changelog, isVisible, dismiss } = useChangelog()
13+
const [hasMessages, setHasMessages] = useState(false)
14+
15+
useEffect(() => {
16+
const handleMessagesChanged = (e: Event) => {
17+
const customEvent = e as CustomEvent<{ hasMessages: boolean }>
18+
setHasMessages(customEvent.detail.hasMessages)
19+
}
20+
21+
window.addEventListener('messages-changed', handleMessagesChanged)
22+
return () =>
23+
window.removeEventListener('messages-changed', handleMessagesChanged)
24+
}, [])
1125

12-
if (!isVisible || !changelog) return null
26+
// Don't show if there are messages or if not visible
27+
if (!isVisible || !changelog || hasMessages) return null
1328

1429
return (
1530
<div className="fixed bottom-4 right-4 z-40 animate-in slide-in-from-bottom-5 duration-300">

0 commit comments

Comments
 (0)