/home/edulekha/heavenbuildpro.com/wp-content/plugins/extendify/src/Assist/notices/WelcomeNotice.js
import { useEffect } from '@wordpress/element'
import { __ } from '@wordpress/i18n'
import { useGlobalStore } from '@assist/state/Global'
import { useTourStore } from '@assist/state/Tours'
import { ToursPlay } from '@assist/svg'
import siteAssistantTour from '@assist/tours/site-assistant.js'
const noticeKey = 'welcome-message'
export const WelcomeNotice = () => {
const { isDismissed, dismissNotice } = useGlobalStore()
// To avoid content flash, we load in this partial piece of state early via php
const dismissed = window.extAssistData.dismissedNotices.find(
(notice) => notice.id === noticeKey,
)
const { startTour, progress } = useTourStore()
const { launchCompleted } = window.extAssistData
const getSiteAssistantTour = progress?.filter(
(tour) => tour.id === 'site-assistant-tour',
)
const siteAssistantTourCompleted = getSiteAssistantTour?.[0]?.completedCount
useEffect(() => {
if (dismissed || isDismissed(noticeKey)) {
return
}
if (siteAssistantTourCompleted > 0) {
dismissNotice(noticeKey)
}
}, [dismissed, isDismissed, dismissNotice, siteAssistantTourCompleted])
if (!launchCompleted) return null
if (dismissed || isDismissed(noticeKey) || siteAssistantTourCompleted > 0) {
return null
}
return (
<div
id="assist-welcome-notice"
className="bg-design-main text-design-text w-full text-base p-6 md:p-8 rounded mb-6 relative">
<div className="absolute right-0 top-0">
<button
className="bg-white bg-opacity-70 hover:bg-opacity-80 rounded-bl px-0.5 h-6 w-6 cursor-pointer flex items-center"
type="button"
onClick={() => {
dismissNotice(noticeKey)
}}>
<span className="dashicons dashicons-no-alt" />
</button>
</div>
<div className="flex flex-col md:flex-row justify-between items-start md:items-center gap-8">
<div className="flex-1">
<h3 className="text-2xl mt-0 mb-3 text-design-text">
{__('Your site is ready!', 'extendify')}
</h3>
<p className="text-sm my-0">
{__(
'The Site Assistant is your go-to dashboard to help you get the most out of your site.',
'extendify',
)}
</p>
</div>
<button
className="h-12 bg-white border-none cursor-pointer gap-3 grid grid-flow-col items-center no-underline px-5 py-3 rounded-sm text-design-main text-base hover:bg-gray-200 focus:shadow-button"
onClick={() => {
startTour(siteAssistantTour)
}}>
{__('Take a tour', 'extendify')}
<ToursPlay className="w-5 h-5 group-hover:fill-current fill-current" />
</button>
</div>
</div>
)
}