export function useBoardPosts() { const posts = useState('board.posts', () => []) const loading = useState('board.loading', () => false) async function fetchPosts(params = {}) { loading.value = true try { const result = await $fetch('/api/board/posts', { params }) posts.value = result?.posts || [] return posts.value } finally { loading.value = false } } async function createPost(body) { const created = await $fetch('/api/board/posts', { method: 'POST', body, }) await fetchPosts() return created } async function updatePost(id, body) { const updated = await $fetch(`/api/board/posts/${id}`, { method: 'PATCH', body, }) await fetchPosts() return updated } async function deletePost(id) { const result = await $fetch(`/api/board/posts/${id}`, { method: 'DELETE', }) await fetchPosts() return result } return { posts: readonly(posts), loading: readonly(loading), fetchPosts, createPost, updatePost, deletePost, } }