2024-02-06 04:29:00 +00:00
|
|
|
'use client';
|
2024-02-08 00:37:48 +00:00
|
|
|
import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider';
|
|
|
|
|
import WebsiteAddButton from 'app/(main)/settings/websites/WebsiteAddButton';
|
|
|
|
|
import { useLogin, useMessages } from 'components/hooks';
|
2024-02-06 04:29:00 +00:00
|
|
|
import PageHeader from 'components/layout/PageHeader';
|
2024-02-08 00:37:48 +00:00
|
|
|
import TeamWebsitesDataTable from './TeamWebsitesDataTable';
|
|
|
|
|
import { ROLES } from 'lib/constants';
|
|
|
|
|
import { useContext } from 'react';
|
2024-02-06 04:29:00 +00:00
|
|
|
|
2024-02-06 07:59:33 +00:00
|
|
|
export function TeamWebsitesPage({ teamId }: { teamId: string }) {
|
2024-02-08 00:37:48 +00:00
|
|
|
const team = useContext(TeamContext);
|
2024-02-06 04:29:00 +00:00
|
|
|
const { formatMessage, labels } = useMessages();
|
2024-02-08 00:37:48 +00:00
|
|
|
const { user } = useLogin();
|
|
|
|
|
|
2024-02-16 21:09:20 +00:00
|
|
|
const allowEdit = !!team?.teamUser?.find(
|
|
|
|
|
({ userId, role }) => userId === user.id && role !== ROLES.teamViewOnly,
|
2024-02-08 00:37:48 +00:00
|
|
|
);
|
2024-02-06 04:29:00 +00:00
|
|
|
|
|
|
|
|
return (
|
2024-02-07 04:01:38 +00:00
|
|
|
<>
|
2024-02-08 00:37:48 +00:00
|
|
|
<PageHeader title={formatMessage(labels.websites)}>
|
2024-02-16 21:09:20 +00:00
|
|
|
{allowEdit && <WebsiteAddButton teamId={teamId} />}
|
2024-02-08 00:37:48 +00:00
|
|
|
</PageHeader>
|
2024-02-16 21:09:20 +00:00
|
|
|
<TeamWebsitesDataTable teamId={teamId} allowEdit={allowEdit} />
|
2024-02-07 04:01:38 +00:00
|
|
|
</>
|
2024-02-06 04:29:00 +00:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-06 07:59:33 +00:00
|
|
|
export default TeamWebsitesPage;
|