const { mutate: createProjects } = trpc.createProjectsFromCsv.useMutation({
onSuccess: (data: { successfullProjects: any[],
failedProjects: any[]
}) => {
setSuccessfullProjects(data.successfullProjects)
setFailedProjects(data.failedProjects)
utils.getUserProjects.invalidate()
** utils.getOrganizationProjects.invalidate()**
utils.getVerifiedProjects.invalidate()
setIsLoading(false)
},const { mutate: createProjects } = trpc.createProjectsFromCsv.useMutation({
onSuccess: (data: { successfullProjects: any[],
failedProjects: any[]
}) => {
setSuccessfullProjects(data.successfullProjects)
setFailedProjects(data.failedProjects)
utils.getUserProjects.invalidate()
** utils.getOrganizationProjects.invalidate()**
utils.getVerifiedProjects.invalidate()
setIsLoading(false)
},const { data: existingProjects, isLoading, refetch } = trpc.getOrganizationProjects.useQuery({id: activeOrganizationId})
useEffect(() => {
if (!projects) return
if (isLoading) return
const allProjects = [...projects, ...existingProjects || []]
let isDuplicate = false
{ code that figures out if there are duplicates and sets projectGroupings }
if (!isDuplicate && refetchTries < 2) {
refetch()
setRefetchTries(refetchTries + 1)
return
}
if (refetchTries >= 2) {
setTab('review')
}
{ more code that doesn't matter for this purpose }
}, [activeOrganizationId, existingProjects, isLoading, projects, refetch, refetchTries, setTab])const { data: existingProjects, isLoading, refetch } = trpc.getOrganizationProjects.useQuery({id: activeOrganizationId})
useEffect(() => {
if (!projects) return
if (isLoading) return
const allProjects = [...projects, ...existingProjects || []]
let isDuplicate = false
{ code that figures out if there are duplicates and sets projectGroupings }
if (!isDuplicate && refetchTries < 2) {
refetch()
setRefetchTries(refetchTries + 1)
return
}
if (refetchTries >= 2) {
setTab('review')
}
{ more code that doesn't matter for this purpose }
}, [activeOrganizationId, existingProjects, isLoading, projects, refetch, refetchTries, setTab])Join the Discord to ask follow-up questions and connect with the community