import React from 'react'; import { useNavigate } from 'react-router-dom'; import { Sparkles, X } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { version } from '../../package.json'; import { useAuthStore } from '../store/authStore'; interface Props { collapsed?: boolean; } /** * Sidebar pill shown above Now Playing while the current app version hasn't * been opened yet. Clicking opens the What's New page; X dismisses. * * Uses a fixed neutral palette so it looks identical across every theme. */ export default function WhatsNewBanner({ collapsed }: Props) { const { t } = useTranslation(); const navigate = useNavigate(); const lastSeen = useAuthStore(s => s.lastSeenChangelogVersion); const setLastSeen = useAuthStore(s => s.setLastSeenChangelogVersion); const showOnUpdate = useAuthStore(s => s.showChangelogOnUpdate); if (!showOnUpdate || lastSeen === version) return null; const dismiss = (e: React.MouseEvent) => { e.stopPropagation(); setLastSeen(version); }; const open = () => navigate('/whats-new'); if (collapsed) { return ( ); } return ( ); }