/home/edulekha/heavenbuildpro.com/wp-content/plugins/extendify/src/Onboarding/hooks/useSiteTypes.js
import useSWRImmutable from 'swr/immutable'
// const PATTERNS_HOST = 'http://localhost:3000'
const PATTERNS_HOST = 'https://patterns.extendify.com'
export const useSiteTypes = (search) => {
const { data, error } = useSWRImmutable(search || 'cold-boot', async () => {
const { wpLanguage } = window.extOnbData
const now = performance.now()
const url = new URL(`${PATTERNS_HOST}/api/site-types`)
search && url.searchParams.append('search', search)
search || url.searchParams.append('boot', 'true')
wpLanguage && url.searchParams.append('lang', wpLanguage)
const res = await fetch(url.toString(), {
headers: {
'Content-Type': 'application/json',
},
})
if (!search) return undefined
if (!res.ok) throw new Error('Bad response from server')
const siteTypes = await res.json()
if (!Array.isArray(siteTypes)) {
throw new Error('Bad response from server')
}
return {
siteTypes,
time: ((performance.now() - now) / 1000).toFixed(4),
}
})
return { data, error, loading: !data && !error }
}