direct login
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { type FC } from 'react'
|
||||
import { useParams } from 'react-router-dom'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { useCreateDmenuRestaurant, useGetSubscription } from './hooks/useServiceData'
|
||||
import { useCreateDmenuRestaurant, useDirectLogin, useGetSubscription } from './hooks/useServiceData'
|
||||
import { useFormik } from 'formik'
|
||||
import { DmenuCreateRestaurantType } from './types/ServiecTypes'
|
||||
import * as Yup from 'yup'
|
||||
@@ -13,11 +13,32 @@ import { TickCircle } from 'iconsax-react'
|
||||
import { Helmet } from 'react-helmet-async'
|
||||
|
||||
export const ManageRestaurant: FC = () => {
|
||||
|
||||
const { t } = useTranslation('global')
|
||||
const { subscriptionId } = useParams()
|
||||
const createDmenuRestaurant = useCreateDmenuRestaurant()
|
||||
const getSubscription = useGetSubscription(subscriptionId!)
|
||||
const getSubscription = useGetSubscription(subscriptionId || '')
|
||||
const { mutate: directLogin } = useDirectLogin()
|
||||
|
||||
const handleDirectLogin = () => {
|
||||
if (!subscriptionId) {
|
||||
toast(t('errors.required') || 'شناسه اشتراک یافت نشد', 'error')
|
||||
return
|
||||
}
|
||||
|
||||
directLogin(subscriptionId, {
|
||||
onSuccess: (data) => {
|
||||
const serviceLink = getSubscription?.data?.data?.userSubscription?.plan?.service?.link
|
||||
if (serviceLink && data?.data?.tokens?.accessToken?.token && data?.data?.tokens?.refreshToken?.token) {
|
||||
window.location.href = `${serviceLink}?token=${data.data.tokens.accessToken.token}&refreshToken=${data.data.tokens.refreshToken.token}`
|
||||
} else {
|
||||
toast('خطا در دریافت اطلاعات سرویس', 'error')
|
||||
}
|
||||
},
|
||||
onError: (error: ErrorType) => {
|
||||
toast(error.response?.data?.error?.message?.[0] || 'خطا در ورود مستقیم', 'error')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const formik = useFormik<DmenuCreateRestaurantType>({
|
||||
initialValues: {
|
||||
@@ -27,6 +48,7 @@ export const ManageRestaurant: FC = () => {
|
||||
phone: '',
|
||||
userSubscriptionId: subscriptionId || ''
|
||||
},
|
||||
enableReinitialize: true,
|
||||
validationSchema: Yup.object({
|
||||
name: Yup.string().required(t('errors.required')),
|
||||
slug: Yup.string().required(t('errors.required')),
|
||||
@@ -44,12 +66,12 @@ export const ManageRestaurant: FC = () => {
|
||||
}
|
||||
createDmenuRestaurant.mutate(submitValues, {
|
||||
onSuccess: () => {
|
||||
toast(t('success'), 'success')
|
||||
toast(t('success') || 'با موفقیت انجام شد', 'success')
|
||||
formik.resetForm()
|
||||
window.location.href = getSubscription?.data?.data?.userSubscription?.plan?.service?.link as string
|
||||
handleDirectLogin()
|
||||
},
|
||||
onError: (error: ErrorType) => {
|
||||
toast(error.response?.data?.error?.message[0], 'error')
|
||||
toast(error.response?.data?.error?.message?.[0] || 'خطا در ایجاد رستوران', 'error')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user