import { root } from '@repo/core' import { ActivityController, type ListActivitiesInput, type ListActivitiesResult } from '@repo/sdk' import { useState } from 'react' import { type ApiError } from '@/lib/types' import { handleError } from './use-error' export const useActivities = () => { const [loading, setLoading] = useState(false) const [error, setError] = useState(null) const [data, setData] = useState() const OWNER_ID = process.env.EXPO_PUBLIC_OWNER_ID || '' const load = async (params: ListActivitiesInput = { page: 1, limit: 10, orderBy: 'createdAt', order: 'desc' }) => { try { setLoading(true) const activity = root.get(ActivityController) const { data, error } = await handleError( async () => await activity.list({ isActive: true, ownerId: OWNER_ID, ...params }), ) if (error) { setError(error) return } setData(data) } catch (e) { setError(e as ApiError) } finally { setLoading(false) } } return { load, loading, error, data } }