summaryrefslogtreecommitdiff
path: root/web/source/settings/admin/accounts/search/index.tsx
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-04-24 12:12:47 +0200
committerLibravatar GitHub <noreply@github.com>2024-04-24 11:12:47 +0100
commit7a1e6394831fb07e303c5ed0900dfe1ea4820de5 (patch)
treebcd526463b19a85fbe821dcad2276da401daec18 /web/source/settings/admin/accounts/search/index.tsx
parent[chore]: Bump codeberg.org/gruf/go-mutexes from 1.4.0 to 1.4.1 (#2860) (diff)
downloadgotosocial-7a1e6394831fb07e303c5ed0900dfe1ea4820de5.tar.xz
[chore] Refactor settings panel routing (and other fixes) (#2864)
Diffstat (limited to 'web/source/settings/admin/accounts/search/index.tsx')
-rw-r--r--web/source/settings/admin/accounts/search/index.tsx125
1 files changed, 0 insertions, 125 deletions
diff --git a/web/source/settings/admin/accounts/search/index.tsx b/web/source/settings/admin/accounts/search/index.tsx
deleted file mode 100644
index 560bbb76a..000000000
--- a/web/source/settings/admin/accounts/search/index.tsx
+++ /dev/null
@@ -1,125 +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 <http://www.gnu.org/licenses/>.
-*/
-
-import React from "react";
-
-import { useLazySearchAccountsQuery } from "../../../lib/query";
-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 [searchAcct, searchRes] = useLazySearchAccountsQuery();
-
- 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);
- }
-
- return (
- <>
- <form onSubmit={submitSearch}>
- <TextInput
- field={form.username}
- label={"(Optional) username (without leading '@' symbol)"}
- placeholder="someone"
- />
- <TextInput
- field={form.by_domain}
- label={"(Optional) domain"}
- placeholder="example.org"
- />
- <Select
- field={form.origin}
- label="Account origin"
- options={
- <>
- <option value="">Local or remote</option>
- <option value="local">Local only</option>
- <option value="remote">Remote only</option>
- </>
- }
- ></Select>
- <TextInput
- field={form.email}
- label={"(Optional) email address (local accounts only)"}
- placeholder={"someone@example.org"}
- />
- <TextInput
- field={form.ip}
- label={"(Optional) IP address (local accounts only)"}
- placeholder={"198.51.100.0"}
- />
- <Select
- field={form.status}
- label="Account status"
- options={
- <>
- <option value="">Any</option>
- <option value="pending">Pending only</option>
- <option value="disabled">Disabled only</option>
- <option value="suspended">Suspended only</option>
- </>
- }
- ></Select>
- <MutationButton
- disabled={false}
- label={"Search"}
- result={searchRes}
- />
- </form>
- <AccountList
- isLoading={searchRes.isLoading}
- isSuccess={searchRes.isSuccess}
- data={searchRes.data}
- isError={searchRes.isError}
- error={searchRes.error}
- emptyMessage="No accounts found that match your query"
- />
- </>
- );
-}