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 --- web/source/settings/admin/reports/detail.jsx | 252 ------------------------- web/source/settings/admin/reports/detail.tsx | 252 +++++++++++++++++++++++++ web/source/settings/admin/reports/index.jsx | 103 ---------- web/source/settings/admin/reports/index.tsx | 103 ++++++++++ web/source/settings/admin/reports/username.jsx | 54 ------ web/source/settings/admin/reports/username.tsx | 54 ++++++ 6 files changed, 409 insertions(+), 409 deletions(-) delete mode 100644 web/source/settings/admin/reports/detail.jsx create mode 100644 web/source/settings/admin/reports/detail.tsx delete mode 100644 web/source/settings/admin/reports/index.jsx create mode 100644 web/source/settings/admin/reports/index.tsx delete mode 100644 web/source/settings/admin/reports/username.jsx create mode 100644 web/source/settings/admin/reports/username.tsx (limited to 'web/source/settings/admin/reports') diff --git a/web/source/settings/admin/reports/detail.jsx b/web/source/settings/admin/reports/detail.jsx deleted file mode 100644 index 70d576080..000000000 --- a/web/source/settings/admin/reports/detail.jsx +++ /dev/null @@ -1,252 +0,0 @@ -/* - 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 . -*/ - -const React = require("react"); -const { useRoute, Redirect } = require("wouter"); - -const FormWithData = require("../../lib/form/form-with-data").default; -const BackButton = require("../../components/back-button"); - -const { useValue, useTextInput } = require("../../lib/form"); -const useFormSubmit = require("../../lib/form/submit").default; - -const { TextArea } = require("../../components/form/inputs"); - -const MutationButton = require("../../components/form/mutation-button"); -const Username = require("./username"); -const { useBaseUrl } = require("../../lib/navigation/util"); -const { - useGetReportQuery, - useResolveReportMutation, -} = require("../../lib/query/admin/reports"); - -module.exports = function ReportDetail({ }) { - const baseUrl = useBaseUrl(); - let [_match, params] = useRoute(`${baseUrl}/:reportId`); - if (params?.reportId == undefined) { - return ; - } else { - return ( -
-

- Report Details -

- -
- ); - } -}; - -function ReportDetailForm({ data: report }) { - const from = report.account; - const target = report.target_account; - - return ( -
-
- reported -
- - {report.action_taken && -
-

Resolved by @{report.action_taken_by_account.account.acct}

- at {new Date(report.action_taken_at).toLocaleString()} -
- Comment: {report.action_taken_comment} -
- } - -
-

Report info:

-
- Created: - {new Date(report.created_at).toLocaleString()} - - Forwarded: {report.forwarded ? "Yes" : "No"} - Category: {report.category} - - Reason: - {report.comment.length > 0 - ?

{report.comment}

- : none provided - } - -
-
- - {!report.action_taken && } - - { - report.statuses.length > 0 && -
-

Reported toots ({report.statuses.length}):

-
- {report.statuses.map((status) => ( - - ))} -
-
- } -
- ); -} - -function ReportActionForm({ report }) { - const form = { - id: useValue("id", report.id), - comment: useTextInput("action_taken_comment") - }; - - const [submit, result] = useFormSubmit(form, useResolveReportMutation(), { changedOnly: false }); - - return ( -
-

Resolving this report

-

- An optional comment can be included while resolving this report. - Useful for providing an explanation about what action was taken (if any) before the report was marked as resolved.
- This will be visible to the user that created the report! -

-