/* GoToSocial Copyright (C) GoToSocial Authors admin@gotosocial.org SPDX-License-Identifier: AGPL-3.0-or-later This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ import React from "react"; import { useGetAccountQuery } from "../../../../lib/query/admin"; import FormWithData from "../../../../lib/form/form-with-data"; import FakeProfile from "../../../../components/fake-profile"; import { AdminAccount } from "../../../../lib/types/account"; import { HandleSignup } from "./handlesignup"; import { AccountActions } from "./actions"; import { useParams } from "wouter"; export default function AccountDetail() { const params: { accountID: string } = useParams(); return (

Account Details

); } interface AccountDetailFormProps { backLocation: string, data: AdminAccount, } function AccountDetailForm({ data: adminAcct, backLocation }: AccountDetailFormProps) { let yesOrNo = (b: boolean) => { return b ? "yes" : "no"; }; let created = new Date(adminAcct.created_at).toDateString(); let lastPosted = "never"; if (adminAcct.account.last_status_at) { lastPosted = new Date(adminAcct.account.last_status_at).toDateString(); } const local = !adminAcct.domain; return ( <>

General Account Details

{ adminAcct.suspended &&
Account is suspended.
}
{ !local &&
Domain
{adminAcct.domain}
}
Created
Last posted
{lastPosted}
Suspended
{yesOrNo(adminAcct.suspended)}
Silenced
{yesOrNo(adminAcct.silenced)}
Statuses
{adminAcct.account.statuses_count}
Followers
{adminAcct.account.followers_count}
Following
{adminAcct.account.following_count}
{ local && // Only show local account details // if this is a local account! <>

Local Account Details

{ !adminAcct.approved &&
Account is pending.
} { !adminAcct.confirmed &&
Account email not yet confirmed.
}
Email
{adminAcct.email} {{adminAcct.confirmed ? "(confirmed)" : "(not confirmed)"} }
Disabled
{yesOrNo(adminAcct.disabled)}
Approved
{yesOrNo(adminAcct.approved)}
Sign-Up Reason
{adminAcct.invite_request ?? none provided}
{ (adminAcct.ip && adminAcct.ip !== "0.0.0.0") &&
Sign-Up IP
{adminAcct.ip}
} { adminAcct.locale &&
Locale
{adminAcct.locale}
}
} { local && !adminAcct.approved ? : } ); }