📈 Send onboarding replies to PostHog

This commit is contained in:
Baptiste Arnaud
2024-02-02 11:58:32 +01:00
parent ce79e897a7
commit fd4867f3ae
12 changed files with 99 additions and 36 deletions

View File

@@ -85,13 +85,13 @@ export const UserProvider = ({ children }: { children: ReactNode }) => {
if (isNotDefined(user)) return
const newUser = { ...user, ...updates }
setUser(newUser)
saveUser(newUser)
saveUser(updates)
}
const saveUser = useDebouncedCallback(
async (newUser?: Partial<User>) => {
async (updates: Partial<User>) => {
if (isNotDefined(user)) return
const { error } = await updateUserQuery(user.id, { ...user, ...newUser })
const { error } = await updateUserQuery(user.id, updates)
if (error) showToast({ title: error.name, description: error.message })
await refreshUser()
},

View File

@@ -1,7 +1,6 @@
import {
Stack,
Heading,
useColorMode,
Menu,
MenuButton,
MenuList,
@@ -34,7 +33,6 @@ export const UserPreferencesForm = () => {
const { getLanguage } = useTolgee()
const router = useRouter()
const { t } = useTranslate()
const { colorMode } = useColorMode()
const { user, updateUser } = useUser()
useEffect(() => {
@@ -117,7 +115,7 @@ export const UserPreferencesForm = () => {
defaultValue={
user?.preferredAppAppearance
? user.preferredAppAppearance
: colorMode
: 'system'
}
onChange={changeAppearance}
/>

View File

@@ -1,9 +1,9 @@
import { User } from '@typebot.io/prisma'
import { sendRequest } from '@typebot.io/lib'
import { User } from '@typebot.io/schemas'
export const updateUserQuery = async (id: string, user: User) =>
export const updateUserQuery = async (id: string, user: Partial<User>) =>
sendRequest({
url: `/api/users/${id}`,
method: 'PUT',
method: 'PATCH',
body: user,
})