import { Button, Modal, ModalTrigger, ActionForm } from 'react-basics'; import { useRouter } from 'next/navigation'; import { useLogin, useMessages, useModified, useTeams, useTeamUrl } from '@/components/hooks'; import WebsiteDeleteForm from './WebsiteDeleteForm'; import WebsiteResetForm from './WebsiteResetForm'; import WebsiteTransferForm from './WebsiteTransferForm'; import { ROLES } from '@/lib/constants'; export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: () => void }) { const { formatMessage, labels, messages } = useMessages(); const { user } = useLogin(); const { touch } = useModified(); const { teamId, renderTeamUrl } = useTeamUrl(); const router = useRouter(); const { result } = useTeams(user.id); const canTransferWebsite = ( !teamId && result.data.filter(({ teamUser }) => teamUser.find( ({ role, userId }) => [ROLES.teamOwner, ROLES.teamManager].includes(role) && userId === user.id, ), ) ).length > 0 || (teamId && !!result?.data ?.find(({ id }) => id === teamId) ?.teamUser.find(({ role, userId }) => role === ROLES.teamOwner && userId === user.id)); const handleSave = () => { touch('websites'); onSave?.(); router.push(renderTeamUrl(`/settings/websites`)); }; const handleReset = async () => { onSave?.(); }; return ( <> {(close: () => void) => ( )} {(close: () => void) => ( )} {(close: () => void) => ( )} ); } export default WebsiteData;