summaryrefslogtreecommitdiff
path: root/web/source/settings/admin/emoji/local
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-04-13 13:25:10 +0200
committerLibravatar GitHub <noreply@github.com>2024-04-13 13:25:10 +0200
commit89e0cfd8741b6763ca04e90558bccf4c3c380cfa (patch)
tree5858ada73473816fa1982f12717b66996d163f9d /web/source/settings/admin/emoji/local
parent[performance] update GetAccountsByIDs() to use the new multi cache loader end... (diff)
downloadgotosocial-89e0cfd8741b6763ca04e90558bccf4c3c380cfa.tar.xz
[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 <grufwub@gmail.com>
Diffstat (limited to 'web/source/settings/admin/emoji/local')
-rw-r--r--web/source/settings/admin/emoji/local/detail.js36
-rw-r--r--web/source/settings/admin/emoji/local/index.tsx (renamed from web/source/settings/admin/emoji/local/index.js)12
-rw-r--r--web/source/settings/admin/emoji/local/new-emoji.tsx (renamed from web/source/settings/admin/emoji/local/new-emoji.js)48
-rw-r--r--web/source/settings/admin/emoji/local/overview.js2
4 files changed, 49 insertions, 49 deletions
diff --git a/web/source/settings/admin/emoji/local/detail.js b/web/source/settings/admin/emoji/local/detail.js
index 18a681b6e..a78e3e499 100644
--- a/web/source/settings/admin/emoji/local/detail.js
+++ b/web/source/settings/admin/emoji/local/detail.js
@@ -17,29 +17,25 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-const React = require("react");
-const { useRoute, Link, Redirect } = require("wouter");
+import React, { useEffect } from "react";
+import { useRoute, Link, Redirect } from "wouter";
-const { useComboBoxInput, useFileInput, useValue } = require("../../../lib/form");
-const { CategorySelect } = require("../category-select");
+import { useComboBoxInput, useFileInput, useValue } from "../../../lib/form";
+import { CategorySelect } from "../category-select";
-const useFormSubmit = require("../../../lib/form/submit").default;
-const { useBaseUrl } = require("../../../lib/navigation/util");
+import useFormSubmit from "../../../lib/form/submit";
+import { useBaseUrl } from "../../../lib/navigation/util";
-const FakeToot = require("../../../components/fake-toot");
-const FormWithData = require("../../../lib/form/form-with-data").default;
-const Loading = require("../../../components/loading");
-const { FileInput } = require("../../../components/form/inputs");
-const MutationButton = require("../../../components/form/mutation-button");
-const { Error } = require("../../../components/error");
+import FakeToot from "../../../components/fake-toot";
+import FormWithData from "../../../lib/form/form-with-data";
+import Loading from "../../../components/loading";
+import { FileInput } from "../../../components/form/inputs";
+import MutationButton from "../../../components/form/mutation-button";
+import { Error } from "../../../components/error";
-const {
- useGetEmojiQuery,
- useEditEmojiMutation,
- useDeleteEmojiMutation,
-} = require("../../../lib/query/admin/custom-emoji");
+import { useGetEmojiQuery, useEditEmojiMutation, useDeleteEmojiMutation } from "../../../lib/query/admin/custom-emoji";
-module.exports = function EmojiDetailRoute({ }) {
+export default function EmojiDetailRoute({ }) {
const baseUrl = useBaseUrl();
let [_match, params] = useRoute(`${baseUrl}/:emojiId`);
if (params?.emojiId == undefined) {
@@ -52,7 +48,7 @@ module.exports = function EmojiDetailRoute({ }) {
</div>
);
}
-};
+}
function EmojiDetailForm({ data: emoji }) {
const baseUrl = useBaseUrl();
@@ -68,7 +64,7 @@ function EmojiDetailForm({ data: emoji }) {
const [modifyEmoji, result] = useFormSubmit(form, useEditEmojiMutation());
// Automatic submitting of category change
- React.useEffect(() => {
+ useEffect(() => {
if (
form.category.hasChanged() &&
!form.category.state.open &&
diff --git a/web/source/settings/admin/emoji/local/index.js b/web/source/settings/admin/emoji/local/index.tsx
index 008bd7a61..74a891f3e 100644
--- a/web/source/settings/admin/emoji/local/index.js
+++ b/web/source/settings/admin/emoji/local/index.tsx
@@ -17,13 +17,13 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-const React = require("react");
-const { Switch, Route } = require("wouter");
+import React from "react";
+import { Switch, Route } from "wouter";
-const EmojiOverview = require("./overview");
-const EmojiDetail = require("./detail");
+import EmojiOverview from "./overview";
+import EmojiDetail from "./detail";
-module.exports = function CustomEmoji({ baseUrl }) {
+export default function CustomEmoji({ baseUrl }) {
return (
<Switch>
<Route path={`${baseUrl}/:emojiId`}>
@@ -32,4 +32,4 @@ module.exports = function CustomEmoji({ baseUrl }) {
<EmojiOverview />
</Switch>
);
-};
+}
diff --git a/web/source/settings/admin/emoji/local/new-emoji.js b/web/source/settings/admin/emoji/local/new-emoji.tsx
index 6c0d0f2f4..c6a203765 100644
--- a/web/source/settings/admin/emoji/local/new-emoji.js
+++ b/web/source/settings/admin/emoji/local/new-emoji.tsx
@@ -17,31 +17,26 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-const React = require("react");
+import React, { useMemo, useEffect } from "react";
-const {
- useFileInput,
- useComboBoxInput
-} = require("../../../lib/form");
-const useShortcode = require("./use-shortcode");
+import { useFileInput, useComboBoxInput } from "../../../lib/form";
+import useShortcode from "./use-shortcode";
-const useFormSubmit = require("../../../lib/form/submit").default;
+import useFormSubmit from "../../../lib/form/submit";
-const {
- TextInput, FileInput
-} = require("../../../components/form/inputs");
+import { TextInput, FileInput } from "../../../components/form/inputs";
-const { CategorySelect } = require('../category-select');
-const FakeToot = require("../../../components/fake-toot");
-const MutationButton = require("../../../components/form/mutation-button");
-const { useAddEmojiMutation } = require("../../../lib/query/admin/custom-emoji");
-const { useInstanceV1Query } = require("../../../lib/query");
+import { CategorySelect } from '../category-select';
+import FakeToot from "../../../components/fake-toot";
+import MutationButton from "../../../components/form/mutation-button";
+import { useAddEmojiMutation } from "../../../lib/query/admin/custom-emoji";
+import { useInstanceV1Query } from "../../../lib/query";
-module.exports = function NewEmojiForm() {
+export default function NewEmojiForm() {
const shortcode = useShortcode();
const { data: instance } = useInstanceV1Query();
- const emojiMaxSize = React.useMemo(() => {
+ const emojiMaxSize = useMemo(() => {
return instance?.configuration?.emojis?.emoji_size_limit ?? 50 * 1024;
}, [instance]);
@@ -56,8 +51,8 @@ module.exports = function NewEmojiForm() {
shortcode, image, category
}, useAddEmojiMutation());
- React.useEffect(() => {
- if (shortcode.value.length == 0) {
+ useEffect(() => {
+ if (shortcode.value === undefined || shortcode.value.length == 0) {
if (image.value != undefined) {
let [name, _ext] = image.value.name.split(".");
shortcode.setter(name);
@@ -71,7 +66,7 @@ module.exports = function NewEmojiForm() {
/* eslint-disable-next-line react-hooks/exhaustive-deps */
}, [image.value]);
- let emojiOrShortcode = `:${shortcode.value}:`;
+ let emojiOrShortcode;
if (image.previewValue != undefined) {
emojiOrShortcode = <img
@@ -80,6 +75,10 @@ module.exports = function NewEmojiForm() {
title={`:${shortcode.value}:`}
alt={shortcode.value}
/>;
+ } else if (shortcode.value !== undefined && shortcode.value.length > 0) {
+ emojiOrShortcode = `:${shortcode.value}:`;
+ } else {
+ emojiOrShortcode = `:your_emoji_here:`;
}
return (
@@ -103,10 +102,15 @@ module.exports = function NewEmojiForm() {
<CategorySelect
field={category}
+ children={[]}
/>
- <MutationButton label="Upload emoji" result={result} />
+ <MutationButton
+ disabled={image.previewValue === undefined}
+ label="Upload emoji"
+ result={result}
+ />
</form>
</div>
);
-}; \ No newline at end of file
+} \ No newline at end of file
diff --git a/web/source/settings/admin/emoji/local/overview.js b/web/source/settings/admin/emoji/local/overview.js
index 44b11f584..45bfd614d 100644
--- a/web/source/settings/admin/emoji/local/overview.js
+++ b/web/source/settings/admin/emoji/local/overview.js
@@ -22,7 +22,7 @@ const { Link } = require("wouter");
const syncpipe = require("syncpipe");
const { matchSorter } = require("match-sorter");
-const NewEmojiForm = require("./new-emoji");
+const NewEmojiForm = require("./new-emoji").default;
const { useTextInput } = require("../../../lib/form");
const { useEmojiByCategory } = require("../category-select");