web linting

This commit is contained in:
tobi 2024-04-12 13:54:56 +02:00
parent 0d9925a967
commit bd028e68c2
19 changed files with 85 additions and 89 deletions

View file

@ -32,7 +32,7 @@ import { HandleSignup } from "./handlesignup";
import { AccountActions } from "./actions";
import BackButton from "../../../components/back-button";
export default function AccountDetail({ }) {
export default function AccountDetail() {
// /settings/admin/accounts
const accountsBaseUrl = useBaseUrl();
@ -55,7 +55,7 @@ export default function AccountDetail({ }) {
</div>
);
}
};
}
interface AccountDetailFormProps {
accountsBaseUrl: string,
@ -64,7 +64,7 @@ interface AccountDetailFormProps {
function AccountDetailForm({ data: adminAcct, accountsBaseUrl }: AccountDetailFormProps) {
let yesOrNo = (b: boolean) => {
return b ? "yes" : "no"
return b ? "yes" : "no";
};
let created = new Date(adminAcct.created_at).toDateString();
@ -97,7 +97,7 @@ function AccountDetailForm({ data: adminAcct, accountsBaseUrl }: AccountDetailFo
<div className="info-list-entry">
<dt>Last posted</dt>
<dd>{lastPosted}</dd>
</div>
</div>
<div className="info-list-entry">
<dt>Suspended</dt>
<dd>{yesOrNo(adminAcct.suspended)}</dd>
@ -119,60 +119,60 @@ function AccountDetailForm({ data: adminAcct, accountsBaseUrl }: AccountDetailFo
<dd>{adminAcct.account.following_count}</dd>
</div>
</dl>
{ local &&
// Only show local account details
// if this is a local account!
<>
<h3>Local Account Details</h3>
{ !adminAcct.approved &&
<div className="info">
<i className="fa fa-fw fa-info-circle" aria-hidden="true"></i>
<b>Account is pending.</b>
</div>
}
{ !adminAcct.confirmed &&
<div className="info">
<i className="fa fa-fw fa-info-circle" aria-hidden="true"></i>
<b>Account email not yet confirmed.</b>
</div>
}
<dl className="info-list">
<div className="info-list-entry">
<dt>Email</dt>
<dd>{adminAcct.email} {<b>{adminAcct.confirmed ? "(confirmed)" : "(not confirmed)"}</b> }</dd>
</div>
<div className="info-list-entry">
<dt>Disabled</dt>
<dd>{yesOrNo(adminAcct.disabled)}</dd>
</div>
<div className="info-list-entry">
<dt>Approved</dt>
<dd>{yesOrNo(adminAcct.approved)}</dd>
</div>
<div className="info-list-entry">
<dt>Sign-Up Reason</dt>
<dd>{adminAcct.invite_request ?? <i>none provided</i>}</dd>
</div>
{ (adminAcct.ip && adminAcct.ip !== "0.0.0.0") &&
<div className="info-list-entry">
<dt>Sign-Up IP</dt>
<dd>{adminAcct.ip}</dd>
</div> }
{ adminAcct.locale &&
<div className="info-list-entry">
<dt>Locale</dt>
<dd>{adminAcct.locale}</dd>
</div> }
</dl>
</> }
{ local &&
// Only show local account details
// if this is a local account!
<>
<h3>Local Account Details</h3>
{ !adminAcct.approved &&
<div className="info">
<i className="fa fa-fw fa-info-circle" aria-hidden="true"></i>
<b>Account is pending.</b>
</div>
}
{ !adminAcct.confirmed &&
<div className="info">
<i className="fa fa-fw fa-info-circle" aria-hidden="true"></i>
<b>Account email not yet confirmed.</b>
</div>
}
<dl className="info-list">
<div className="info-list-entry">
<dt>Email</dt>
<dd>{adminAcct.email} {<b>{adminAcct.confirmed ? "(confirmed)" : "(not confirmed)"}</b> }</dd>
</div>
<div className="info-list-entry">
<dt>Disabled</dt>
<dd>{yesOrNo(adminAcct.disabled)}</dd>
</div>
<div className="info-list-entry">
<dt>Approved</dt>
<dd>{yesOrNo(adminAcct.approved)}</dd>
</div>
<div className="info-list-entry">
<dt>Sign-Up Reason</dt>
<dd>{adminAcct.invite_request ?? <i>none provided</i>}</dd>
</div>
{ (adminAcct.ip && adminAcct.ip !== "0.0.0.0") &&
<div className="info-list-entry">
<dt>Sign-Up IP</dt>
<dd>{adminAcct.ip}</dd>
</div> }
{ adminAcct.locale &&
<div className="info-list-entry">
<dt>Locale</dt>
<dd>{adminAcct.locale}</dd>
</div> }
</dl>
</> }
{ local && !adminAcct.approved
?
<HandleSignup
account={adminAcct}
accountsBaseUrl={accountsBaseUrl}
/>
<HandleSignup
account={adminAcct}
accountsBaseUrl={accountsBaseUrl}
/>
:
<AccountActions account={adminAcct} />
<AccountActions account={adminAcct} />
}
</>
);

View file

@ -32,7 +32,7 @@ export default function Accounts({ baseUrl }) {
<AccountOverview />
</Switch>
);
};
}
function AccountOverview({ }) {
return (

View file

@ -21,7 +21,7 @@ import React from "react";
import { useSearchAccountsQuery } from "../../../lib/query";
import { AccountList } from "../../../components/account-list";
export default function AccountsPending({ baseUrl }) {
export default function AccountsPending() {
const searchRes = useSearchAccountsQuery({status: "pending"});
return (
@ -37,4 +37,4 @@ export default function AccountsPending({ baseUrl }) {
/>
</div>
);
};
}

View file

@ -39,7 +39,7 @@ export function AccountSearchForm() {
by_domain: useTextInput("by_domain"),
email: useTextInput("email"),
ip: useTextInput("ip"),
}
};
function submitSearch(e) {
e.preventDefault();
@ -50,14 +50,14 @@ export function AccountSearchForm() {
if (v.value === undefined || v.value.length === 0) {
return null;
}
return [[k, v.value]]
return [[k, v.value]];
}).flatMap(kv => {
// Remove any nulls.
return kv || [];
})
});
const params: SearchAccountParams = Object.fromEntries(entries);
searchAcct(params)
searchAcct(params);
}
return (

View file

@ -60,4 +60,4 @@ export default function ExpireRemote({}) {
/>
</form>
);
};
}

View file

@ -27,4 +27,4 @@ export default function Keys() {
<ExpireRemote />
</>
);
};
}

View file

@ -58,4 +58,4 @@ export default function Cleanup({}) {
/>
</form>
);
};
}

View file

@ -27,4 +27,4 @@ export default function Media() {
<Cleanup />
</>
);
};
}

View file

@ -48,7 +48,7 @@ export default function EmojiDetailRoute({ }) {
</div>
);
}
};
}
function EmojiDetailForm({ data: emoji }) {
const baseUrl = useBaseUrl();

View file

@ -32,4 +32,4 @@ export default function CustomEmoji({ baseUrl }) {
<EmojiOverview />
</Switch>
);
};
}

View file

@ -113,4 +113,4 @@ export default function NewEmojiForm() {
</form>
</div>
);
};
}

View file

@ -51,4 +51,4 @@ export default function RemoteEmoji() {
}
</>
);
};
}

View file

@ -52,7 +52,7 @@ export default function ReportDetail({ }) {
</div>
);
}
};
}
function ReportDetailForm({ data: report }) {
const from = report.account;
@ -249,4 +249,4 @@ function TootMedia({ media, sensitive }) {
))}
</div>
);
}
}

View file

@ -38,7 +38,7 @@ export default function Reports({ baseUrl }) {
</Switch>
</div>
);
};
}
function ReportOverview({ }) {
return (
@ -100,4 +100,4 @@ function ReportEntry({ report }) {
</a>
</Link>
);
}
}

View file

@ -51,4 +51,4 @@ export default function Username({ user, link = true }) {
<span className="sr-only">{icon.info}</span>
</Element>
);
};
}

View file

@ -39,7 +39,7 @@ export default function InstanceRulesData({ baseUrl }) {
{...{baseUrl}}
/>
);
};
}
function InstanceRules({ baseUrl, data: rules }) {
return (
@ -171,4 +171,4 @@ function InstanceRuleForm({ rule }) {
</form>
</div>
);
}
}

View file

@ -19,7 +19,6 @@
import React from "react";
import { Link } from "wouter";
import { useBaseUrl } from "../lib/navigation/util";
import { Error } from "./error";
import { AdminAccount } from "../lib/types/account";
import { SerializedError } from "@reduxjs/toolkit";
@ -41,9 +40,7 @@ export function AccountList({
isError,
error,
emptyMessage,
}: AccountListProps) {
const baseUrl = useBaseUrl();
}: AccountListProps) {
if (!(isSuccess || isError)) {
// Hasn't been called yet.
return null;
@ -54,7 +51,7 @@ export function AccountList({
className="fa fa-fw fa-refresh fa-spin"
aria-hidden="true"
title="Loading..."
/>
/>;
}
if (error) {

View file

@ -69,4 +69,4 @@ export default function MutationButton({
</button>
</div>
);
};
}

View file

@ -66,12 +66,12 @@ const extended = gtsApi.injectEndpoints({
searchAccounts: build.query<AdminAccount[], SearchAccountParams>({
query: (form) => {
const params = new(URLSearchParams)
const params = new(URLSearchParams);
Object.entries(form).forEach(([k, v]) => {
if (v !== undefined) {
params.append(k, v)
params.append(k, v);
}
})
});
let query = "";
if (params.size !== 0) {
@ -80,7 +80,7 @@ const extended = gtsApi.injectEndpoints({
return {
url: `/api/v2/admin/accounts${query}`
}
};
},
providesTags: (res) =>
res
@ -108,13 +108,12 @@ const extended = gtsApi.injectEndpoints({
handleSignup: build.mutation<AdminAccount, HandleSignupParams>({
query: ({id, approve_or_reject, ...formData}) => {
console.log(formData);
return {
method: "POST",
url: `/api/v1/admin/accounts/${id}/${approve_or_reject}`,
asForm: true,
body: approve_or_reject === "reject" ?? formData,
}
};
},
invalidatesTags: (_result, _error, { id }) => [
{ type: 'Account', id },