import { PlusIcon } from "@heroicons/react/solid"; import { useRouter } from "next/router"; import { useState } from "react"; import { getPlaceholderAvatar } from "@lib/getPlaceholderAvatar"; import { useLocale } from "@lib/hooks/useLocale"; import { trpc } from "@lib/trpc"; import Loader from "@components/Loader"; import Shell from "@components/Shell"; import MemberInvitationModal from "@components/team/MemberInvitationModal"; import MemberList from "@components/team/MemberList"; import TeamSettings from "@components/team/TeamSettings"; import TeamSettingsRightSidebar from "@components/team/TeamSettingsRightSidebar"; import { Alert } from "@components/ui/Alert"; import Avatar from "@components/ui/Avatar"; import { Button } from "@components/ui/Button"; export function TeamSettingsPage() { const { t } = useLocale(); const router = useRouter(); const [showMemberInvitationModal, setShowMemberInvitationModal] = useState(false); const [errorMessage, setErrorMessage] = useState(""); const { data: team, isLoading } = trpc.useQuery(["viewer.teams.get", { teamId: Number(router.query.id) }], { onError: (e) => { setErrorMessage(e.message); }, }); const isAdmin = team && (team.membership.role === "OWNER" || team.membership.role === "ADMIN"); return ( ) }> {!!errorMessage && } {isLoading && } {team && ( <>
{isAdmin ? ( ) : (
Team Info

{team.bio}

)}

{t("members")}

{isAdmin && (
)}
{showMemberInvitationModal && ( setShowMemberInvitationModal(false)} /> )} )}
); } export default TeamSettingsPage;