From 89dcbd5a201f830812e49ed5d8e37c00d16b838b Mon Sep 17 00:00:00 2001 From: f0x52 Date: Sat, 13 May 2023 12:17:22 +0200 Subject: [frontend] Basic user moderation actions (#1728) * remove info banner * update swagger definition for AccountAction * basic user view, suspend action * clean up suspended user display * basic user searching * rename User -> Account for clarity * refactor error boundary component to give better info * appease the linter --- web/source/settings/admin/accounts/index.jsx | 140 +++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 web/source/settings/admin/accounts/index.jsx (limited to 'web/source/settings/admin/accounts/index.jsx') diff --git a/web/source/settings/admin/accounts/index.jsx b/web/source/settings/admin/accounts/index.jsx new file mode 100644 index 000000000..1dea36fb5 --- /dev/null +++ b/web/source/settings/admin/accounts/index.jsx @@ -0,0 +1,140 @@ +/* + 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 . +*/ + +"use strict"; + +const React = require("react"); +const { Switch, Route, Link } = require("wouter"); + +const query = require("../../lib/query"); +const { useTextInput } = require("../../lib/form"); + +const AccountDetail = require("./detail"); +const { useBaseUrl } = require("../../lib/navigation/util"); +const { Error } = require("../../components/error"); + +module.exports = function Accounts({ baseUrl }) { + return ( +
+ + + + + + +
+ ); +}; + +function AccountOverview({ }) { + return ( + <> +

Accounts

+
+ Pending #581, + there is currently no way to list accounts.
+ You can perform actions on reported accounts by clicking their name in the report, or searching for a username below. +
+ + + + ); +} + +function AccountSearchForm() { + const [searchAccount, result] = query.useSearchAccountMutation(); + + const [onAccountChange, _resetAccount, { account }] = useTextInput("account"); + + function submitSearch(e) { + e.preventDefault(); + if (account.trim().length != 0) { + searchAccount(account); + } + } + + return ( +
+
+
+ +
+ +