/* 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 { useLazySearchAccountsQuery } from "../../../../lib/query/admin"; import { useTextInput } from "../../../../lib/form"; import { AccountList } from "../../../../components/account-list"; import { SearchAccountParams } from "../../../../lib/types/account"; import { Select, TextInput } from "../../../../components/form/inputs"; import MutationButton from "../../../../components/form/mutation-button"; export function AccountSearchForm() { const form = { origin: useTextInput("origin"), status: useTextInput("status"), permissions: useTextInput("permissions"), username: useTextInput("username"), display_name: useTextInput("display_name"), by_domain: useTextInput("by_domain"), email: useTextInput("email"), ip: useTextInput("ip"), }; function submitSearch(e) { e.preventDefault(); // Parse query parameters. const entries = Object.entries(form).map(([k, v]) => { // Take only defined form fields. if (v.value === undefined || v.value.length === 0) { return null; } return [[k, v.value]]; }).flatMap(kv => { // Remove any nulls. return kv || []; }); const params: SearchAccountParams = Object.fromEntries(entries); searchAcct(params); } const [ searchAcct, searchRes ] = useLazySearchAccountsQuery(); return ( <>
); }