'use client'; import { GithubComponent } from '@gitroom/frontend/components/settings/github.component'; import { useCallback, useEffect } from 'react'; import { useUser } from '@gitroom/frontend/components/layout/user.context'; import { TeamsComponent } from '@gitroom/frontend/components/settings/teams.component'; import { useFetch } from '@gitroom/helpers/utils/custom.fetch'; import useSWR from 'swr'; import { LoadingComponent } from '@gitroom/frontend/components/layout/loading'; import { useRouter } from 'next/navigation'; import { useVariables } from '@gitroom/react/helpers/variable.context'; export const SettingsComponent = () => { const {isGeneral} = useVariables(); const user = useUser(); const router = useRouter(); const fetch = useFetch(); const load = useCallback(async (path: string) => { const { github } = await (await fetch('/settings/github')).json(); if (!github) { return false; } const emptyOnes = github.find((p: { login: string }) => !p.login); const { organizations } = emptyOnes ? await (await fetch(`/settings/organizations/${emptyOnes.id}`)).json() : { organizations: [] }; return { github, organizations }; }, []); const { isLoading: isLoadingSettings, data: loadAll } = useSWR( 'load-all', load ); useEffect(() => { if (!isLoadingSettings && !loadAll) { router.push('/'); } }, [loadAll, isLoadingSettings]); if (isLoadingSettings) { return ; } if (!loadAll) { return null; } return (
{!isGeneral && (

Your Git Repository

Connect your GitHub repository to receive updates and analytics
{/*
*/} {/*
*/} {/* */} {/*
*/} {/*
Show news with everybody in Gitroom
*/} {/*
*/}
)} {!!user?.tier?.team_members && }
); };