2
0
Files
bot/apps/builder/services/analytics.ts
Baptiste Arnaud 6322402c96 🖐️ Analytics drop off rates
2022-01-03 17:39:59 +01:00

46 lines
989 B
TypeScript

import { Stats } from 'bot-engine'
import useSWR from 'swr'
import { fetcher } from './utils'
export const useStats = ({
typebotId,
onError,
}: {
typebotId?: string
onError: (error: Error) => void
}) => {
const { data, error, mutate } = useSWR<{ stats: Stats }, Error>(
typebotId ? `/api/typebots/${typebotId}/results/stats` : null,
fetcher
)
if (error) onError(error)
return {
stats: data?.stats,
isLoading: !error && !data,
mutate,
}
}
export type AnswersCount = { blockId: string; totalAnswers: number }
export const useAnswersCount = ({
typebotId,
onError,
}: {
typebotId?: string
onError: (error: Error) => void
}) => {
const { data, error, mutate } = useSWR<
{ answersCounts: AnswersCount[] },
Error
>(
typebotId ? `/api/typebots/${typebotId}/results/answers/count` : null,
fetcher
)
if (error) onError(error)
return {
answersCounts: data?.answersCounts,
isLoading: !error && !data,
mutate,
}
}