Files
supabase/apps/studio/components/interfaces/Account/AccessTokens/hooks/useOrgAndProjectData.ts
2026-04-01 10:22:37 +02:00

31 lines
811 B
TypeScript

import { useMemo } from 'react'
import { useOrganizationsQuery } from '@/data/organizations/organizations-query'
import { useProjectsInfiniteQuery } from '@/data/projects/projects-infinite-query'
interface UseOrgAndProjectDataOptions {
enabled?: boolean
}
export const useOrgAndProjectData = (options: UseOrgAndProjectDataOptions = {}) => {
const { enabled = true } = options
const { data: organizations = [], isLoading: isLoadingOrgs } = useOrganizationsQuery({ enabled })
const { data: projectsData, isLoading: isLoadingProjects } = useProjectsInfiniteQuery({
limit: 100,
})
const projects = useMemo(
() => projectsData?.pages.flatMap((page) => page.projects) ?? [],
[projectsData]
)
return {
organizations,
projects,
isLoadingOrgs,
isLoadingProjects,
}
}