2
0
Files
bot/apps/builder/layouts/results/AnalyticsContent.tsx

49 lines
1.6 KiB
TypeScript
Raw Normal View History

2022-02-13 06:53:48 +01:00
import { Flex, useDisclosure, useToast } from '@chakra-ui/react'
2022-01-03 17:39:59 +01:00
import { StatsCards } from 'components/analytics/StatsCards'
import { Graph } from 'components/shared/Graph'
2022-02-13 06:53:48 +01:00
import { UpgradeModal } from 'components/shared/modals/UpgradeModal.'
2022-02-11 18:06:59 +01:00
import { GraphProvider } from 'contexts/GraphContext'
2022-01-06 09:40:56 +01:00
import { useTypebot } from 'contexts/TypebotContext/TypebotContext'
import { Stats } from 'models'
2021-12-24 10:08:41 +01:00
import React from 'react'
2022-01-03 17:39:59 +01:00
import { useAnswersCount } from 'services/analytics'
2021-12-24 10:08:41 +01:00
2022-01-03 17:39:59 +01:00
export const AnalyticsContent = ({ stats }: { stats?: Stats }) => {
2022-02-13 06:53:48 +01:00
const { isOpen, onOpen, onClose } = useDisclosure()
2022-01-03 17:39:59 +01:00
const { typebot, publishedTypebot } = useTypebot()
const toast = useToast({
position: 'top-right',
status: 'error',
})
const { answersCounts } = useAnswersCount({
typebotId: typebot?.id,
onError: (err) => toast({ title: err.name, description: err.message }),
})
return (
<Flex
w="full"
pos="relative"
bgColor="gray.50"
h="full"
justifyContent="center"
>
2022-02-11 18:06:59 +01:00
{publishedTypebot && answersCounts && stats && (
<GraphProvider blocks={publishedTypebot?.blocks ?? []} isReadOnly>
<Graph
flex="1"
typebot={publishedTypebot}
2022-02-13 06:53:48 +01:00
onUnlockProPlanClick={onOpen}
2022-02-11 18:06:59 +01:00
answersCounts={[
{ ...answersCounts[0], totalAnswers: stats?.totalStarts },
...answersCounts?.slice(1),
]}
/>
</GraphProvider>
2022-01-03 17:39:59 +01:00
)}
2022-02-13 06:53:48 +01:00
<UpgradeModal onClose={onClose} isOpen={isOpen} />
2022-01-03 17:39:59 +01:00
<StatsCards stats={stats} pos="absolute" top={10} />
</Flex>
)
2021-12-24 10:08:41 +01:00
}