Added teams pages. Refactored hooks.

This commit is contained in:
Mike Cao 2024-01-28 18:33:40 -08:00
parent a2c202fa36
commit 9448aa3ab5
136 changed files with 387 additions and 287 deletions

View file

@ -0,0 +1,5 @@
import { createContext } from 'react';
export const TeamsContext = createContext(null);
export default TeamsContext;

View file

@ -0,0 +1,20 @@
'use client';
import TeamsContext from '../TeamsContext';
import { Loading } from 'react-basics';
import { useTeam } from 'components/hooks';
import { useParams } from 'next/navigation';
export default function Team({ children }) {
const { id: teamId } = useParams();
const { data: team, isLoading, error } = useTeam(teamId as string);
if (error) {
return null;
}
if (isLoading) {
return <Loading position="page" />;
}
return <TeamsContext.Provider value={team}>{children}</TeamsContext.Provider>;
}

View file

@ -0,0 +1,5 @@
import Team from './Team';
export default function ({ children }) {
return <Team>{children}</Team>;
}

View file

@ -0,0 +1,14 @@
'use client';
import { useContext } from 'react';
import TeamsContext from 'app/(main)/teams/TeamsContext';
import WebsitesDataTable from 'app/(main)/settings/websites/WebsitesDataTable';
export default function TeamWebsites() {
const team = useContext(TeamsContext);
if (!team) {
return null;
}
return <WebsitesDataTable teamId={team.id} />;
}

View file

@ -0,0 +1,11 @@
import TeamWebsites from './TeamWebsites';
import WebsitesHeader from 'app/(main)/settings/websites/WebsitesHeader';
export default function TeamWebsitesPage({ params: { id } }: { params: { id: string } }) {
return (
<>
<WebsitesHeader teamId={id} />
<TeamWebsites />
</>
);
}