From 89e0cfd8741b6763ca04e90558bccf4c3c380cfa Mon Sep 17 00:00:00 2001
From: tobi <31960611+tsmethurst@users.noreply.github.com>
Date: Sat, 13 Apr 2024 13:25:10 +0200
Subject: [feature] Admin accounts endpoints; approve/reject sign-ups (#2826)

* update settings panels, add pending overview + approve/deny functions

* add admin accounts get, approve, reject

* send approved/rejected emails

* use signup URL

* docs!

* email

* swagger

* web linting

* fix email tests

* wee lil fixerinos

* use new paging logic for GetAccounts() series of admin endpoints, small changes to query building

* shuffle useAccountIDIn check *before* adding to query

* fix parse from toot react error

* use `netip.Addr`

* put valid slices in globals

* optimistic updates for account state

---------

Co-authored-by: kim <grufwub@gmail.com>
---
 web/source/settings/admin/accounts/index.tsx | 49 ++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 web/source/settings/admin/accounts/index.tsx

(limited to 'web/source/settings/admin/accounts/index.tsx')

diff --git a/web/source/settings/admin/accounts/index.tsx b/web/source/settings/admin/accounts/index.tsx
new file mode 100644
index 000000000..3c69f7406
--- /dev/null
+++ b/web/source/settings/admin/accounts/index.tsx
@@ -0,0 +1,49 @@
+/*
+	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 <http://www.gnu.org/licenses/>.
+*/
+
+import React from "react";
+import { Switch, Route } from "wouter";
+
+import AccountDetail from "./detail";
+import { AccountSearchForm } from "./search";
+
+export default function Accounts({ baseUrl }) {
+	return (
+		<Switch>
+			<Route path={`${baseUrl}/:accountId`}>
+				<AccountDetail />
+			</Route>
+			<AccountOverview />
+		</Switch>
+	);
+}
+
+function AccountOverview({ }) {
+	return (
+		<div className="accounts-view">
+			<h1>Accounts Overview</h1>
+			<span>
+				You can perform actions on an account by clicking
+				its name in a report, or by searching for the account
+				using the form below and clicking on its name.
+			</span>
+			<AccountSearchForm />
+		</div>
+	);
+}
-- 
cgit v1.2.3

