@@ -28,6 +28,7 @@ import { useLogin } from '@/src/api/hooks'
2828import { instance } from '@/src/api/instance'
2929import { ROUTES } from '@/src/constants'
3030import { useFingerprint } from '@/src/hooks'
31+ import { analytics } from '@/src/lib/analytics/events'
3132import { setSessionToken } from '@/src/lib/cookies/session'
3233
3334const loginSchema = z . object ( {
@@ -55,6 +56,8 @@ export function LoginForm() {
5556
5657 const { mutateAsync, isPending } = useLogin ( {
5758 onSuccess ( data ) {
59+ analytics . auth . login . success ( )
60+
5861 if ( 'ticket' in data && typeof data . ticket === 'string' ) {
5962 setTicket ( data . ticket )
6063 setMethods ( data . allowedMethods )
@@ -73,7 +76,10 @@ export function LoginForm() {
7376 }
7477 } ,
7578 onError ( error : any ) {
76- toast . error ( error . response ?. data ?. message ?? 'Ошибка при входе' )
79+ const message = error . response ?. data ?. message ?? 'Ошибка при входе'
80+ analytics . auth . login . fail ( message )
81+
82+ toast . error ( message )
7783 }
7884 } )
7985
@@ -93,6 +99,8 @@ export function LoginForm() {
9399 } , [ form , form . reset , form . formState . isSubmitSuccessful ] )
94100
95101 async function onSubmit ( values : Login ) {
102+ analytics . auth . login . submit ( )
103+
96104 if ( ! values . captcha ) {
97105 toast . warning ( 'Пройдите капчу!' )
98106 return
@@ -197,6 +205,7 @@ export function LoginForm() {
197205 size = 'lg'
198206 isLoading = { isPending }
199207 className = 'w-full'
208+ onClick = { ( ) => analytics . auth . login . click ( ) }
200209 >
201210 Продолжить
202211 </ Button >
0 commit comments