Added page layouts

This commit is contained in:
Francisco Gaona
2025-12-23 09:44:05 +01:00
parent be6e34914e
commit 838a010fb2
26 changed files with 3002 additions and 40 deletions

View File

@@ -0,0 +1,75 @@
import type { PageLayout, CreatePageLayoutRequest, UpdatePageLayoutRequest } from '~/types/page-layout'
export const usePageLayouts = () => {
const { api } = useApi()
const getPageLayouts = async (objectId?: string) => {
try {
const params = objectId ? { objectId } : {}
const response = await api.get('/page-layouts', { params })
return response
} catch (error) {
console.error('Error fetching page layouts:', error)
throw error
}
}
const getPageLayout = async (id: string) => {
try {
const response = await api.get(`/page-layouts/${id}`)
return response
} catch (error) {
console.error('Error fetching page layout:', error)
throw error
}
}
const getDefaultPageLayout = async (objectId: string) => {
try {
const response = await api.get(`/page-layouts/default/${objectId}`)
return response
} catch (error) {
console.error('Error fetching default page layout:', error)
return null
}
}
const createPageLayout = async (data: CreatePageLayoutRequest) => {
try {
const response = await api.post('/page-layouts', data)
return response
} catch (error) {
console.error('Error creating page layout:', error)
throw error
}
}
const updatePageLayout = async (id: string, data: UpdatePageLayoutRequest) => {
try {
const response = await api.patch(`/page-layouts/${id}`, data)
return response
} catch (error) {
console.error('Error updating page layout:', error)
throw error
}
}
const deletePageLayout = async (id: string) => {
try {
const response = await api.delete(`/page-layouts/${id}`)
return response
} catch (error) {
console.error('Error deleting page layout:', error)
throw error
}
}
return {
getPageLayouts,
getPageLayout,
getDefaultPageLayout,
createPageLayout,
updatePageLayout,
deletePageLayout,
}
}