diff options
| author | 2024-11-21 14:09:58 +0100 | |
|---|---|---|
| committer | 2024-11-21 13:09:58 +0000 | |
| commit | 301543616b5376585a7caff097499421acdf1806 (patch) | |
| tree | 4cac6aea2c33687b1339fc3bc18e6eb64def6f9a /web/source/settings/views/moderation/accounts | |
| parent | [feature] Allow emoji shortcode to be 1-character length (#3556) (diff) | |
| download | gotosocial-301543616b5376585a7caff097499421acdf1806.tar.xz | |
[feature] Add domain permission drafts and excludes (#3547)
* [feature] Add domain permission drafts and excludes
* fix typescript complaining
* lint
* make filenames more consistent
* test own domain excluded
Diffstat (limited to 'web/source/settings/views/moderation/accounts')
| -rw-r--r-- | web/source/settings/views/moderation/accounts/pending/index.tsx | 4 | ||||
| -rw-r--r-- | web/source/settings/views/moderation/accounts/search/index.tsx | 29 |
2 files changed, 6 insertions, 27 deletions
diff --git a/web/source/settings/views/moderation/accounts/pending/index.tsx b/web/source/settings/views/moderation/accounts/pending/index.tsx index f03c4800c..10f7d726a 100644 --- a/web/source/settings/views/moderation/accounts/pending/index.tsx +++ b/web/source/settings/views/moderation/accounts/pending/index.tsx @@ -21,7 +21,7 @@ import React, { ReactNode } from "react"; import { useSearchAccountsQuery } from "../../../../lib/query/admin"; import { PageableList } from "../../../../components/pageable-list"; import { useLocation } from "wouter"; -import Username from "../../../../components/username"; +import UsernameLozenge from "../../../../components/username-lozenge"; import { AdminAccount } from "../../../../lib/types/account"; export default function AccountsPending() { @@ -32,7 +32,7 @@ export default function AccountsPending() { function itemToEntry(account: AdminAccount): ReactNode { const acc = account.account; return ( - <Username + <UsernameLozenge key={acc.acct} account={account} linkTo={`/${account.id}`} diff --git a/web/source/settings/views/moderation/accounts/search/index.tsx b/web/source/settings/views/moderation/accounts/search/index.tsx index 504746adc..3b9e53ba2 100644 --- a/web/source/settings/views/moderation/accounts/search/index.tsx +++ b/web/source/settings/views/moderation/accounts/search/index.tsx @@ -26,8 +26,8 @@ import { Select, TextInput } from "../../../../components/form/inputs"; import MutationButton from "../../../../components/form/mutation-button"; import { useLocation, useSearch } from "wouter"; import { AdminAccount } from "../../../../lib/types/account"; -import Username from "../../../../components/username"; -import isValidDomain from "is-valid-domain"; +import UsernameLozenge from "../../../../components/username-lozenge"; +import { formDomainValidator } from "../../../../lib/util/formvalidators"; export function AccountSearchForm() { const [ location, setLocation ] = useLocation(); @@ -45,28 +45,7 @@ export function AccountSearchForm() { display_name: useTextInput("display_name", { defaultValue: urlQueryParams.get("display_name") ?? ""}), by_domain: useTextInput("by_domain", { defaultValue: urlQueryParams.get("by_domain") ?? "", - validator: (v: string) => { - if (v.length === 0) { - return ""; - } - - if (v[v.length-1] === ".") { - return "invalid domain"; - } - - const valid = isValidDomain(v, { - subdomain: true, - wildcard: false, - allowUnicode: true, - topLevel: false, - }); - - if (valid) { - return ""; - } - - return "invalid domain"; - } + validator: formDomainValidator, }), email: useTextInput("email", { defaultValue: urlQueryParams.get("email") ?? ""}), ip: useTextInput("ip", { defaultValue: urlQueryParams.get("ip") ?? ""}), @@ -114,7 +93,7 @@ export function AccountSearchForm() { function itemToEntry(account: AdminAccount): ReactNode { const acc = account.account; return ( - <Username + <UsernameLozenge key={acc.acct} account={account} linkTo={`/${account.id}`} |
