/**
* BoostMedia AI Content Generator Admin - Onboarding Banner
*
* Shows a dismissible welcome banner when no content has been generated yet.
*
* @package BoostMedia_AI
* @license GPL-2.0-or-later
*/
import { useState, useEffect } from 'react'
import { X, Search, Eye, Sparkles, CheckCircle } from 'lucide-react'
import { t } from '../../lib/i18n'
import { endpoints } from '../../api/client'
const DISMISSED_KEY = 'bmai_onboarding_dismissed'
export function OnboardingBanner() {
const [visible, setVisible] = useState(false)
const [loaded, setLoaded] = useState(false)
useEffect(() => {
if (localStorage.getItem(DISMISSED_KEY) === '1') {
setLoaded(true)
return
}
endpoints.getGenerateStats().then((res) => {
const stats = res.data as { total?: number } | null
if (!stats?.total || stats.total === 0) {
setVisible(true)
}
setLoaded(true)
}).catch(() => {
setVisible(false)
setLoaded(true)
})
}, [])
if (!loaded || !visible) return null
const dismiss = () => {
localStorage.setItem(DISMISSED_KEY, '1')
setVisible(false)
}
const steps = [
{
icon:
{t('Get started in 4 easy steps to create AI-powered content for your site.')}
{step.desc}