import { useEffect, useState } from 'react'; import { useIntl } from 'react-intl'; import { Breadcrumbs, Item, Tabs, useToast } from 'react-basics'; import useApi from 'hooks/useApi'; import Link from 'next/link'; import Page from 'components/layout/Page'; import TeamEditForm from 'components/pages/settings/teams/TeamEditForm'; import PageHeader from 'components/layout/PageHeader'; import TeamMembers from 'components/pages/settings/teams/TeamMembers'; import { labels, messages } from 'components/messages'; import TeamWebsites from './TeamWebsites'; export default function TeamSettings({ teamId }) { const { formatMessage } = useIntl(); const [values, setValues] = useState(null); const [tab, setTab] = useState('details'); const { get, useQuery } = useApi(); const { toast, showToast } = useToast(); const { data, isLoading } = useQuery( ['team', teamId], () => { if (teamId) { return get(`/teams/${teamId}`); } }, { cacheTime: 0 }, ); const handleSave = data => { showToast({ message: formatMessage(messages.saved), variant: 'success' }); setValues(state => ({ ...state, ...data })); }; useEffect(() => { if (data) { setValues(data); } }, [data]); return ( {toast} Teams {values?.name} {formatMessage(labels.details)} {formatMessage(labels.members)} {formatMessage(labels.websites)} {tab === 'details' && } {tab === 'members' && } {tab === 'websites' && } ); }