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, } }