[READ-ONLY] Mirror of https://github.com/danielroe/ripple-framework. Ripple is the presentation layer for building websites on the DPC Single Digital Presence platform.
679 B
24 lines
1import type { TideSiteData } from './../types'
2
3export const useTideSite = async (id?: number): Promise<TideSiteData> => {
4 const { public: config } = useRuntimeConfig()
5 const siteId = id || config.tide?.site
6 const { data: siteData } = useNuxtData(`site-${siteId}`)
7 if (!siteData.value) {
8 const { data, error } = await useFetch('/api/tide/site', {
9 key: `site-${siteId}`,
10 baseURL: config.API_URL || '',
11 params: {
12 id: siteId
13 }
14 })
15 if (error && error.value?.statusCode) {
16 console.log('API error fetching site data')
17 useTideError(500)
18 }
19 return data.value
20 }
21 return siteData.value
22}
23
24export default useTideSite