expo-popcore-app/hooks/use-activates.ts

29 lines
920 B
TypeScript

import { OWNER_ID } from "@/lib/auth"
import { ApiError } from "@/lib/types"
import { root } from '@repo/core'
import { ActivityController, ListActivitiesResult } from "@repo/sdk"
import { useState } from "react"
export const useActivates = () => {
const [loading, setLoading] = useState<boolean>(false)
const [error, setError] = useState<ApiError | null>(null)
const [data, setData] = useState<ListActivitiesResult>()
const load = async () => {
try {
setLoading(true)
const c = root.get(ActivityController)
const data = await c.list({ page: 1, limit: 10, isActive: true, orderBy: 'sortOrder', order: 'desc', ownerId: OWNER_ID })
setData(data)
} catch (e) {
setError(e as ApiError)
} finally {
setLoading(false)
}
}
return {
load,
loading,
error,
data
}
}